Le contenu de ce site a été traduit à l'aide de l'intelligence artificielle (IA) ou d'une technologie de traduction automatique, et peut contenir des erreurs.

Skip to content
Artificial Intelligence
Programming Languages

SelfCodeAlign : auto-alignement pour la génération de code

Author

Yuxiang Wei (Université de l'Illinois à Urbana-Champaign), Federico Cassano (Université Northeastern et Cursor AI), Jiawei Liu (Université de l'Illinois à Urbana-Champaign), Yifeng Ding (Université de l'Illinois à Urbana-Champaign), Naman Jain (Université de Californie à Berkeley), Zachary Mueller (Hugging Face), Harm de Vries (ServiceNow), Leandro von Werra (Hugging Face), Arjun Guha (Université Northeastern et Roblox), Lingming Zhang (Université de l'Illinois à Urbana-Champaign)

Venue

NeurIPS 2024

Abstract

Le réglage des instructions est une approche de réglage fin supervisée qui améliore considérablement la capacité des grands modèles linguistiques (LLM) à suivre les instructions humaines. Nous proposons SelfCodeAlign, le premier pipeline entièrement transparent et permissif permettant l'auto-alignement des LLM de codage sans nécessiter d'annotations humaines exhaustives ni de distillation. SelfCodeAlign utilise le même modèle de base pour l'inférence tout au long du processus de génération de données. Il extrait d'abord divers concepts de codage à partir d'extraits de code de haute qualité pour générer de nouvelles tâches. Il échantillonne ensuite plusieurs réponses par tâche, associe chacune d'elles à des cas de test et les valide dans un environnement sandbox. Enfin, les exemples réussis sont sélectionnés pour l'ajustement des instructions. Dans nos expériences principales, nous utilisons SelfCodeAlign avec CodeQwen1.5-7B pour générer un ensemble de données de 74 000 paires instruction-réponse. L'ajustement fin sur cet ensemble de données aboutit à un modèle qui atteint un score de 67,1 % de réussite sur HumanEval+, surpassant CodeLlama-70B-Instruct bien qu'il soit dix fois plus petit. Sur l'ensemble des benchmarks, ce modèle affiné surpasse systématiquement la version originale entraînée avec OctoPack, la méthode de pointe précédente pour l'ajustement des instructions sans annotations humaines ni distillation. De plus, nous montrons que SelfCodeAlign est efficace sur des LLM de différentes tailles, de 3B à 33B, et que les modèles de base peuvent tirer davantage profit d'un alignement avec leur propre distribution de données. Nous validons en outre l'efficacité de chaque composant de notre pipeline, en montrant que SelfCodeAlign surpasse à la fois la distillation directe à partir de GPT-4o et les principales méthodes de distillation basées sur GPT-3.5, telles que OSS-Instruct et Evol-Instruct. SelfCodeAlign a également conduit à la création de StarCoder2-Instruct, le premier LLM de code entièrement transparent, sous licence permissive et auto-aligné, qui atteint des performances de codage de pointe.