HyperAIHyperAI
il y a 13 jours

CodeChain : Vers une génération modulaire du code par chaîne de révisions auto-référentielles avec des sous-modules représentatifs

Hung Le, Hailin Chen, Amrita Saha, Akash Gokul, Doyen Sahoo, Shafiq Joty
CodeChain : Vers une génération modulaire du code par chaîne de révisions auto-référentielles avec des sous-modules représentatifs
Résumé

Les grands modèles linguistiques (LLM) sont déjà devenus assez performants pour résoudre des tâches de programmation plus simples, telles que celles des benchmarks HumanEval ou MBPP. Toutefois, la résolution de tâches de programmation plus complexes et compétitives reste encore un défi important pour ces modèles, probablement en raison de leur tendance à produire des solutions sous forme de blocs de code monolithiques, plutôt que de les décomposer en sous-tâches et sous-modules logiques. À l’inverse, les programmeurs expérimentés écrivent instinctivement du code modularisé, en utilisant des abstractions pour traiter des problèmes complexes, souvent en réutilisant des modules déjà développés. Pour combler cet écart, nous proposons CodeChain, un cadre novateur d’inférence qui incite la génération de code modularisé grâce à une chaîne de révisions auto-référentielles, chaque étape étant guidée par certains sous-modules représentatifs générés lors des itérations précédentes. Plus précisément, CodeChain commence par inciter le LLM à produire du code modularisé via une stratégie de raisonnement en chaîne (chain-of-thought prompting). Ensuite, il applique une chaîne de révisions auto-référentielles en itérant deux étapes : 1) extraire et regrouper les sous-modules générés, puis sélectionner les représentants de chaque cluster comme implémentations plus générales et réutilisables ; et 2) enrichir le prompt initial de raisonnement en chaîne avec ces implémentations sélectionnées, puis inciter le LLM à régénérer de nouvelles solutions modularisées. Nous constatons qu’en incitant naturellement le LLM à réutiliser des sous-modules précédemment développés et validés, CodeChain améliore significativement à la fois la modularité et la correction des solutions générées, obtenant des gains relatifs de 35 % en pass@1 sur APPS et de 76 % sur CodeContests. Ce cadre s’avère efficace aussi bien sur des LLM d’OpenAI que sur des modèles open-source comme WizardCoder. Nous menons également des études d’ablation approfondies, en variant les méthodes de prompt, le nombre de clusters, la taille des modèles, la qualité des programmes, etc., afin d’offrir des insights utiles expliquant les causes de la réussite de CodeChain.

CodeChain : Vers une génération modulaire du code par chaîne de révisions auto-référentielles avec des sous-modules représentatifs | Articles de recherche récents | HyperAI