ChatPaper.aiChatPaper

InverseCoder : Libérer la puissance des modèles de langage de code ajustés par instructions avec 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

Résumé

Les récentes avancées dans les modèles de langage de grande taille (LLMs) open-source pour le code ont démontré des capacités de codage remarquables grâce à un ajustement fin sur les données générées par des LLMs propriétaires puissants tels que GPT-3.5 et GPT-4 pour le réglage d'instructions. Cet article explore comment améliorer davantage un LLM de code réglé sur des instructions en générant des données à partir de lui-même plutôt qu'en interrogeant des LLMs propriétaires. Notre observation clé est le désalignement entre la traduction des langages formels et informels : traduire un langage formel (c'est-à-dire le code) en langage informel (c'est-à-dire le langage naturel) est plus simple que l'inverse. Sur la base de cette observation, nous proposons INVERSE-INSTRUCT, qui résume les instructions à partir d'extraits de code plutôt que l'inverse. Concrètement, étant donné un corpus de réglage d'instructions pour le code et le LLM de code réglé sur des instructions qui en résulte, nous demandons au LLM de code de générer des instructions supplémentaires de haute qualité pour le corpus original à travers la synthèse de code et l'auto-évaluation. Ensuite, nous ajustons finement le LLM de base sur la combinaison du corpus original et de celui généré automatiquement, ce qui produit un LLM réglé sur des instructions plus performant. Nous présentons une série de LLMs de code nommés InverseCoder, qui surpassent les performances des LLMs de code originaux sur un large éventail de benchmarks, incluant la génération de code à partir de texte en Python, le codage multilingue et la génération de code pour la science des données.
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