L’Impact des Modèles de Langage de Code Adaptés aux Instructions sur les Tâches de Génie Logiciel

Une recherche récente a mis en lumière les capacités impressionnantes des Grands Modèles de Langage (GML) entraînés sur le Code pour diverses tâches de génie logiciel. Ces modèles peuvent être classés en trois principaux paradigmes, à savoir les GML spécialisés dans le complètement de code, les GML adaptés à des tâches spécifiques et les GML adaptés aux instructions capables de suivre des instructions humaines et d’exceller dans de nouvelles tâches sans aucun réglage supplémentaire.

Afin d’explorer davantage le potentiel des GML adaptés aux instructions, un groupe de chercheurs de l’Université Monash et du ServiceNow Research présente ASTRAIOS, une collection composée de 28 GML adaptés aux instructions. Ces modèles sont affinés en utilisant sept méthodes différentes basées sur les modèles de base de StarCoder, avec des tailles de modèles variables allant de 1B à 16B. Le processus d’affinage utilise l’ensemble de données CommitPackFT d’OctoPack pour garantir une amélioration globale des capacités des modèles.

Les chercheurs utilisent des pratiques recommandées des configurations PEFT de Hugging Face et fusionnent des méthodes sélectionnées à partir de frameworks récents. Ils se concentrent principalement sur l’évaluation de la scalabilité en évaluant la perte de la croisée-entropie lors de l’affinage des instructions, en tenant compte de la taille du modèle et du temps d’entraînement.

De plus, les chercheurs évaluent les performances de leurs GML adaptés aux instructions sur cinq tâches représentatives liées au code : détection de clones, détection de défauts, synthèse de code, réparation de code et explication de code. Ils analysent également la robustesse des modèles et la sécurité du code en évaluant leur capacité à générer du code à partir d’exemples perturbés et à identifier les vulnérabilités potentielles dans le code généré.

Fait intéressant, l’étude révèle que si les GML Code PEFT plus grands excellent dans les tâches de génération de code, ils ne présentent pas les mêmes avantages dans les tâches de compréhension de code telles que la détection de clones et la détection de défauts. L’augmentation de la taille du modèle améliore les performances de génération, mais soulève des inquiétudes quant à la susceptibilité aux exemples adversaires et à un biais en faveur de code non sécurisé.

La relation entre les paramètres mis à jour, la perte de croisée-entropie et les performances des tâches est explorée en profondeur. Les chercheurs constatent que la perte finale des modèles PEFT plus petits peut être utilisée pour prédire celle des modèles plus grands, et qu’il existe une forte corrélation entre la dernière perte et les performances globales dans les tâches ultérieures.

De plus, l’étude met en évidence la cohérence des performances relatives de perte entre différentes tailles de modèles lors de la comparaison de différentes méthodes d’affinage. Cela indique que les améliorations obtenues par chaque méthode d’affinage sont comparables quelle que soit l’échelle du modèle. Par conséquent, la perte observée dans les modèles plus petits affinés avec différentes méthodes peut servir d’indicateur précieux pour prédire les performances des modèles plus grands.

La collection ASTRAIOS, ainsi que l’article de recherche et le référentiel Github, fournissent des informations précieuses sur le potentiel des modèles de langage de code adaptés aux instructions pour faire progresser les tâches de génie logiciel.

The source of the article is from the blog papodemusica.com

Privacy policy
Contact