ChatPaper.aiChatPaper

InverseCoder: Разблокирование потенциала инструкционно настроенных языковых моделей кода с помощью Inverse-Instruct

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

July 8, 2024
Авторы: 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

Аннотация

Недавние достижения в области открытых моделей языка с большим объемом кода (LLM) продемонстрировали выдающиеся способности к программированию путем настройки на данных, сгенерированных мощными закрытыми моделями LLM, такими как GPT-3.5 и GPT-4 для настройки инструкций. В данной статье исследуется, как дальше улучшить LLM для кода, настроенного на инструкции, путем генерации данных из самого себя, а не путем запросов к закрытым моделям LLM. Нашим ключевым наблюдением является несоответствие между переводом формальных и неформальных языков: перевод формального языка (т.е. кода) на неформальный язык (т.е. естественный язык) проще, чем наоборот. Основываясь на этом наблюдении, мы предлагаем INVERSE-INSTRUCT, который резюмирует инструкции из фрагментов кода вместо обратного. Конкретно, имея корпус настройки инструкций для кода и полученный настроенный на инструкции LLM для кода, мы просим LLM для кода сгенерировать дополнительные инструкции высокого качества для исходного корпуса путем суммирования кода и самооценки. Затем мы настраиваем базовый LLM на комбинации исходного корпуса и самосгенерированного, что приводит к более сильному LLM, настроенному на инструкции. Мы представляем серию моделей LLM для кода под названием InverseCoder, которые превосходят производительность исходных моделей LLM для кода на широком спектре бенчмарков, включая генерацию кода на Python из текста, многоязычное программирование и генерацию кода для науки о данных.
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