InverseCoder: Unleashing the Power of Instruction-Tuned Code LLMs with
  Inverse-Instruct
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.
668c9c719f4aead59cf00fef
Yutong Wu
claimed_verified
2024-07-09T07:42:06.880Z
64e42be971139393aa3dd90a
https://cdn-avatars.huggingface.co/v1/production/uploads/64e42be971139393aa3dd90a/N7CwgOiU6rx5FTIfLO1Yo.png
Yutong Wu
user
wyt2000
668c9c719f4aead59cf00ff0
Di Huang
668c9c719f4aead59cf00ff1
Wenxuan Shi
668c9c719f4aead59cf00ff2
Wei Wang
668c9c719f4aead59cf00ff3
Lingzhe Gao
admin_assigned
2024-07-09T08:39:58.699Z
64bbe24a8e051085bada61e8
/avatars/ff9131485c3797671a38ed45af9de807.svg
Lingzhe Gao
user
youlitaiglz
668c9c719f4aead59cf00ff4
Shihao Liu
668c9c719f4aead59cf00ff5
Ziyuan Nan
668c9c719f4aead59cf00ff6
Kaizhao Yuan
668c9c719f4aead59cf00ff7
Rui Zhang
668c9c719f4aead59cf00ff8
Xishan Zhang
668c9c719f4aead59cf00ff9
Zidong Du
668c9c719f4aead59cf00ffa
Qi Guo
668c9c719f4aead59cf00ffb
Yewen Pu
668c9c719f4aead59cf00ffc
Dawei Yin
668c9c719f4aead59cf00ffd
Xing Hu
668c9c719f4aead59cf00ffe
Yunji Chen
InverseCoder: Unleashing the Power of Instruction-Tuned Code LLMs with
  Inverse-Instruct
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.
A self-generating approach, INVERSE-INSTRUCT, improves instruction-tuned code LLMs by summarizing code to generate additional high-quality instructions, leading to better performance on various benchmarks.
instruction tuning code LLM INVERSE-INSTRUCT code summarization self-evaluation Python text-to-code generation multilingual coding data-science code generation