HyperAIHyperAI
il y a 13 jours

Révision par codeur et réévaluation du classement pour la génération de code

Tianyi Zhang, Tao Yu, Tatsunori B. Hashimoto, Mike Lewis, Wen-tau Yih, Daniel Fried, Sida I. Wang
Révision par codeur et réévaluation du classement pour la génération de code
Résumé

L’échantillonnage de programmes diversifiés à partir d’un modèle de langage de code, suivi d’un reranking basé sur la probabilité du modèle, est une méthode courante pour la génération de code, mais elle est sujette à privilégier des solutions dégénérées. Inspirés par la programmation collaborative, nous proposons une méthode de reranking appelée Coder-Reviewer. Nous enrichissons les modèles Coder issus de travaux antérieurs — qui génèrent des programmes à partir d'instructions en langage naturel — en leur ajoutant des modèles Reviewer, capables d’évaluer la probabilité de l'instruction donnée à partir du programme généré. Nous menons une étude approfondie sur six jeux de données, en utilisant huit modèles issus de trois familles de modèles. Les résultats expérimentaux montrent que le reranking Coder-Reviewer conduit à des améliorations constantes et significatives (jusqu’à +17 % en précision absolue) par rapport au reranking uniquement basé sur le modèle Coder. Lorsqu’il est combiné au filtrage par exécution possible, le reranking Coder-Reviewer peut souvent surpasser la méthode du risque bayésien minimal. Ce reranking est facile à implémenter via des prompts, se généralise à différentes langues de programmation, et fonctionne efficacement avec des hyperparamètres standards.

Révision par codeur et réévaluation du classement pour la génération de code | Articles de recherche récents | HyperAI