Generar código con Comentarios de ejecución es difícil porque los errores a menudo requieren múltiples correcciones, y arreglarlas de manera estructurada no es simple. Los modelos de capacitación para aprender de la retroalimentación de la ejecución son necesarios, pero los enfoques enfrentan desafíos. Algunos métodos intentan corregir errores en un solo paso, pero fallarán cuando se necesitan múltiples refinamientos. Otros usan técnicas de aprendizaje complejas para optimizar las mejoras a largo plazo. Aún así, estos métodos luchan con las señales de aprendizaje débiles, lo que hace que la capacitación sea lenta e ineficiente: la falta de un método efectivo para manejar correcciones iterativas da como resultado un aprendizaje inestable y un bajo rendimiento.
Actualmente, sistemas basados en la solicitud Trate de resolver tareas de varios pasos utilizando autodesbugging, generación de pruebas y reflexión, pero mejore solo ligeramente. Algunos métodos entrenan modelos de recompensa como Coderl para arreglar errores y ARQUERO para la toma de decisiones estructuradas, mientras que otros usan Búsqueda de árboles de Monte Carlo (MCTS) pero requieren demasiado cálculo. Enfoques basados en verificadores, como “Verifiquemos paso a paso” y Alfacodoayudar a encontrar errores o crear casos de prueba, pero algunos modelos dependen solo de las verificaciones de sintaxis, que no son suficientes para el entrenamiento adecuado. Puntaje limita los pasos de entrenamiento y ELEVAR Utiliza correcciones complejas, haciendo que el aprendizaje sea ineficiente. Agentes ajustados como Incendio, SALTO y modelos basados en retroalimentación como Rl4vlm y Glamour Intenta mejorar el rendimiento. Sin embargo, las técnicas actuales no refinan el código correctamente en múltiples pasos o son demasiado inestables e ineficientes.
Para mitigar estos problemas, los investigadores propusieron µcodeun método de generación de código múltiple que mejora el uso de la retroalimentación de ejecución. Los enfoques existentes enfrentan desafíos con los errores de ejecución y la complejidad del aprendizaje de refuerzo, pero µcode superalos siguiendo un marco de iteración experto con un experto en búsqueda local. Un verificador evalúa la calidad del código, mientras que un generador aprende de las mejores soluciones, refinando su salida en múltiples iteraciones. Durante la inferencia, un Lo mejor de N La estrategia de búsqueda ayuda a generar y mejorar el código en función de los resultados de la ejecución, asegurando un mejor rendimiento.
El marco primero entrena un verificador a través del aprendizaje supervisado para obtener fragmentos de código, lo que hace que las evaluaciones sean más confiables. Entropía binaria predice la corrección, mientras que Bradley-Terry clasifica las soluciones para una mejor selección. Luego, el generador aprende iterativamente al volver a las salidas pasadas con soluciones seleccionadas por expertos, mejorando la precisión. Se producen múltiples soluciones a la inferencia, y el verificador selecciona los mejores resultados de refinación hasta que pasen todas las pruebas. Al tratar la generación de código como un problema de aprendizaje de imitación, µcode elimina la exploración compleja y permite una optimización eficiente.
Los investigadores evaluaron la efectividad de µcode al compararla con los métodos de última generación, analizar el impacto del verificador aprendido durante la capacitación e inferencia, y evaluar las diferentes funciones de pérdida para el entrenamiento del verificador. El generador se inicializó utilizando modelos de LLAMA, y los experimentos se realizaron en conjuntos de datos MBPP y Humaneval. El entrenamiento se realizó en el conjunto de entrenamiento de MBPP, con evaluaciones en su conjunto de pruebas y humaneval. Las comparaciones incluyeron líneas de base de giro único y múltiple como Estrella y Multi–Estrelladonde el ajuste fino se basaba en soluciones generadas correctamente. El rendimiento se midió usando Lo mejor de N (Bon) precisión, con las soluciones candidatas de clasificación de verificador en cada turno.
Los resultados indicaron que los enfoques de múltiples vueltas funcionaron mejor que los métodos de vuelta única, destacando los beneficios de la retroalimentación de ejecución. µcode superó a múltiples estrellas, logrando un 1.9% Mejora en la humaneval con un 1B modelo. BAB Búsqueda de mayor rendimiento mejorado, con µcode que muestra un 12.8% Gane sobre decodificación codiciosa. El Verificador aprendido (LV) Mejores resultados de entrenamiento, superando Verificadores de Oracle (OV) solo. Un análisis posterior mostró que el verificador aprendido ayudó a seleccionar mejores soluciones durante la inferencia, particularmente en ausencia de pruebas públicas. La escala de tiempo de inferencia reveló ganancias de rendimiento decrecientes más allá de un cierto número de soluciones candidatas. Una estrategia de verificación jerárquica (PT+LV) La integración de los resultados de las pruebas públicas con puntajes de verificadores aprendidos proporcionó el mayor rendimiento, mostrando la efectividad del verificador para eliminar soluciones erróneas y hacer predicciones iterativas.
En conclusión, el marco µcode propuesto proporciona un enfoque escalable para la generación de código múltiple utilizando recompensas de un solo paso y un verificador aprendido para la mejora iterativa. Los resultados indican que µCode funciona mejor que los enfoques basados en Oracle, produciendo un código más preciso. Aunque limitado por el tamaño del modelo, el tamaño del conjunto de datos y el enfoque de Python, puede ser una línea de base sólida para el trabajo futuro. Ampliar datos de capacitación, escalar a modelos más grandes y aplicarlos a múltiples lenguajes de programación puede mejorar aún más su efectividad.
Verificar el Papel y Página de Github. Todo el crédito por esta investigación va a los investigadores de este proyecto. Además, siéntete libre de seguirnos Gorjeo Y no olvides unirte a nuestro Subreddit de 80k+ ml.
Divyesh es un pasante de consultoría en MarktechPost. Está buscando un BTech en ingeniería agrícola y alimentaria del Instituto Indio de Tecnología, Kharagpur. Es un entusiasta de la ciencia de datos y el aprendizaje automático que quiere integrar estas tecnologías líderes en el dominio agrícola y resolver desafíos.