Magicoder: Broncode Is Alles Wat Je Nodig Hebt
Magicoder: Source Code Is All You Need
December 4, 2023
Auteurs: Yuxiang Wei, Zhe Wang, Jiawei Liu, Yifeng Ding, Lingming Zhang
cs.AI
Samenvatting
We introduceren Magicoder, een reeks volledig open-source (code, gewichten en data) Large Language Models (LLMs) voor code die de kloof met de beste codemodellen aanzienlijk verkleinen, terwijl ze niet meer dan 7B parameters hebben. Magicoder-modellen zijn getraind op 75K synthetische instructiedata met behulp van OSS-Instruct, een nieuwe benadering om LLMs te verlichten met open-source codefragmenten om hoogwaardige instructiedata voor code te genereren. Onze belangrijkste motivatie is om de inherente bias van de synthetische data die door LLMs wordt gegenereerd te verminderen, door ze te voorzien van een overvloed aan open-source referenties voor het produceren van meer diverse, realistische en controleerbare data. De orthogonaliteit van OSS-Instruct en andere datageneratiemethoden zoals Evol-Instruct stelt ons in staat om een verbeterde MagicoderS te bouwen. Zowel Magicoder als MagicoderS presteren aanzienlijk beter dan state-of-the-art codemodellen van vergelijkbare of zelfs grotere omvang op een breed scala aan codeerbenchmarks, waaronder Python tekst-naar-code generatie, meertalig coderen en data-science programma-afronding. Opmerkelijk is dat MagicoderS-CL-7B, gebaseerd op CodeLlama, zelfs de prominente ChatGPT overtreft op HumanEval+ (66,5 vs. 65,9 in pass@1). Over het algemeen opent OSS-Instruct een nieuwe richting voor instructieafstemming met lage bias en hoge kwaliteit door gebruik te maken van overvloedige open-source referenties.
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.