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

초록

우리는 코드 생성을 위한 완전 오픈소스(코드, 가중치, 데이터) 대규모 언어 모델(LLM) 시리즈인 Magicoder를 소개합니다. Magicoder는 7B 파라미터 이하의 규모로도 최고 수준의 코드 모델과의 격차를 크게 좁혔습니다. Magicoder 모델은 OSS-Instruct라는 혁신적인 접근법을 통해 75K의 합성 명령어 데이터로 학습되었으며, 이는 오픈소스 코드 스니펫을 활용하여 고품질의 코드 명령어 데이터를 생성하는 방법입니다. 우리의 주요 동기는 LLM이 생성한 합성 데이터의 내재적 편향을 완화하고, 더 다양하고 현실적이며 제어 가능한 데이터 생성을 위해 풍부한 오픈소스 참조 자료를 활용하는 것입니다. OSS-Instruct와 Evol-Instruct와 같은 다른 데이터 생성 방법의 직교성은 우리가 향상된 MagicoderS를 구축할 수 있게 합니다. Magicoder와 MagicoderS 모두 Python 텍스트-코드 생성, 다국어 코딩, 데이터 과학 프로그램 완성 등 다양한 코딩 벤치마크에서 유사하거나 더 큰 규모의 최첨단 코드 모델을 크게 능가합니다. 특히, CodeLlama 기반의 MagicoderS-CL-7B는 HumanEval+에서 유명한 ChatGPT를 능가하기도 했습니다(66.5 vs. 65.9 in 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