[论文阅读] Aligner@ Achieving Efficient Alignment through Weak-to-Strong Correction

Pre

title: Aligner: Achieving Efficient Alignment through Weak-to-Strong Correction
source: Arxiv 2024
paper: https://arxiv.org/abs/2402.02416
code: https://aligner2024.github.io/
ref: https://mp.weixin.qq.com/s/O9PP4Oc_Ee3R_HxKyd31Qg

关键词: LLM, align, finetune, weak-to-strong generalization
阅读理由: 挺有趣的,动机写得也很好

Idea

修正未对齐的答案比生成对齐的回答更容易,学习对齐与未对齐答案之间的修正残差,从而绕过繁琐的RLHF流程

Motivation

LLM现在主要用RLHF(Reinforcement Learning from Human Feedback)实现与人类意图和价值观相对齐,但RLHF需要训练奖励模型、actor-critic工程,同时高质量的反馈也不容易收集,数据集也可能遭到个别标注者的污染,更重要的是RLHF需要访问LLM的参数,如果模型只提供了API调用就无法对其进行微调。

Background

Weak-to-Strong Generalization

图3 方法图解。超对齐(Superalignment)问题聚焦于扩大人类监督(scaling human oversight),以监督日益智能和复杂的AI系统。而弱到强泛化类比侧重于使用较弱的模型去监督更强的。本文方法使用了弱到强模型来提供可迭代扩展的监督(iteratively scalable supervision)

Weak-to-Strong Generalization (弱到强泛化):训练数据集被分为了两部分,前半部分的输入和真值标签被用来训练弱模型,而后半部分的训练数据仅保留输入,标签由弱模型产生。在训练强模型时仅使用弱模型产生的弱标签为强模型提供监督信号。

如图3所示,作者基于对齐本质提出了一个新的弱到强泛化范式,核心思想是用较弱的Aligner生成标签,通过微调来教较强的上游模型,以提升其性能。

图4 左:根据用户的prompt,直接用弱模型生成监督标签以微调强模型 右(本文的):基于用户输入和强模型输出,弱模型生成改进后的回答,既可作为强模型的微调标签,也可以是推理时的另一个输出

Comparsion to Others

表1 对齐方法总览。

Aligner vs SFT
与 Aligner 相反,Supervised Fine-Tuning (SFT) 直接从 Query 语义空间创建到 Answer 语义空间的跨域映射,这个过程学习依赖于上游模型来推断和模拟语义空间中的各种上下文,这比学习修正信号要难得多。

Aligner 训练范式可以被认为是一种残差形式,采用 「复制(copy)+ 修正(correct)」的学习范式。因此,Aligner 在本质上创建了从回答语义空间到修正的回答的语义空间的残差映射,这两个语义空间在分布上更接近。

Aligner vs RLHF
RLHF 通过在人类偏好数据集上训练奖励模型(RM),并利用这个奖励模型用 PPO 算法微调 LLMs,从而使 LLMs 的行为和人类偏好相一致。

具体而言,奖励模型需要将人类偏好数据从离散映射到连续的数值空间以进行优化,但是相较于在文本空间具有较强泛化能力的 Seq2Seq 模型,这类数值奖励模型在文本空间的泛化能力较弱,从而导致了 RLHF 在不同的模型上效果不稳定。

而 Aligner 通过训练一个 Seq2Seq 模型来学习对齐和未对齐答案之间的差异性(残差),从而有效的避开了 RLHF,并取得了比 RLHF 更具备泛化性的表现。

Aligner vs. Prompt Engineering
提示词工程(Prompt Engineering )是激发 LLMs 能力的常见方法,然而这种方法存在着一些关键问题,如:难以设计 prompt,且需要针对不同模型进行不同设计,最终效果依赖于模型的能力,当模型能力不足以解决任务时,可能需要多次迭代,浪费上下文窗口,小模型的上下文窗口受限会影响到提示词工程的效果,而对于大模型而言,占用过长的上下文极大增加了训练的成本。

Aligner 本身可以支持任意模型的对齐,经过一次训练可以对齐 11 类不同类型的模型,并且能够不占用原模型的上下文窗口。值得注意的是,Aligner 可以与现有的提示词工程方法无缝结合起来,达到 1+1>2 的效果。

Method(Model)

Overview

图1 Aligner模块架构与其在语义空间中行为的图示。左:改进工作流,Aligner是一个即插即用的模型,接在上游LLM的后面,输入原问题x和LLM的回答y_o,负责将y_o变为更有用更无害的答案y_c;右:直接学习问题到对齐的答案这一映射很困难,但基于上游模型输出做改进就比较容易。

图2 将Aligner类比为LLM在架构和能力两方面的残差学习增强器。示意图展示了Aligner行为类似于残差块(从位置看更接近Residual Block后面的concat操作?),接收y_o输出改进的y_c,内部采用“复制和改正”方法,在原本答案上覆盖改进而非修改其基本结构。

Loss

构建数据集\(\mathcal{M}=\{x^{(i)}, y_{o}^{(i)}, y_{c}^{(i)}\}_{i=1}^{N}\),其中三项分别是用户问题、LLM答案、根据\(y_o\)进行修正的答案。

如图2所示,对齐的答案生成过程如下:

\[\pi^{\prime}(y_{c}|x)=\mu_{\phi}(y_{c}|y_{o},x)\pi_{\theta}(y_{o}|x). \tag{2} \]

其中\(\mu_{\phi}(y_{c}|y_{o},x)\)是以\(\phi\)为参数的条件seq2seq模型,也就是aligner

在数据集\(\mathcal{M}\)上的损失为:

\[\begin{align*} &-\mathbb{E}_{\mathcal{M}}[\log\pi^{\prime}(y_{c}|x)] \\ =&-\mathbb{E}_{\mathcal{M}}[\log\mu_{\phi}(y_{c}|y_{o},x)]-\mathbb{E}_{\mathcal{M}}[\log\pi_{\theta}(y_{o}|x)]. \tag{3} \end{align*} \]

由于第二项和Aligner参数无关,因此Aligner的训练目标如下:

\[\operatorname*{mininize}_{\phi} \mathcal{L}_{\mathrm{Aligner}}(\phi,\mathcal{M}) = -\mathbb{E}_{\mathcal{M}}[\log\mu_{\phi}(y_{c}|y_{o},x)]. \]

可以看到Aligner的训练不需要LLM的参数,同时由于是基于已有的答案\(y_o\)进行修正而不是直接回答,这使得 Aligner 能够容易地与人类价值观对齐,从而显著降低了对模型能力的要求。

Training Strategy

将训练策略称为残差修正(Residual Correction),如图1,2。首先作者使用部分数据构造了 Q-A-A 数据集,训练 Aligner 进行恒等映射(也称为 copy mapping),这称为预热,能够改进训练结果。然后再基于恒等的Aligner,使用整个 Q-A-C 训练数据集进行训练。

但作者又补了一句,预热需要的具体数据比例很难确定,因此通常会绕过预热步骤,直接用完整的Q-A-C数据集训练。

Experiment

Settings

Dataset

搜集 Query-Answer(Q-A) 数据: :作者从各种开源数据集中获取 Query,包括 Stanford Alpaca、ShareGPT、HH-RLHF 以及其他用户共享对话。这些问题经历了重复模式去除和质量过滤的过程,用于后续的答案和更正的答案生成。未修正的回答则是使用各种开源模型生成的,如 Alpaca-7B、Vicuna-(7B,13B,33B)、Llama2-(7B,13B)-Chat, and Alpaca2-(7B,13B)。

答案修正:作者使用 GPT-4、Llama2-70B-Chat 和人工标注来根据大语言模型的 3H 标准(有用性、安全性、诚实性)来修正 Q-A 数据集中的答案。对于已符合标准的答案,保持原样。修改过程基于一系列定义明确的原则,从而为 Seq2Seq 模型的训练建立了约束条件,重点在于提升回答的有用性和安全性。答案的修正前后分布变化明显,下图清晰展示了修改对数据集的影响:

Results

表2 弱到强的泛化结果。表明Aligner-7B可以在7B, 13B, 70B的上游模型取得弱到强的泛化,其中各种已有的对齐方法使用Aligner提供的标签,该过程表明强模型的能力可以藉由弱模型提供的标签微调进行增强。$\dagger$表示用的数据集是(q, a, a')三元组,分别是问题、Alpaca-7B的答案和Aligner-7B的对齐答案。SFT用a'作为gt标签,RLHF和DPO则认定a'比a更受喜欢。

作者选用SFT、RLHF 和 DPO三种方法,基于弱标签对强模型进行训练,表2的实验结果显示,通过 SFT 微调上游模型时,Aligner-7B 和 Aligner-13B 的弱标签在所有场景中都提高了 Llama2 系列强模型的性能。

而RLHF和DPO在某些指标上有提升,但是会降低有用性(helpfulness),这是因为它们倾向于保守的模式。这表明两阶段的学习过程比起SFT那种直接标签映射会引入更多的特征早上和信息损失,使准确的优化更艰难。

RLHF基本是比DPO优秀,由于弱到强泛化的训练数据基于上游模型的输出,再由Aligner对齐,RLHF在这种半在线(semi-online)设置下性能更好

安全提升比有用性更重要,也更容易达成,可以通过简单的拒绝(simple rejection)来增强

表3 Aligner模型性能。该表中的所有评估都是基于将各种模型与Aligners集成,与原始模型进行比较,以量化有用性和无害性的百分比增加。背景颜色表示目标语言模型的类型:绿色表示基于API的模型,蓝色表示安全对齐的开放源代码模型,橙色表示没有安全对齐的开源模型。锁的标志说明模型参数无法访问,盾牌表示模型是安全对齐的。

作者展现了各个尺寸的 Aligner(7B,13B,70B)在基于 API 的模型、开源模型(包括经过安全对齐和未经过安全对齐)均能提升性能表现。总体来说,随着模型变大,Aligner 的性能逐步提升,并且修正时所能提供的信息密度逐渐增大,这也使得修正后的答案更加安全且有用。

图5 在训练和评估集中有用性和无害性分数的分布。 a训练集中回答和改正后答案的分布偏移 b不同上游模型用了Aligner-7B的重分布偏移。 GPT-4的拒绝回答(refuse-to-answer)模板创造了一个矫枉过正的回答区域,其中的有用和无害分数都很低,而Aligner通过提供额外信息和改正能有所改进 Alpaca没有对齐,Aligner对它的回答有较大改进 Llama2已经对齐了,平均安全分数高于训练集中改进后的值,Aligner在维持无害性分数时增强了它的有用性。

表4 消融实验,评估Aligner和其他方法的有效性,结果表示Aligner显著超越了基线。同时基线方法经常需要多轮对话迭代、更大的上下文窗口以供promp插入和不断的自我改正,也就需要更长的推理时间。附录也有实验表明Aligner和其他方法一起用也有不错效果。

表5 消融研究,Aligner和其他微调方法在Alpaca-7B上的比较。等等,这个消融的对象是啥

Conclusion

优势

  1. 训练Aligner不需要任何RLHF过程,作为一个自回归 Seq2Seq 模型,Aligner在问题-答案-修正后的答案(Query-Answer-Correction, Q-A-C)数据集上训练,学习对齐与未对齐答案之间的差异,从而实现了更精准的模型对齐。例如,在对齐 70B LLM 时,Aligner-7B 大规模降低了训练参数量,相较于 DPO 小 16.67 倍,比 RLHF 小 30.7 倍。
  2. Aligner 范式实现了从弱到强的泛化,采用较小参数量的 Aligner 模型微调参数量大的 LLMs ,显著提升了强模型的性能。例如,利用 Aligner-13B 监督下微调 Llama2-70B,其有用性和安全性分别提升了 8.2% 和 61.6%。
  3. 由于 Aligner 即插即用的特性以及它对模型参数并不敏感,它能够对齐如 GPT3.5、GPT4 和 Claude2,这些无法获取参数的模型。仅一次训练,Aligner-7B 对齐并提升了包括闭源、开源及安全 / 未安全对齐模型在内的 11 种模型的有用性和安全性。其中 Aligner-7B 显著提升了 GPT-4 的有用性和安全性,分别提高了 17.5% 和 26.9%。

不足

  1. 开源的数据集可能会反而被用于训练有害的AI
  2. Aligner使用了额外模块,对于参数不可访问的模型来说很合适,但会加重推理负担
  3. 将来研究将侧重于Aligner在上下文方面的多功能

Critique

文章组织结构比较有特色,但是部分安排不是很顺畅

代码数据权重连评估方法都有开源,好评

posted @ 2024-05-31 12:28  NoNoe  阅读(65)  评论(0编辑  收藏  举报