ChatPaper.aiChatPaper

InverseCoder: Liberando el poder de los LLMs de código ajustados a instrucciones con Inverse-Instruct.

InverseCoder: Unleashing the Power of Instruction-Tuned Code LLMs with Inverse-Instruct

July 8, 2024
Autores: Yutong Wu, Di Huang, Wenxuan Shi, Wei Wang, Lingzhe Gao, Shihao Liu, Ziyuan Nan, Kaizhao Yuan, Rui Zhang, Xishan Zhang, Zidong Du, Qi Guo, Yewen Pu, Dawei Yin, Xing Hu, Yunji Chen
cs.AI

Resumen

Los recientes avances en modelos de lenguaje de código abierto de gran tamaño (LLMs) han demostrado habilidades de codificación notables al ajustarse mediante el uso de datos generados a partir de potentes LLMs de código cerrado como GPT-3.5 y GPT-4 para el ajuste de instrucciones. Este artículo explora cómo mejorar aún más un LLM de código ajustado a instrucciones generando datos a partir de sí mismo en lugar de consultar LLMs de código cerrado. Nuestra observación clave es el desajuste entre la traducción de lenguajes formales e informales: traducir un lenguaje formal (es decir, código) a un lenguaje informal (es decir, lenguaje natural) es más sencillo que a la inversa. Basándonos en esta observación, proponemos INVERSE-INSTRUCT, que resume instrucciones a partir de fragmentos de código en lugar de lo contrario. Específicamente, dado un corpus de ajuste de instrucciones para código y el LLM de código ajustado resultante, pedimos al LLM de código que genere instrucciones adicionales de alta calidad para el corpus original mediante la sumarización de código y la autoevaluación. Luego, ajustamos finamente el LLM base con la combinación del corpus original y el autogenerado, lo que produce un LLM de código ajustado a instrucciones más sólido. Presentamos una serie de LLMs de código llamados InverseCoder, que superan el rendimiento de los LLMs de código originales en una amplia gama de pruebas, incluida la generación de código de texto a código en Python, codificación multilingüe y generación de código para ciencia de datos.
English
Recent advancements in open-source code large language models (LLMs) have demonstrated remarkable coding abilities by fine-tuning on the data generated from powerful closed-source LLMs such as GPT-3.5 and GPT-4 for instruction tuning. This paper explores how to further improve an instruction-tuned code LLM by generating data from itself rather than querying closed-source LLMs. Our key observation is the misalignment between the translation of formal and informal languages: translating formal language (i.e., code) to informal language (i.e., natural language) is more straightforward than the reverse. Based on this observation, we propose INVERSE-INSTRUCT, which summarizes instructions from code snippets instead of the reverse. Specifically, given an instruction tuning corpus for code and the resulting instruction-tuned code LLM, we ask the code LLM to generate additional high-quality instructions for the original corpus through code summarization and self-evaluation. Then, we fine-tune the base LLM on the combination of the original corpus and the self-generated one, which yields a stronger instruction-tuned LLM. We present a series of code LLMs named InverseCoder, which surpasses the performance of the original code LLMs on a wide range of benchmarks, including Python text-to-code generation, multilingual coding, and data-science code generation.

Summary

AI-Generated Summary

PDF142November 28, 2024