Instruct-SkillMix: A Powerful Pipeline for LLM Instruction Tuning

📄 arXiv: 2408.14774v4 📥 PDF

作者: Simran Kaur, Simon Park, Anirudh Goyal, Sanjeev Arora

分类: cs.LG, cs.CL

发布日期: 2024-08-27 (更新: 2025-05-28)

期刊: International Conference on Learning Representations (ICLR 2025)

DOI: 10.48550/arXiv.2408.14774


💡 一句话要点

Instruct-SkillMix:一种强大的LLM指令调优自动化流程,低成本生成高质量SFT数据。

🎯 匹配领域: 支柱二:RL算法与架构 (RL & Architecture) 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 指令调优 LLM 技能提取 数据生成 自动化 SFT 元认知

📋 核心要点

  1. 现有指令调优数据集构建成本高昂,且难以保证数据质量和多样性,限制了LLM指令跟随能力的提升。
  2. Instruct-SkillMix通过LLM自动提取技能并组合生成数据,降低了数据构建成本,同时保证了数据的多样性和难度。
  3. 实验表明,仅使用4K个Instruct-SkillMix生成的数据,LLaMA-3-8B-Base在AlpacaEval 2.0上取得了与前沿模型相当的性能。

📝 摘要(中文)

本文提出Instruct-SkillMix,一种自动化的方法,用于创建多样化、高质量的SFT数据,以进行指令跟随。该流程包括两个阶段,每个阶段都利用现有的强大LLM:(1)技能提取:通过直接提示模型,利用LLM提取指令跟随的核心“技能”。这受到了Didolkar等人(2024)的“LLM元认知”的启发;(2)数据生成:使用强大的LLM生成(指令,响应)数据,这些数据展示了随机选择的一对技能。这里,随机技能组合的使用促进了多样性和难度。创建数据集的估计成本低于600美元。在Instruct-SkillMix生成的数据上进行Vanilla SFT(即,没有PPO、DPO或RL方法)导致在指令跟随基准(如AlpacaEval 2.0、MT-Bench和WildBench)上取得了显著的收益。仅使用4K个示例,LLaMA-3-8B-Base在AlpacaEval 2.0上实现了42.76%的长度控制胜率,这一水平与Claude 3 Opus和LLaMA-3.1-405B-Instruct等前沿模型相似。消融研究也表明了为什么通过朴素的众包方式创建开放指令调优数据集已被证明是困难的。在我们的数据集中,添加20%的低质量答案(“偷懒者”)会导致性能的显著下降。Instruct-SkillMix流程似乎灵活且适应于其他设置。

🔬 方法详解

问题定义:论文旨在解决LLM指令调优数据构建的问题。现有方法,如人工标注或简单的LLM生成,成本高昂,难以保证数据质量和多样性,并且容易引入偏见。这些问题限制了LLM在复杂指令跟随任务上的表现。

核心思路:论文的核心思路是利用LLM自身的“元认知”能力,自动提取指令跟随所需的关键技能,然后通过随机组合这些技能来生成多样化、高质量的指令-响应数据。这种方法降低了数据构建成本,并提高了数据的质量和难度。

技术框架:Instruct-SkillMix流程包含两个主要阶段:(1)技能提取:使用LLM直接prompting,提取指令跟随所需的关键技能。例如,可以提示LLM:“列出完成一个菜谱指令需要哪些技能?”。(2)数据生成:使用LLM,根据随机选择的技能组合,生成相应的指令-响应数据。例如,如果选择的技能是“总结”和“翻译”,则LLM需要根据给定的文本生成摘要,并将其翻译成另一种语言。

关键创新:该方法最重要的创新点在于利用LLM的元认知能力自动提取技能,并将其组合生成数据。这与传统的依赖人工标注或简单LLM生成的方法有本质区别,能够更高效地生成高质量、多样化的指令调优数据。

关键设计:在技能提取阶段,需要设计合适的prompt来引导LLM提取有用的技能。在数据生成阶段,需要控制技能组合的随机性,以保证数据的多样性和难度。论文中提到,添加低质量答案(“偷懒者”)会导致性能下降,因此需要对生成的数据进行质量控制。

🖼️ 关键图片

img_0

📊 实验亮点

实验结果表明,仅使用4K个Instruct-SkillMix生成的数据,LLaMA-3-8B-Base在AlpacaEval 2.0上实现了42.76%的长度控制胜率,与Claude 3 Opus和LLaMA-3.1-405B-Instruct等前沿模型相当。消融实验表明,数据质量对性能有显著影响,添加20%的低质量答案会导致性能下降。

🎯 应用场景

Instruct-SkillMix可应用于各种LLM的指令调优,尤其适用于资源有限的场景。该方法能够低成本地生成高质量的训练数据,提升LLM在各种任务上的指令跟随能力,例如文本生成、问答、对话等。未来,该方法可以扩展到其他领域,例如机器人控制、代码生成等。

📄 摘要(原文)

We introduce Instruct-SkillMix, an automated approach for creating diverse, high quality SFT data for instruction-following. The pipeline involves two stages, each leveraging an existing powerful LLM: (1) Skill extraction: uses the LLM to extract core "skills" for instruction-following by directly prompting the model. This is inspired by LLM metacognition'' of Didolkar et al. (2024); (2) Data generation: uses the powerful LLM to generate (instruction, response) data that exhibit a randomly chosen pair of these skills. Here, the use of random skill combinations promotes diversity and difficulty. The estimated cost of creating the dataset is under $600. Vanilla SFT (i.e., no PPO, DPO, or RL methods) on data generated from Instruct-SkillMix leads to strong gains on instruction following benchmarks such as AlpacaEval 2.0, MT-Bench, and WildBench. With just 4K examples, LLaMA-3-8B-Base achieves 42.76% length-controlled win rate on AlpacaEval 2.0, a level similar to frontier models like Claude 3 Opus and LLaMA-3.1-405B-Instruct. Ablation studies also suggest plausible reasons for why creating open instruction-tuning datasets via naive crowd-sourcing has proved difficult. In our dataset, adding 20% low quality answers (shirkers'') causes a noticeable degradation in performance. The Instruct-SkillMix pipeline seems flexible and adaptable to other settings.