ChatPaper.aiChatPaper

Magicoder: Il Codice Sorgente È Tutto Ciò di Cui Hai Bisogno

Magicoder: Source Code Is All You Need

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

Abstract

Presentiamo Magicoder, una serie di modelli linguistici di grandi dimensioni (LLM) per il codice completamente open-source (codice, pesi e dati) che riduce significativamente il divario con i migliori modelli per il codice pur avendo non più di 7 miliardi di parametri. I modelli Magicoder sono addestrati su 75.000 dati di istruzioni sintetiche utilizzando OSS-Instruct, un approccio innovativo che sfrutta snippet di codice open-source per illuminare gli LLM e generare dati di istruzioni di alta qualità per il codice. La nostra motivazione principale è mitigare il bias intrinseco dei dati sintetici generati dagli LLM, dotandoli di un'ampia gamma di riferimenti open-source per produrre dati più diversificati, realistici e controllabili. L'ortogonalità di OSS-Instruct rispetto ad altri metodi di generazione dati come Evol-Instruct ci consente inoltre di costruire un MagicoderS potenziato. Sia Magicoder che MagicoderS superano sostanzialmente i modelli per il codice all'avanguardia di dimensioni simili o persino maggiori in un'ampia gamma di benchmark di programmazione, tra cui la generazione di codice da testo in Python, la programmazione multilingue e il completamento di programmi di data science. In particolare, MagicoderS-CL-7B basato su CodeLlama supera persino il noto ChatGPT su HumanEval+ (66,5 contro 65,9 in pass@1). Nel complesso, OSS-Instruct apre una nuova direzione per il tuning delle istruzioni a basso bias e di alta qualità utilizzando abbondanti riferimenti open-source.
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.
PDF824February 7, 2026