RLTF : Apprentissage par Renforcement à partir de Retours de Tests Unitaires
RLTF: Reinforcement Learning from Unit Test Feedback
July 10, 2023
Auteurs: Jiate Liu, Yiqin Zhu, Kaiwen Xiao, Qiang Fu, Xiao Han, Wei Yang, Deheng Ye
cs.AI
Résumé
L'objectif de la synthèse de programmes, ou génération de code, est de produire du code exécutable à partir de descriptions données. Récemment, un nombre croissant d'études ont employé l'apprentissage par renforcement (RL) pour améliorer les performances des grands modèles de langage (LLMs) dans le domaine du code. Cependant, ces méthodes RL n'ont utilisé que des cadres de travail hors ligne, limitant ainsi leur exploration de nouveaux espaces d'échantillonnage. De plus, les approches actuelles qui exploitent les signaux des tests unitaires sont relativement simples, ne tenant pas compte des emplacements spécifiques des erreurs dans le code. Pour résoudre ces problèmes, nous avons proposé RLTF, c'est-à-dire l'Apprentissage par Renforcement à partir des Retours de Tests Unitaires, un nouveau cadre RL en ligne avec des retours de tests unitaires multi-granularité pour affiner les LLMs de code. Notre approche génère des données en temps réel pendant l'entraînement et utilise simultanément des signaux de retour fins pour guider le modèle vers la production de code de meilleure qualité. Des expériences approfondies montrent que RLTF atteint des performances de pointe sur les benchmarks APPS et MBPP. Notre code est disponible à l'adresse suivante : 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.