ChatPaper.aiChatPaper

InverseCoder: Die Kraft von Instruktion-angepassten Code LLMs mit Inverse-Instruct entfesseln

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

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

Zusammenfassung

Die jüngsten Fortschritte bei Open-Source-Code-Modellen großer Sprachen (LLMs) haben bemerkenswerte Codierfähigkeiten gezeigt, indem sie durch Feinabstimmung auf den von leistungsstarken Closed-Source-LLMs wie GPT-3.5 und GPT-4 generierten Daten für die Anweisungsabstimmung trainiert wurden. Diese Arbeit untersucht, wie man ein anweisungsabgestimmtes Code-LLM weiter verbessern kann, indem Daten aus sich selbst generiert werden, anstatt Closed-Source-LLMs abzufragen. Unsere Schlüsselbeobachtung ist die Diskrepanz zwischen der Übersetzung formaler und informeller Sprachen: Die Übersetzung formaler Sprache (d.h. Code) in informelle Sprache (d.h. natürliche Sprache) ist einfacher als umgekehrt. Basierend auf dieser Beobachtung schlagen wir INVERSE-INSTRUCT vor, das Anweisungen aus Code-Schnipseln zusammenfasst, anstatt umgekehrt. Konkret fordern wir das Code-LLM auf, zusätzliche hochwertige Anweisungen für das ursprüngliche Korpus durch Code-Zusammenfassung und Selbstbewertung zu generieren, basierend auf einem Anweisungsabstimmungskorpus für Code und dem resultierenden anweisungsabgestimmten Code-LLM. Anschließend feinabstimmen wir das Basis-LLM auf der Kombination aus dem ursprünglichen Korpus und dem selbstgenerierten, was ein stärkeres anweisungsabgestimmtes LLM ergibt. Wir präsentieren eine Reihe von Code-LLMs namens InverseCoder, die die Leistung der ursprünglichen Code-LLMs auf einer Vielzahl von Benchmarks übertreffen, einschließlich der Python-Text-zu-Code-Generierung, mehrsprachiger Codierung und der Code-Generierung für Data Science.
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