ChatPaper.aiChatPaper

InverseCoder: Ontketen de Kracht van Instructie-afgestemde Code LLM's met Inverse-Instruct

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

July 8, 2024
Auteurs: 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

Samenvatting

Recente vooruitgang in open-source grote taalmodellen (LLMs) voor code heeft opmerkelijke programmeervaardigheden aangetoond door fine-tuning op gegevens die gegenereerd zijn uit krachtige closed-source LLMs zoals GPT-3.5 en GPT-4 voor instructie-afstemming. Dit artikel onderzoekt hoe een instructie-afgestemd code-LLM verder verbeterd kan worden door gegevens te genereren vanuit zichzelf in plaats van closed-source LLMs te raadplegen. Onze belangrijkste observatie is de misalignering tussen de vertaling van formele en informele talen: het vertalen van formele taal (d.w.z. code) naar informele taal (d.w.z. natuurlijke taal) is eenvoudiger dan het omgekeerde. Op basis van deze observatie stellen we INVERSE-INSTRUCT voor, dat instructies samenvat uit codefragmenten in plaats van het omgekeerde. Specifiek, gegeven een instructie-afstemmingscorpus voor code en het resulterende instructie-afgestemde code-LLM, vragen we het code-LLM om aanvullende hoogwaardige instructies te genereren voor het oorspronkelijke corpus via codesamenvatting en zelfevaluatie. Vervolgens fine-tunen we het basis-LLM op de combinatie van het oorspronkelijke corpus en het zelfgegenereerde corpus, wat resulteert in een sterker instructie-afgestemd LLM. We presenteren een reeks code-LLMs genaamd InverseCoder, die de prestaties van de oorspronkelijke code-LLMs overtreffen op een breed scala aan benchmarks, waaronder Python tekst-naar-code generatie, meertalig programmeren en data-science codegeneratie.
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.
PDF142November 28, 2024