RLTF: Aprendizaje por Refuerzo a partir de Retroalimentación de Pruebas Unitarias
RLTF: Reinforcement Learning from Unit Test Feedback
July 10, 2023
Autores: Jiate Liu, Yiqin Zhu, Kaiwen Xiao, Qiang Fu, Xiao Han, Wei Yang, Deheng Ye
cs.AI
Resumen
El objetivo de la síntesis de programas, o generación de código, es producir código ejecutable a partir de descripciones dadas. Recientemente, ha habido un número creciente de estudios que emplean aprendizaje por refuerzo (RL, por sus siglas en inglés) para mejorar el rendimiento de los modelos de lenguaje de gran escala (LLMs, por sus siglas en inglés) en la generación de código. Sin embargo, estos métodos de RL solo han utilizado marcos de trabajo fuera de línea, lo que limita su exploración de nuevos espacios de muestras. Además, los enfoques actuales que utilizan señales de pruebas unitarias son bastante simples, sin tener en cuenta las ubicaciones específicas de errores dentro del código. Para abordar estos problemas, propusimos RLTF, es decir, Aprendizaje por Refuerzo a partir de Retroalimentación de Pruebas Unitarias, un novedoso marco de RL en línea con retroalimentación de pruebas unitarias de múltiples granularidades para refinar los LLMs de código. Nuestro enfoque genera datos en tiempo real durante el entrenamiento y utiliza simultáneamente señales de retroalimentación detalladas para guiar al modelo hacia la producción de código de mayor calidad. Experimentos exhaustivos muestran que RLTF alcanza un rendimiento de vanguardia en los puntos de referencia APPS y MBPP. Nuestro código se puede encontrar en: https://github.com/Zyq-scut/RLTF.
English
The goal of program synthesis, or code generation, is to generate executable
code based on given descriptions. Recently, there has been an increasing number
of studies employing reinforcement learning (RL) to improve the performance of
large language models (LLMs) for code. However, these RL methods have only used
offline frameworks, limiting their exploration of new sample spaces.
Additionally, current approaches that utilize unit test signals are rather
simple, not accounting for specific error locations within the code. To address
these issues, we proposed RLTF, i.e., Reinforcement Learning from Unit Test
Feedback, a novel online RL framework with unit test feedback of
multi-granularity for refining code LLMs. Our approach generates data in
real-time during training and simultaneously utilizes fine-grained feedback
signals to guide the model towards producing higher-quality code. Extensive
experiments show that RLTF achieves state-of-the-art performance on the APPS
and the MBPP benchmarks. Our code can be found at:
https://github.com/Zyq-scut/RLTF.