RLEF: un enfoque de aprendizaje por refuerzo para aprovechar la retroalimentación de ejecución en la síntesis de código

Los modelos de lenguaje grande (LLM) generan código con la ayuda del procesamiento del lenguaje natural. Existe una aplicación cada vez mayor de la generación de código en tareas complejas como el desarrollo y las pruebas de software. Una amplia alineación con la entrada es crucial para una salida adecuada y libre de errores, pero los desarrolladores lo identificaron como computacionalmente exigente y que requiere mucho tiempo. Por lo tanto, crear un marco para que el algoritmo se mejore continuamente y proporcione retroalimentación en tiempo real en forma de mensajes de error o puntos negativos se volvió primordial para abordar este desafío.

Tradicionalmente, los LLM se han formado en algoritmos de aprendizaje supervisado que emplean grandes conjuntos de datos etiquetados. Son inflexibles y tienen problemas de generalización, lo que dificulta que el LLM se adapte al entorno del usuario. El algoritmo debe generar una cantidad de muestras, lo que aumenta el costo de cálculo. Para abordar este problema se propuso el ciclo de retroalimentación de ejecución, a través del cual los modelos aprendieron a alinear sus resultados con los requisitos de entrada proporcionando retroalimentación de forma iterativa en ese entorno particular. Este mecanismo también redujo la cantidad de muestras generadas. Sin embargo, la dependencia del entorno de ejecución fue una desventaja.

A través de este artículo, un equipo de investigadores de Meta AI presenta un marco de aprendizaje por refuerzo que aprovecha el aumento de código del ciclo de retroalimentación de ejecución. El LLM genera un código basado en las instrucciones del usuario, evalúa algunos casos de prueba públicos y proporciona comentarios. Este proceso construye un bucle iterativo y el algoritmo aprende a trabajar para maximizar la recompensa. La innovación del marco de aprendizaje por refuerzo fue imponer el circuito de retroalimentación para interactuar con varios entornos.

Mientras se entrenan los modelos en RLEF, el refinamiento iterativo del código continúa hasta que se encuentra uno de los puntos finales: todos los casos de prueba públicos tuvieron éxito o se realizó un límite predefinido de iteraciones. Para la validación, la evaluación también se realiza en casos de prueba privados, lo que también ayuda a prevenir casos de sobreajuste. También es posible describir este proceso bajo el Proceso de Decisión de Markov (MDP). El sistema de recompensas está muy definido y los puntos de recompensa positivos solo se otorgan cuando se supera cada caso de prueba. En todos los demás casos siempre hay una sanción. Antes de generar el resultado final, el comportamiento del LLM se ajusta utilizando la optimización de políticas próximas (PPO).

La fuente del código para este experimento se generó durante el análisis comparativo con el punto de referencia CodeContests. Los resultados anteriores indicaron que a través del entrenamiento RLEF, el rendimiento de los modelos mejoró cuando se limitó a unas pocas situaciones de muestra, pero las muestras más grandes no. En los modelos más antiguos, la tasa de resolución aumenta de 4,1 a 12,5 en el conjunto válido y de 3,2 a 12,1 en el conjunto de prueba. Antes del entrenamiento RLEF, la retroalimentación entre turnos no mejoraba los modelos base como el GPT-4 o el 70B Llama 3.1 más grande. Después del entrenamiento RLEF; Los modelos son mucho mejores para mejorar el 70B Llama 3.1 más grande en los escenarios de múltiples turnos a partir de la retroalimentación de salida durante la ejecución. También se observó que los modelos entrenados con RLEF realizan modificaciones de código más diferentes y precisas entre las respuestas en comparación con los modelos que no son RLEF, que a menudo devuelven soluciones erróneas una y otra vez a pesar de obtener orientación.

En conclusión, el aprendizaje por refuerzo con retroalimentación de ejecución (RLEF) es el gran avance para los modelos de lenguajes grandes (LLM) en la generación de código. Por lo tanto, el ciclo de retroalimentación iterativo también es flexible para diferentes configuraciones, mejora el RLEF y aumenta mucho más la capacidad de los modelos para revisar el resultado en función del rendimiento actual. Los hallazgos revelan un aumento en la efectividad del modelo en el procesamiento de conversaciones de múltiples turnos y la reducción del tiempo de cálculo y las tasas de error. RLEF presenta un enfoque sólido para superar los desafíos del aprendizaje supervisado y ayuda a desarrollar una codificación eficiente y adaptable para la ingeniería de software.


Mira el Papel. Todo el crédito por esta investigación va a los investigadores de este proyecto. Además, no olvides seguirnos en Gorjeo y únete a nuestro Canal de telegramas y LinkedIn Grarriba. Si te gusta nuestro trabajo, te encantará nuestro hoja informativa.. No olvides unirte a nuestro SubReddit de más de 50.000 ml

¿Está interesado en promocionar su empresa, producto, servicio o evento ante más de 1 millón de desarrolladores e investigadores de IA? ¡Colaboremos!


Afeerah Naseem es pasante de consultoría en Marktechpost. Está cursando su licenciatura en tecnología en el Instituto Indio de Tecnología (IIT), Kharagpur. Le apasiona la ciencia de datos y le fascina el papel de la inteligencia artificial en la resolución de problemas del mundo real. Le encanta descubrir nuevas tecnologías y explorar cómo pueden hacer que las tareas cotidianas sean más fáciles y eficientes.

Leer más
Back to top button