本文是LLM系列文章,针对《Semi-Instruct: Bridging Natural-Instruct and Self-Instruct for Code
Large Language Models》的翻译。
摘要
指令调优在用于程序合成任务的代码大型语言模型(Code-LLM)中起着关键作用。目前,收集调优数据的两种主要范式是自然指令(人工编写)和自我指令(自动生成)。自然指令包含多种正确的代码,但缺乏指令-代码对,并且存在嵌套单行代码等不正确的代码格式。相反,自我指示会自动生成正确的配对数据。然而,由于生成重复,它的多样性较低,无法确保代码的正确性。为了连接这两种范式,我们提出了半指导。它首先通过一种类似于自指令的方法将不同但不适当的代码从自然指令转换为适当的指令-代码对。为了验证生成代码的正确性,我们设计了一种新的方法来构建测试用例,通过生成用例的输入,并根据自然指令执行正确的代码来获得输出。最后,为了进行指令调优,保留了多种正确的指令代码对。实验表明,半指导显著优于自然指导和自我指导。此外,随着数据规模的增加,性能稳步提高。我们的代码和数据将公开。