ChatPaper.aiChatPaper

Magicoder: Исходный код — это всё, что вам нужно

Magicoder: Source Code Is All You Need

December 4, 2023
Авторы: Yuxiang Wei, Zhe Wang, Jiawei Liu, Yifeng Ding, Lingming Zhang
cs.AI

Аннотация

Мы представляем Magicoder — серию полностью открытых (код, веса и данные) больших языковых моделей (LLM) для работы с кодом, которые значительно сокращают разрыв с ведущими моделями для кода, имея при этом не более 7 миллиардов параметров. Модели Magicoder обучаются на 75 тысячах синтетических инструкций с использованием OSS-Instruct — нового подхода, который позволяет LLM использовать фрагменты открытого исходного кода для генерации высококачественных инструкций для работы с кодом. Наша основная мотивация заключается в снижении присущего синтетическим данным, сгенерированным LLM, смещения за счет обогащения моделей множеством открытых источников для создания более разнообразных, реалистичных и контролируемых данных. Ортогональность OSS-Instruct и других методов генерации данных, таких как Evol-Instruct, позволяет нам создать улучшенную версию — MagicoderS. Как Magicoder, так и MagicoderS значительно превосходят современные модели для работы с кодом схожего или даже большего размера на широком спектре тестов, включая генерацию кода из текста на Python, многозадачное кодирование и завершение программ для работы с данными. Примечательно, что MagicoderS-CL-7B, основанная на CodeLlama, даже превосходит известный ChatGPT на тесте HumanEval+ (66.5 против 65.9 по метрике pass@1). В целом, OSS-Instruct открывает новое направление для настройки инструкций с низким уровнем смещения и высоким качеством, используя богатые открытые источники.
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