ChatPaper.aiChatPaper

Magicoder: El Código Fuente Es Todo Lo Que Necesitas

Magicoder: Source Code Is All You Need

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

Resumen

Presentamos Magicoder, una serie de Modelos de Lenguaje de Gran Escala (LLMs) completamente de código abierto (código, pesos y datos) para programación que reduce significativamente la brecha con los mejores modelos de código, a pesar de no superar los 7 mil millones de parámetros. Los modelos Magicoder se entrenan con 75 mil datos de instrucción sintéticos utilizando OSS-Instruct, un enfoque novedoso que ilumina a los LLMs con fragmentos de código de código abierto para generar datos de instrucción de alta calidad para programación. Nuestra principal motivación es mitigar el sesgo inherente de los datos sintéticos generados por LLMs, dotándolos de una amplia variedad de referencias de código abierto para producir datos más diversos, realistas y controlables. La ortogonalidad de OSS-Instruct con otros métodos de generación de datos, como Evol-Instruct, nos permite además construir una versión mejorada, MagicoderS. Tanto Magicoder como MagicoderS superan sustancialmente a los modelos de código más avanzados de tamaños similares o incluso mayores en una amplia gama de benchmarks de programación, incluyendo generación de código a partir de texto en Python, programación multilingüe y completado de programas de ciencia de datos. Destacablemente, MagicoderS-CL-7B, basado en CodeLlama, incluso supera al destacado ChatGPT en HumanEval+ (66.5 vs. 65.9 en pass@1). En general, OSS-Instruct abre una nueva dirección para el ajuste de instrucciones de bajo sesgo y alta calidad utilizando abundantes referencias de código abierto.
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