LLM 对齐方案再升级
随着大语言模型(LLM)的发展,指令微调(SFT)和人类反馈强化学习(RLHF)成为提升模型对齐效果的关键。本文将深入探讨三种先进的对齐方案:Microsoft 的 WizardLM、Meta 的 BackTranslation 以及 IBM 的 Self Alignment,并简要介绍多智能体协同的新趋势。
Microsoft:WizardLM
论文标题: WizardLM: Empowering Large Language Models to Follow Complex Instructions 开源地址: https://github.com/nlpxucan/WizardLM
核心思路
WizardLM 提出了一套名为 Evol-Instruct 的指令改写方案。其核心观点是:使用大模型直接对种子指令样本进行多样化、复杂化的改写,可以有效提升模型在复杂指令上的遵循能力。该方法显著超过了之前 Vicuna 使用 ShareGPT 微调 LLAMA 的效果,甚至在部分复杂指令测试上表现接近 ChatGPT。
Evol-Instruct 机制
Evol-Instruct 将原始指令集(如 52K 的 Alpaca 指令)通过大模型进行改写。改写过程分为深度改写和广度改写两种类型,共包含 6 种不同的改写 Prompt。经过 4 轮迭代改写,并配合简单的样本过滤,最终生成了 250K 的高质量改写指令用于模型微调。
1. 深度改写
深度改写旨在增加指令的难度和复杂性,具体包括以下五种策略:
- 加入限制条件:在原有指令基础上增加字数或难度限制。
- 指令复杂化:增加问题的深度和广度。
- 指令具象化:将通用概念替换为更具体的概念。
- 增加推理步骤:要求模型展示多步推理过程。
- 输入复杂化:在指令中引入特定格式的数据(如 XML 数据)作为输入。
这种设计允许每次只增加部分难度,通过多轮改写生成不同难度梯度的指令集,从而增强模型的泛化能力。
2. 广度改写
广度改写的目的是扩充指令覆盖的范围,使其涵盖更多的话题和技能领域,确保模型在不同场景下的鲁棒性。
效果评估
在 Evol-Instruct 测试集、Vicuna 测试集及更高难度的测试集上,WizardLM 的效果均略优于 Vicuna 和 Alpaca。尽管部分基准测试中 Vicuna 的表现存在波动,但整体方法论证明了通过指令演化提升模型能力的有效性。
Meta:BackTranslation
论文标题: Self-Alignment with Instruction Backtranslation 相关数据集: ClueWeb, Open Assistant
核心思路
与 WizardLM 从'指令侧'入手不同,BackTranslation 采用半监督思路,从'输出侧'入手。它利用网络上爬取的人工编辑优质内容作为输出,并通过模型反向生成对应的指令,从而扩充已有的指令样本集。
实施步骤
1. Self-Augmentation(自增强)
首先使用 Open Assistant 中人工标注的 3200 条指令样本训练一个初版对齐模型(Llama)。该模型采用反向对齐方式,即给定 Output 生成 Instruction (P(X|Y))。随后,针对清洗后的网页数据作为输出,使用该模型推理生成对应的指令。
2. Iterative Self-Curation(迭代自我筛选)
生成的指令样本可能存在低质量情况,因此需要进行质量过滤。基于种子样本训练的初始模型对生成的指令进行 1-5 分的绝对打分,评估标准包括回答是否明确有用、无争议、能合理解决问题且主语为模型自身。
筛选出的高分样本会与种子样本混合,重新进行 SFT 训练。此过程可多轮迭代,不断用微调后的模型对样本进行打分过滤和混合重训。
在样本构建中,论文使用了不同的 Prompt 前缀来区分样本来源(人工标注 vs 机器生成),以降低模型学习时的混淆。


