ChatPaper.aiChatPaper

Magicoder : Le Code Source Est Tout Ce Dont Vous Avez Besoin

Magicoder: Source Code Is All You Need

December 4, 2023
Auteurs: Yuxiang Wei, Zhe Wang, Jiawei Liu, Yifeng Ding, Lingming Zhang
cs.AI

Résumé

Nous présentons Magicoder, une série de modèles de langage de grande taille (LLMs) entièrement open-source (code, poids et données) dédiés au code, qui réduit considérablement l'écart avec les meilleurs modèles de code tout en ne dépassant pas 7 milliards de paramètres. Les modèles Magicoder sont entraînés sur 75 000 données d'instructions synthétiques en utilisant OSS-Instruct, une approche novatrice qui éclaire les LLMs avec des extraits de code open-source pour générer des données d'instructions de haute qualité pour le code. Notre motivation principale est d'atténuer le biais inhérent des données synthétiques générées par les LLMs en les dotant d'une richesse de références open-source pour produire des données plus diversifiées, réalistes et contrôlables. L'orthogonalité d'OSS-Instruct avec d'autres méthodes de génération de données comme Evol-Instruct nous permet également de construire un MagicoderS amélioré. Magicoder et MagicoderS surpassent largement les modèles de code de pointe de tailles similaires ou même supérieures sur une large gamme de benchmarks de codage, incluant la génération de code à partir de texte en Python, le codage multilingue et la complétion de programmes en science des données. Notamment, MagicoderS-CL-7B, basé sur CodeLlama, dépasse même le célèbre ChatGPT sur HumanEval+ (66,5 contre 65,9 en pass@1). Globalement, OSS-Instruct ouvre une nouvelle voie pour un réglage d'instructions à faible biais et de haute qualité en utilisant des références open-source abondantes.
English
We introduce Magicoder, a series of fully open-source (code, weights, and data) Large Language Models (LLMs) for code that significantly closes the gap with top code models while having no more than 7B parameters. Magicoder models are trained on 75K synthetic instruction data using OSS-Instruct, a novel approach to enlightening LLMs with open-source code snippets to generate high-quality instruction data for code. Our main motivation is to mitigate the inherent bias of the synthetic data generated by LLMs by empowering them with a wealth of open-source references for the production of more diverse, realistic, and controllable data. The orthogonality of OSS-Instruct and other data generation methods like Evol-Instruct further enables us to build an enhanced MagicoderS. Both Magicoder and MagicoderS substantially outperform state-of-the-art code models with similar or even larger sizes on a wide range of coding benchmarks, including Python text-to-code generation, multilingual coding, and data-science program completion. Notably, MagicoderS-CL-7B based on CodeLlama even surpasses the prominent ChatGPT on HumanEval+ (66.5 vs. 65.9 in pass@1). Overall, OSS-Instruct opens a new direction for low-bias and high-quality instruction tuning using abundant open-source references.
PDF824December 15, 2024