Self-play with Execution Feedback: Improving Instruction-following Capabilities of Large Language Models
作者: Guanting Dong, Keming Lu, Chengpeng Li, Tingyu Xia, Bowen Yu, Chang Zhou, Jingren Zhou
分类: cs.CL, cs.AI, cs.LG
发布日期: 2024-06-19 (更新: 2024-07-18)
备注: Work in progress
🔗 代码/项目: GITHUB
💡 一句话要点
提出AutoIF,通过执行反馈自博弈提升大语言模型的指令跟随能力
🎯 匹配领域: 支柱二:RL算法与架构 (RL & Architecture) 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 指令跟随 大语言模型 自博弈 执行反馈 数据生成 监督式微调 强化学习 代码验证
📋 核心要点
- 现有方法缺乏自动构建高质量指令跟随训练数据的有效手段,严重依赖人工标注。
- AutoIF的核心在于将指令跟随的验证转化为代码执行的验证,利用LLM生成指令、验证代码和测试用例。
- 实验表明,AutoIF在Qwen2和LLaMA3上,通过SFT、离线DPO和在线DPO等训练方法,显著提升了指令跟随能力。
📝 摘要(中文)
大型语言模型(LLM)的核心能力之一是遵循自然语言指令。然而,在没有人工标注的情况下,如何自动构建高质量的训练数据以增强LLM复杂的指令跟随能力仍然是一个未解决的问题。本文介绍AutoIF,这是一种可扩展且可靠的自动生成指令跟随训练数据的方法。AutoIF将指令跟随数据质量的验证转化为代码验证,要求LLM生成指令、用于检查指令响应正确性的相应代码以及用于验证代码正确性的单元测试样本。然后,基于执行反馈的拒绝采样可以为监督式微调(SFT)和基于人类反馈的强化学习(RLHF)训练生成数据。当应用于顶级的开源LLM,Qwen2和LLaMA3时,AutoIF在自对齐和强到弱的知识蒸馏设置中,通过三种训练算法SFT、离线DPO和在线DPO实现了显著的改进。我们的代码已公开发布在https://github.com/QwenLM/AutoIF。
🔬 方法详解
问题定义:现有的大语言模型指令跟随能力训练依赖于大量人工标注的高质量数据,成本高昂且难以扩展。缺乏一种自动化的、可扩展的生成高质量指令跟随训练数据的方法,是提升LLM指令跟随能力的关键瓶颈。现有方法难以保证生成数据的质量,容易引入噪声,影响模型性能。
核心思路:AutoIF的核心思路是将指令跟随任务的质量验证转化为代码执行的正确性验证。通过让LLM生成指令、用于验证指令响应的代码以及测试代码正确性的单元测试,利用代码执行结果作为反馈信号,自动筛选高质量的指令跟随数据。这种方法避免了人工标注,降低了成本,并提高了数据质量。
技术框架:AutoIF包含以下主要阶段:1) LLM生成指令;2) LLM生成用于验证指令响应的代码;3) LLM生成用于测试代码正确性的单元测试;4) 执行生成的代码和单元测试,获得执行反馈;5) 基于执行反馈,使用拒绝采样筛选高质量的指令跟随数据;6) 使用筛选后的数据进行SFT或RLHF训练。
关键创新:AutoIF最重要的技术创新在于将指令跟随数据质量的验证转化为代码验证。与传统的人工标注或基于规则的生成方法不同,AutoIF利用LLM自身的能力生成验证代码和测试用例,并通过执行反馈自动评估数据质量。这种方法具有更高的自动化程度和可扩展性,能够生成更具多样性和挑战性的训练数据。
关键设计:AutoIF的关键设计包括:1) 使用合适的prompt引导LLM生成高质量的指令、代码和测试用例;2) 设计有效的拒绝采样策略,根据执行反馈筛选数据;3) 选择合适的SFT或RLHF训练算法,利用生成的数据提升模型性能。具体的参数设置和损失函数等细节取决于所使用的LLM和训练算法。
🖼️ 关键图片
📊 实验亮点
AutoIF在Qwen2和LLaMA3等顶级开源LLM上进行了实验,结果表明,通过SFT、离线DPO和在线DPO等训练方法,AutoIF能够显著提升模型的指令跟随能力。具体而言,在自对齐和强到弱的知识蒸馏设置中,AutoIF均取得了显著的性能提升,证明了其有效性和通用性。
🎯 应用场景
AutoIF可应用于各种需要指令跟随能力的大语言模型训练场景,例如智能助手、代码生成、文本摘要等。该方法能够显著降低数据标注成本,提高模型性能,并促进LLM在实际应用中的广泛部署。未来,AutoIF可以扩展到更复杂的任务和领域,例如多模态指令跟随、机器人控制等。
📄 摘要(原文)
One core capability of large language models (LLMs) is to follow natural language instructions. However, the issue of automatically constructing high-quality training data to enhance the complex instruction-following abilities of LLMs without manual annotation remains unresolved. In this paper, we introduce AutoIF, the first scalable and reliable method for automatically generating instruction-following training data. AutoIF transforms the validation of instruction-following data quality into code verification, requiring LLMs to generate instructions, the corresponding code to check the correctness of the instruction responses, and unit test samples to verify the code's correctness. Then, execution feedback-based rejection sampling can generate data for Supervised Fine-Tuning (SFT) and Reinforcement Learning from Human Feedback (RLHF) training. AutoIF achieves significant improvements across three training algorithms, SFT, Offline DPO, and Online DPO, when applied to the top open-source LLMs, Qwen2 and LLaMA3, in self-alignment and strong-to-weak distillation settings. Our code is publicly available at https://github.com/QwenLM/AutoIF.