Self-Play Fine-Tuning Converts Weak Language Models to Strong Language Models——自对弈微调将弱语言模型转化为强语言模型
文章核心总结一句话概括本文提出了一种名为SPIN (Self-Play fIn- tu- Ning)的新型微调方法使大型语言模型LLM能够通过“与自身对弈”的方式在完全不依赖额外人工标注数据或更强AI反馈的情况下实现自我提升将弱模型转化为强模型。1. 研究问题与动机核心问题能否让一个已经过监督微调SFT的LLM仅使用已有的SFT数据集无需额外数据就能进一步提升性能背景痛点传统SFT在数据集上训练后会达到性能瓶颈继续训练甚至会下降。强化学习微调如RLHF/DPO需要额外的偏好数据通常由人类或GPT-4标注成本高昂。核心思想受AlphaGo Zero等“自对弈”机制启发让LLM通过与自身前一个版本“对抗”来迭代进化。2. 核心方法自对弈微调 (SPIN)SPIN将微调过程建模为一个双人博弈博弈双方是同一LLM在不同迭代时刻的版本3. 与DPO等方法的区别特性SPIN (本文方法)DPO (直接偏好优化)所需数据仅需SFT数据真实响应 yy需要偏好数据胜出/失败响应对数据来源利用模型自身生成拒绝响应需外部反馈GPT-4或人类标注训练范式天然迭代逐步逼近数据分布通常是单次训练损失函数可灵活选择逻辑损失、合页损失等基于Bradley-Terry模型的逻辑损失4. 理论贡献作者提供了严格的理论保证定理5.2 和 5.4充要条件证明SPIN的优化过程当且仅当模型分布完全等于目标数据分布pθpdatapθpdata时才会停止并达到全局最优。收敛方向定理5.4进一步阐明每次迭代的更新会自动调整模型概率若某个响应的概率低于真实数据分布则提升它反之则降低它。这确保了模型逐渐向真实数据分布靠拢。5. 实验验证基础模型zephyr-7b-sft-full (基于Mistral-7B微调)。数据集仅使用Ultrachat200k的50k子集无需额外偏好数据。主要实验结果显著超越SFT瓶颈在HuggingFace Open LLM Leaderboard上平均分从58.14 → 63.16提升5分。在GSM8k和TruthfulQA上提升超10%。在MT-Bench上得分从5.94 → 6.78。媲美甚至超越DPOSPIN迭代0的性能就与使用了额外62k GPT-4偏好数据的DPO训练相当。SPIN迭代1后在多个任务上超过了DPO训练模型。迭代的必要性在单次迭代中训练更多轮次很快会遇到性能上限而进入下一次迭代能带来新的显著提升。这证明了SPIN迭代机制的关键作用。数据规模效应随着SPIN使用的合成数据量增加14k→50k性能持续提升而传统SFT在多轮训练后性能停滞甚至下降。6. 局限性与未来方向性能天花板当前方法的目标是拟合固定的人类数据分布pdatapdata因此性能受限于人类数据质量。未来可探索动态变化的目标分布以超越人类水平。计算成本每次迭代都需要用当前模型生成50k合成数据存在一定的计算开销。论文巧妙地将GAN的对抗思想和AlphaGo的自对弈范式引入LLM对齐首次证明了模型可以仅靠“左右手互搏”来持续进化在无需任何外部监督信号的情况下突破SFT的性能瓶颈是对齐领域一个极具启发性的低成本、自演进方案。这里是自己的论文阅读记录感兴趣的话可以参考一下如果需要阅读原文的话可以看这里如下所示项目地址在这里如下所示摘要利用人类标注数据的力量通过监督微调SFT来推进大型语言模型LLMs的发展至关重要。在本文中我们深入探讨了在无需获取额外人类标注数据的情况下从一个弱模型培育出强LLM的可能性。我们提出了一种新的微调方法称为自对弈微调SPIN该方法从一个已监督微调的模型开始。SPIN的核心是一种自对弈机制其中LLM通过与自身实例对抗来精炼其能力。更具体地说LLM从其先前的迭代中生成自身的训练数据通过区分这些自身生成的响应与从人类标注数据中获得的响应来优化其策略。我们的方法逐步将LLM从初始模型提升为强大的模型从而释放出用于SFT的人类标注演示数据的全部潜力。在理论上我们证明了只有当LLM的策略与目标数据分布一致时我们方法的训练目标函数才能达到全局最优。在实证上我们在多个基准数据集上评估了我们的方法包括HuggingFace Open LLM Leaderboard、MT-Bench和Big-Bench的部分数据集。我们的结果表明SPIN能够在各种基准上显著提高LLM的性能甚至优于通过直接偏好优化DPO并辅以额外GPT-4偏好数据训练的模型。这揭示了自对弈的前景使得LLM无需专家对手即可达到人类水平的性能。1 引言大型语言模型LLM开启了通用人工智能AGI的开创性时代在需要复杂推理和专业知识的广泛领域展现出了非凡的能力。这些模型在数学推理/问题解决、代码生成/编程、文本生成、摘要和创意写作等领域表现出色。LLM的一个重大进步是在预训练后与更理想的行为进行对齐这一过程通常依赖于昂贵的人类标注数据。典型的对齐方法包括基于人类演示的监督微调SFT以及基于人类偏好的从人类反馈中进行强化学习RLHF。所有上述对齐方法都需要大量的人类标注数据。因此人们越来越关注开发能够有效利用人类数据、从而简化对齐过程的微调方法。这促使我们研究在微调数据集之外无需额外人类标注数据的LLM微调。我们的研究也与在不要求额外训练数据的情况下将弱模型转化为强模型的更广泛目标相关这是机器学习中的核心兴趣点可以追溯到提升算法。自训练算法也被证明能够在混合模型中将弱学习器转化为强学习器而无需额外的标注数据。然而在无外部指导的情况下自主增强弱LLM的追求既引人入胜又研究不足。这引出了以下问题我们能否使一个弱LLM在无需获取额外人类标注数据的情况下自我提升与我们工作同时Singh等人提出了在自训练中使用带有二元反馈的合成数据以减少对人类数据的依赖。相比之下由于自对弈机制我们的方法无需来自人类或额外奖励模型的额外二元反馈。此外Burns等人采用弱LLM模型作为指导以弱到强生成的方式训练更强的LLM。与Burns等人需要弱监督者和强模型不同我们的SPIN可以仅凭单个LLM有效运作。2 相关工作自对弈。自对弈即算法通过与自身对抗来学习由于其在多智能体强化学习中的有效性而获得了显著关注。这种方法涉及智能体与自身的副本进行交互从而在学习环境中实现递增的挑战级别和复杂性。自对弈领域的基础工作是AlphaGo Zero它利用自对弈学习方案展现了对人类棋手的卓越表现。后续研究扩展了自对弈的概念探索了各种改编和实现。我们的方法采用了类似于AlphaGo Zero的自对弈方法可以在无需额外人类标注数据的情况下将弱模型转化为强模型。虽然自对弈在多智能体强化学习中的有效性已得到充分证实但据我们所知我们的工作是将这种方法应用于LLM增强的首例。用于LLM的合成数据。在LLM的监督微调SFT背景下人工制作的数据已被证明是极其有效的数据来源能提升LLM在代码生成和数学推理等任务上的性能。虽然人类数据通常质量很高但获取足够数量的此类数据在成本上构成挑战。鉴于此考虑使用合成数据作为人类数据的代理变得越来越流行。这种方法主要利用如GPT系列等先进的LLM作为指导来生成高质量数据。最近的研究还强调了LLM在提示重述方面的能力以获得更好的LLM响应以及增强合成数据以实现更有效的SFT。与先前在预训练或微调目标模型时使用更先进模型生成合成数据的研究不同我们的方法直接从目标模型自身生成合成数据。3 问题设定与预备知识3.1 监督微调3.2 强化学习微调强化学习微调提供了另一种增强通用预训练模型特定能力的方法。通常强化学习微调在SFT之后使用以实现LLM更好的对齐。与此同时强化学习微调的主要挑战在于找到一个好的奖励函数。通常该函数需要在偏好数据集上进行训练。此类数据集的构建需要大量资源通常涉及由人类标注者即从人类反馈中进行强化学习RLHF或强大的AI智能体即从AI反馈中进行强化学习RLAIF进行的全面评估。4 方法4.1 自对弈微调SPIN让我们考虑一个双人游戏其中主玩家的目标是区分由LLM生成的响应和由人类生成的响应。与此同时对手的角色是生成与人类响应无法区分的响应。我们方法的核心是自对弈机制其中主玩家和对手都是同一个LLM但来自不同的迭代。更具体地说对手是来自前一次迭代的旧LLM而主玩家是在当前迭代中要学习的新LLM。4.2 SPIN与DPO的比较在第4.1节中我们提出了自对弈微调SPIN其每次迭代都有一个端到端的训练目标(4.7)。(4.7)与用于强化学习微调的直接偏好优化DPO有相似之处。然而SPIN和DPO在根本上是不同的。最近Xu等人提出使用成对Cringe损失进行迭代偏好优化并将DPO推广为迭代DPO。与我们工作同时Yuan等人进一步提出了一个名为“自奖励语言模型”的框架该框架利用LLM自身作为奖励模型来提供偏好反馈并采用迭代DPO来训练LLM。与Xu等人和Yuan等人相比SPIN的自我评估是隐式的因为不需要中间奖励或偏好反馈。5 理论分析6 实验本节提供了SPIN的详细实证分析。我们的发现强调了几个关键点1SPIN通过突破SFT的限制在广泛的评估基准上显著提升了模型性能2即使没有引入新的人类标注数据SPIN在迭代0时取得的性能也与使用了更多数据的DPO训练相当3迭代训练是SPIN的必要组成部分因为它突破了多轮训练的限制。6.1 实验设置模型与数据集。在本研究中我们采用zephyr-7b-sft-full作为我们的基础模型。该模型源自预训练的Mistral-7B并由HuggingFace在SFT数据集Ultrachat200k上进行了进一步的微调。Ultrachat200k代表了更大的UltraChat语料库中一个高质量的200k子集该语料库包含约140万个使用OpenAI的Turbo API生成的对话。我们从UltraChat200k中随机采样50k个提示并使用基础模型生成合成响应。随后我们按照第4.1节描述的优化方法进行进一步训练。在多次迭代中我们利用来自最近一次迭代的合成数据并将其添加到新生成的合成数据中因此在迭代0时合成数据集大小为50k在迭代1、2和3时为100k。在每次迭代中我们训练模型2个轮次。评估。我们采用了广泛使用的Huggingface Open LLM Leaderboard作为我们的评估基准并使用相同的Language Model Evaluation Harness库。该排行榜包含6个不同的数据集每个数据集侧重于LLM的特定能力。这些数据集共同提供了一个全面的评估框架评估LLM在常识推理Arc, HellaSwag, Winogrande、多任务语言理解MMLU、人类虚假模仿TruthfulQA和数学问题解决GSM8k方面的能力。我们将进一步的实现细节留到附录B其中详细介绍了排行榜和我们实验均采用的评估设置。6.2 SPIN有效提升基准性能在图2中我们使用HuggingFace Open LLM Leaderboard作为评估标准展示了SPIN的有效性。在图3中我们将通过SPIN在迭代0到3之后微调的模型与基础模型zephyr-7b-sft-full在排行榜包含的每个任务上的性能进行了比较。详细性能见表4附录B。我们可以观察到SPIN在通过进一步利用SFT数据集来提升模型性能方面表现出显著的有效性而基础模型已经在该数据集上进行了充分的微调。在迭代0模型响应由zephyr-7b-sft-full生成我们观察到平均得分总体提高了2.66%。在TruthfulQA和GSM8k基准上的提升尤为显著分别超过5%和10%。在迭代1我们按照算法1概述的程序使用来自迭代0的LLM模型生成新的响应用于SPIN。这一迭代带来了平均1.32%的进一步提升在Arc Challenge和TruthfulQA基准上尤其显著。随后的迭代在各种任务中继续保持这种逐步提升的趋势。同时迭代t1的提升自然小于迭代tt的提升。随着迭代训练的进行提升的程度逐渐趋近于零这表明模型在最后一次迭代中已达到极限点。与DPO的比较。zephyr-7b-beta是一个源自zephyr-7b-sft-full的模型使用大约62k偏好数据通过DPO进行训练。该数据即UltraFeedback Binarized数据集包含由GPT-4评估的选择和被拒绝的完成结果。我们注意到DPO需要人类输入或高级语言模型反馈来确定偏好这使得数据生成成为一个相当昂贵的过程。相比之下我们的SPIN只需要初始模型本身。此外与需要新数据源的DPO不同我们的方法完全利用现有的SFT数据集。在图3中我们展示了SPIN在迭代0和1使用50k SFT数据与从相同SFT检查点开始的DPO训练的性能比较。我们可以观察到虽然DPO利用了来自新来源的更多数据但基于现有SFT数据的SPIN在迭代0时已经可以达到与DPO训练相当的平均性能。从迭代1开始SPIN甚至在排行榜基准上超越了DPO的性能。6.3 消融研究在本小节中我们研究了合成数据集大小和迭代内训练轮次的影响。我们的分析证明了SPIN使用的合成数据相对于SFT数据的有效性以及SPIN中迭代训练的必要性。在附录B中我们展示了SPIN在额外基准任务上的评估。训练规模。我们研究了不同训练数据量对SPIN性能的影响。在图5中我们展示了SPIN在迭代0期间训练数据量变化的影响并将其与使用完整原始数据集的SFT进行了比较。具体来说对于SFT基线我们在Ultrachat200k上对Mistral-7B进行全面微调三个轮次并在图中将第一轮次的性能报告为起点x轴为0。对于SPIN我们将zephyr-7b-sft-full检查点报告为起点该检查点也在Ultrachat200k上微调了一个轮次。我们将SPIN在迭代0的训练规模选择为14k、26k和50k并相应地生成数据确保较大的数据集包含较小的数据集。然后针对每种训练规模在1轮自对弈微调后评估SPIN的性能。我们可以观察到随着训练规模的增加SPIN带来了显著的改进而SFT在后续的第2和第3轮次未能产生超过1%的提升。更多结果见附录B。迭代训练 vs. 更多轮次训练。我们进一步研究了迭代0内的训练并将其与迭代1实现的性能进行比较特别是将延长训练时长获得的测试性能与下一轮迭代的性能进行对比。图4描绘了SPIN在迭代0期间跨多个轮次训练的模型性能轨迹。很明显最大的改进发生在前两个轮次后续轮次仅带来微小的提升。值得注意的是SPIN表现出鲁棒性和稳定性延长训练时长不会降低性能而是保持相当稳定的水平。尽管如此这一观察结果表明单次迭代内可实现性能存在固有局限性从而强调了迭代训练的必要性。如图中迭代1达到的测试性能所示延长迭代0的训练无法达到与迭代1相比的性能。7 结论与讨论本文介绍了一种新颖的微调方法SPIN通过释放人类标注数据的全部力量将弱LLM转化为强LLM。该方法的核心是一种自对弈机制其中主玩家LLM被微调以区分对手玩家来自前一次迭代的LLM的响应与目标数据分布并且LLM被迭代地与目标数据分布对齐。因此SPIN通过自对弈促进了LLM的迭代自我评估和增强。与监督微调和强化学习微调方法相比SPIN使LLM能够在没有额外人类数据或来自更强LLM反馈的情况下自我改进。实证结果表明SPIN在各种基准测试中显著提升了LLM的性能甚至优于使用额外人类数据或AI反馈训练的模型。局限性与未来工作。我们的理论结果表明当且仅当LLM的分布与pdata对齐时SPIN的优化过程才收敛。因此我们的研究聚焦于由人类生成的固定目标数据分布这固有地对微调LLM的性能设置了一个上限。探索动态变化的目标数据分布是克服这一限制并将LLM性能提升到此上限之上甚至达到超人类水平的一个重要方向。此外考虑到合成数据生成的资源需求另一个有前景的进一步探索方向是减少所需合成数据的量。