导语:本文为第二季共时读书会【大模型与社会网络安全】小组的报告内容,该小组领读人是张奇老师,本篇报告作者是来自上海人工智能实验室的邹易澄研究员。
报告聚焦有关大语言模型弱到强泛化的几项前沿研究,探讨了如何更好地激发出大语言模型的潜能,进而探索未来人类监督超级AI的可行性。
OpenAI先前成立了 Super Alignment 团队,研究未来 Super Human 人工智能系统。其中比较关键的一个核心挑战是,人类需要监督比自己聪明得多的人工智能系统。但是,以目前的 AI 科技发展水平,还没有达到这一现状。因此,OpenAI 研究员从一个更加简单的范式切入,即小模型可以监督大模型吗?用 weak 一些的模型,例如 GPT2,是否可以指导强模型,例如 GPT4 的训练。从这一实验可以窥探未来人类监督超级AI的可行性。
从直觉上讲,模型学习的过程是在做 imitation,强模型可能会仅仅学习并模仿弱监督者,包括它的错误。因为 teacher forcing 阶段就是在让它做这些事情,这可能会造成强模型的能力退化。但是,我们也可以从另一方面来理解,目前语言模型训练包括预训练和后训练等阶段,预训练阶段让模型拥有知识和能力,后训练阶段让其明白人类的指令和意图并与人类的偏好对齐。因此,如果我们只是出于对齐的目的,我们并不需要弱监督者教给强模型新的能力;相反,我们只需要弱监督者引导出强模型已知的内容。这样,weak to strong 的本质就在于使用对齐好的弱模型,进一步对齐强模型,从而激发出强模型原本拥有的能力。这时,强模型能够超越弱监督进行泛化,即使弱监督者只能提供不完整或有错误的训练标签。这种现象称为弱到强的泛化(Weak to Strong Generalization)。
1
OpenAI weak to strong [1]
(1)学习范式构建
OpenAI设计了一个简单的方法来构造 weak to strong 学习范式:
① 创建弱监督器。在真实标签上微调小模型来创建弱监督器。之后,使用弱监督器在 held-out 数据上进行预测,预测的结果作为弱标签。弱监督器的性能,称为 weak performance。
② 使用弱监督信号,训练强学生模型。使用生成的弱标签对一个大模型进行微调。我们称这个较大的模型为强学生模型。它的性能称为 weak to strong performance。
③ 使用真实标签,训练强模型作为性能上限。最后,为了比较,再用真实标签微调一个大模型。我们称这个模型最终达到的性能为 strong ceiling performance。
一般来说, weak to strong performance 会介于 weak performance 和 strong ceiling performance 之间。这里定义一个指标称为 performance gap recovered (PGR)来衡量弱到强学习中,能够通过弱监督弥补的性能差距比例。如果我们实现了完美的从弱到强的泛化, PGR 为1。如果弱到强模型的表现不比弱监督器好,那么 PGR 为0。
这一范式的优势在于,① 弱模型和强模型是相对的,不仅可以是GPT2到GPT4这样的组合,也可以是1B模型到7B模型的组合,甚至是更小参数量的模型组合,这使得研究 scaling law 变得可行,成本可控;② 这是一个通用范式,可以针对任何任务进行研究;③ 如果实验得到了比较 promising 的结论,可以在现阶段就发挥实际作用,例如,使得目前的模型 self-evolve 更加高效。而不必真的等到 super-human AI 出现的那一天。
当然,目前这种 weak to strong 范式也会存在历史局限性。首先,目前的强模型是通过在人类创造的数据上预训练而得到的,因此,在这样的条件下,引导出强模型的能力可能相对容易。然而,Super Human 的能力可能无法在现有的数据上得到直接体现,它可能会隐含在人类无法观察和理解的表示空间中,从而更难从 super human 模型中引出这些能力。其次,不同规模和范式的弱模型所犯的错误类型可能不一样,弱模型可能会犯一些通过简单模式匹配而导致的错误,而强模型在人类数据上的预训练过程可以让它一定程度上拒绝和避免这些错误。但是,如果未来 AI 系统超过人类,从人类数据预训练的模型是否还能避免人类所犯的错误,这是存疑的。
(2)任务设定
作者在3个类型的任务上进行了实验,分别是通用的自然语言任务,一个棋类任务,和 Reward Model 分类任务。
①自然语言任务:总共包含22个NLP benchmark,涵盖常识推理、自然语言推断、情感分析等领域。作者将所有数据集转换为二元分类任务,并作了类别标签的平衡。
② 国际象棋任务:这个任务是给定一个国际象棋棋盘布局,让模型给出接下来一步的最佳走法。这个任务中的弱标签,是通过弱模型的 greedy search 搜索得到的。这个任务与上述自然语言分类任务不一样,是一个生成类型的任务。
③ ChatGPT Reward Model:这个任务的目标是训练 Reward Model,数据集是 OpenAI 内部的。即让模型判断并比较给定的两个模型答案的质量高低。
有工作在安全性、毒性、合规性等更细粒度的对齐任务上验证了弱到强泛化,同样验证了弱到强泛化在更多任务上的有效性 [2]。
(3)Weak to strong 泛化结果
在这三个环境中,作者评估了强模型在弱模型生成的标签上进行微调后的泛化能力。这里的模型是不同计算量下的 GPT4。作者发现在不同的任务中,PGR(性能增益率)几乎普遍为正——即强学生模型的表现几乎都优于弱监督模型。
上图中,abc 分别是在不同规模的强弱模型设置下,在三种任务上的 weak to strong 性能表现。def 则是对应的性能增益率(PGR)表现。其中,横轴表示强模型的计算量,颜色深浅表示弱监督模型的计算量。黑色实线代表强模型的性能上限。
可以观察到,在NLP基准测试中,weak to strong 泛化表现得非常好,在图中体现为较大的斜率。PGR普遍都高于 20%。即使当弱模型和强模型的计算量相差巨大的情况下,仍然能达到超过20%的性能差距。PGR会随着弱模型的规模和强模型的计算规模增加而增加。
在棋类任务中,结果有所差异,在使用很小的弱模型时,PGR接近于零,曲线的斜率比较平稳。然而,随着弱模型计算规模的增加,PGR可以显著提高。同时,图中也展现出一种不同于 NLP 任务的现象,当弱模型和强模型的计算量规模差距较小时,PGR可以超过40%。当两者的计算量规模差距变大时,PGR 反而会逐渐降低。体现在图 e 中,曲线斜率为负。
在ChatGPT reward model 的设置中,则观察到 weak to strong 的泛化表现不佳。PGR 通常只能达到大约10%。即使在弱模型和强模型差距相对较小的情况下,PGR几乎也从未超过20%。
从这一系列的实验可以发现,优秀学生的表现往往可以超过能力较弱的指导者。这是比较 promising 的,表明从弱到强的学习是一个可以解决的问题。同时,上述结果也表明,仅仅依靠简单的监督微调,在不同任务上的表现也差异较大。我们需要更深入的探索来提升从弱到强的 PGR 效率。
(4)改进方法
作者提出两种改进方法,分别是 Bootstrapping 和 Auxiliary Confidence Loss。
此外,作者也尝试了很多其他的方法,包括 LoRA、Label Noise、Data Augmentation等,但均未发现相比基线更高的性能提升。
① Bootstrapping
因为观察到在棋类任务中,计算量差距较小的强弱模型设置,可以有更高的 PGR 比例,所以作者想到了 bootstrapping 策略。即不采用从弱模型到强模型一步到位的指导方式,而是先用弱模型指导一个稍微强一些的模型,再用这个模型指导更强一些的模型,以此类推,直到最终用比强模型弱一些的模型来指导强模型。
我们可以构建一个模型规模递增的序列 M1 → M2 → ... → Mn。然后,我们使用来自 M1 的弱标签来微调 M2,使用 M2 生成新的弱标签,以此微调序列中的下一个模型 M3,依此类推。
从上图中可以观察到,相比直接的 weak to strong 学习方式(虚线部分),bootstrapping 可以有更好的性能。在棋类任务中,能够获得稳定的PGR提升。然而,作者也表明这种方法在另外两个任务中效果有限。
② Auxiliary Confidence Loss
之前的实验是在弱监督者提供的标签上直接微调强学生模型。这可能导致强模型学会模仿弱模型的错误。直观上,我们应该要避免这种失败模式。因此,作者为强模型提供了额外的正则化,希望强模型能学习监督者的意图,但不要模仿其错误。
具体来说,作者在标准交叉熵目标损失中添加了一个辅助置信度损失项来实现这一目标。该方法与条件熵最小化密切相关,这是半监督学习中的一种重要技术。这个附加损失项,可以增强强模型对其自身预测的置信度。当强模型预测某一类的概率高于一定的阈值时,即使弱模型给出的标签是相反的类别,强模型也会相信自己的判断。
在NLP任务中,可以观察到采用置信度正则项后,当强弱模型的计算量gap较大时,可以显著提升强模型的效果,使其的曲线斜率相比基线更加陡峭。
(5)Weak to Strong 何时以及为何有效?
① 错误模仿
当我们在某个任务上使用弱监督训练一个强模型时,我们希望这个强模型能够尽可能好地执行该任务,利用其从预训练中学到的潜在能力,从而优于弱监督者。但是,有一种可能会导致我们无法实现预期的泛化:如果强模型仅仅简单地模仿弱监督者——预测弱监督者对每个样例的分类方式。特别当弱标签包含容易被学到的系统性错误,强模型可能会学会模仿这些错误。这也是对齐理论研究中提出的一个关注点,人类提供的监督可能导致模型学会模仿人类说话,而不是输出最佳预测。
根据实验验证,研究者发现强模型确实倾向于对弱模型产生的错误进行过拟合。在上图中,作者展示了在Reward Model 任务训练过程中的训练过程曲线,以及采取 early stop 模式和完全训练结束的差异。可以发现,当强弱模型差距较大时,会出现过拟合现象。weak to strong 的性能通常在最初有所提高,但在一个完整的训练 epoch 结束之前就开始下降。
在无限训练数据的情况下,简单地拟合弱标签应该会导致完美的模仿,理论上PGR会等于0。所以,在实际操作中,应该在有限的数据上进行少量轮次的训练。而且与典型的机器学习不同,在 weak to strong 情景下,我们可能会观察到即便是在少于一个训练 epoch 的情况下也会出现过拟合。这种过拟合并不是对任何特定的训练样本出现经典过拟合,而是拟合到弱模型的错误分布上,导致在训练过程中降低了预测准确性。
这表明,early stop 或正则化策略可能会显著改善从弱到强的泛化能力,途径就是减少对弱标签及其错误的过拟合。实际上,之前提到的引入辅助置信度损失也是减少了强模型对弱标签的过拟合。
② 学生模型和监督模型之间的一致性
另一种衡量的方法参考了知识蒸馏中的做法,直接测量学生模型与监督模型之间的 agreement,即强学生模型与弱监督者做出相同预测的比例。理论上,如果一致性达到100%,那么弱到强的准确率将等于弱监督者的准确率,而 PGR 将为 0。
一般来说,我们会观察到学生模型和监督模型的一致性会高于弱监督模型的准确性。这表明学生模型确实在模仿监督模型的一些错误。
上图展示了加入置信度正则后的一致性变化。虚线表示弱到强泛化的 baseline 实验,实线是加入置信度正则后的曲线。可以看到正则项的加入显著减少了学生模型与监督模型之间的一致性。这表明当强模型预测与弱模型标签相矛盾时,强模型会更加倾向于自己的预测。
此外,上图还表明了一种 inverse scaling law 的现象。更大的学生模型往往会展现出与监督模型更低的一致性,在图中表现为曲线斜率为负。这种趋势在弱模型产生的错误样本点上尤其明显,这说明了,模型可能难以适应其他较小的预训练模型的错误。以往在知识蒸馏的相关工作中,也发现了类似的现象,即使模型具备足够的容量,依然很难适应其他模型的预测。
③ 错误类型和结构的影响
一个可能的猜测是,弱到强泛化的性质在很大程度上依赖于弱监督模型所产生错误的结构以及这些错误的模仿难易程度。为了进一步探讨不同类型的错误结构的影响,作者创建了几个合成的弱标签集,这些标签集的错误率与弱模型的错误率相同。构建这些标签时,会从ground truth标签开始,然后选出一部分数据,改变其标签,并控制数量使其正好对应弱模型的准确率。具体设计的弱标签数据集如下:
a. weak supervisor: 基线模型,直接由弱模型产生的标签。假设弱模型有80%的正确率。
b. random: 随机选取20%的数据点,改变标签。
c. longest prompt: 选取文本最长的前 20% 的样本,改变其标签。
d. shortest prompt: 选取文本最短的前 20% 的样本,改变其标签。
e. strong g.t. model unconfident: 选取 strong ceiling model 置信度最低的 20% 的样本,改变标签。
f. strong g.t. model confidently correct: 选取 strong ceiling model 置信度最高的 20% 的正确样本,改变标签。
从上图结果可以看到,尽管所有这些数据集标签的准确率相同,但根据标签错误的结构和类型,模型的泛化能力可能会有很大差异。例如,其中 random 的错误,因为其错误具有随机性,几乎不会影响强模型的泛化能力。而具有明显特征的错误,例如 longest prompt,会显著影响弱到强泛化的性能。此外,黄色部分代表加入了置信度正则,也能够提升强模型的 PGR 比例。
此外,作者也专门设计实验验证了简单题和难题的错误偏置带来的影响。因为目前最常见的错误类型和结构,就是难题比简单题的错误率更高。同样也观察到了,简单题泛化到难题是困难的,某种程度上和这里的 longest prompt 有着相似的特性。
④ 弱到强学习在少样本提示场景下依然有效
作者还验证了少样本提示的场景下,弱到强学习的效果。设置了 finetune、zero-shot prompt、5-shot prompt 三种场景。
图a是三种设置下,使用 ground truth 标签的性能。可以发现,对于大多数模型规模,零样本和5样本测试准确率都很低,但随着模型规模的增大,准确率大幅提高。特别是对于最大的模型,5样本提示在许多任务上的表现与微调相当,表明从这些超大模型中引出任务相关的知识相对简单。
图b在图a的基础上,加入了由弱模型提供的弱标签样本,作为 few-shot 样本。当我们使用弱标签进行少样本提示时,性能比使用真实标签进行少样本提示要差。这一趋势与finetune的结论相同。
图c则同时展示了针对弱标签的 weak to strong 微调 baseline、weak to strong 少样本提示、带置信度正则的weak to strong 微调这三种结果。也可以发现少样本提示的 weak to strong 性能对于较小的学生模型表现也是较差的,但对于最大的学生模型来说,效果非常好,甚至可以超过微调的性能。此外,带有置信度损失的 weak to strong 还是会优于 weak to strong 少样本提示方法。
总体而言,这些结果可以为我们的 weak to strong 泛化提供重要参考。它们表明,对于最大规模的模型,通过提示很容易就能激发出许多任务所需的知识。
⑤ 领域内无监督微调有助于改善 weak to strong 泛化
从少样本提示的实验,我们可以隐约得到一个合理的假设,即超大模型对于少样本学习的成功可能是因为其对于任务或者知识有着很好的显著表示(Saliency),模型能够抽象地理解这个概念,从而不需要使用特定的任务格式来进行训练。
如果显著表示有助于从弱到强的任务泛化,那么通过提高强模型对任务的显著性,我们可能能够改善泛化效果。无需真实标签即提高任务显著性的一种方法是针对与该任务相关的数据,使用语言模型进行无监督微调。例如,对电影评论进行无监督方式的语言模型微调,情感相关的概念就可以在模型内部得以显著表示。这种做法在较早的 BERT 时代就经常使用了。我们在训练某项任务前,往往会在与该任务相关的数据上进行无监督预训练。
因此,作者针对最难的 reward modeling 任务验证了这个想法。他们对QA pair数据进行基于语言模型的微调,但是会忽略偏好信息,也就是说无论是 positive 回复还是 negative 回复,都会加入微调过程,避免标签的泄露。
上图中,虚线表示没有经过生成式微调的 weak to strong 泛化结果,而实线表示经过生成式微调的结果。可以发现,对 reward model 数据进行额外的生成微调可以提升 weak to strong 的性能。生成微调使 PGR 提高了大约10-20%。经验上讲,通过在相关数据上进行生成微调,可以提升任务的显著性,并可以用于任何可能的任务。
2
Aligner:
从弱到强的泛化-->从弱到强的修正 [3]
OpenAI的工作中,为了研究 weak to strong 泛化问题,对问题做了简化。任务都是形式简单的二元分类,以及单步生成任务。而在现实的场景中,更多是语言模型生成的复杂任务。对于简单任务,弱模型仍会保持一定的正确率。然而,当面对复杂任务如自然语言生成时,弱模型可能无法胜任,导致大部分输出的内容质量都不符合要求。
在这篇论文中,作者提出了一种从弱到强的修正思想。意思是如果弱模型面对很难的任务,无法直接输出正确的结果,那么就先让强模型输出中间结果,再让弱模型根据强模型的结果进行修正。也就是将 p(y|x) 改进成 p(y|y0, x)p(y0|x),让弱模型站在巨人的肩膀上,降低任务的困难程度。
如上图所示,与弱到强泛化不同,弱到强修正需要先让强模型根据输入 x 输出中间答案 y0。弱模型则是根据 x 和强模型输出的 y0,对 y0 进行修正,输出修正后的答案 y。之后,x和y作为弱模型产生的弱标签数据,再来微调强模型。通过这种方式,作者证明通过修正后的弱标签相比直接产生的弱标签,能够进一步提升强模型的性能。
3
Weak to Strong Reasoning:
额外利用强模型的ICL能力 [4]
之前提到了弱到强的泛化对 ICL 场景依然有效,甚至 ICL 的效果还可能超过微调。因此有工作将弱监督微调和弱监督 ICL 结合起来。
OpenAI 的范式是弱模型产生的样本直接用于微调强模型,而此工作是将弱模型产生的样本作为 ICL 样例,让强模型根据这些样例进行预测,额外得到一批由强模型生成的样本。
上图中,红色部分表示经典的方法,即弱模型生成一批样本,对强模型进行弱到强微调。蓝色部分表示由强模型 ICL 产生的一批样本,对自身进行微调。此外,作者将这两批数据中,结果相同的样本视为可信度和质量更高的样本,在筛选后的样本上进行微调。这个过程可以重复进行,不断迭代。不过可以预期迭代的边际效益会逐渐递减。
上图展示了在 GSM8K 和 MATH 上迭代两轮的结果。红色虚线和灰色虚线分别表示弱模型下界性能和强模型上界性能。可以观察到,在MATH 数据集上,简单地使用弱到强的微调或 ICL,甚至会低于弱模型的下界。说明在推理等复杂任务上,简单的 weak to strong 微调方法已经不奏效了。图中的红色蓝色绿色曲线,分别表示弱模型生成的样本,强模型ICL生成的样本,以及两者经过筛选和组合后的样本。在这三批数据集上微调强模型的结果。可以发现,迭代轮次的增加可以逐渐提升性能。同时,经过筛选和组合后的样本,相比单纯由弱模型生成的样本,以及单纯由强模型ICL得到的样本,可以更稳定地提升弱到强泛化的性能。
4
Co-supervised learning:
利用混合专家弱模型提升通用强模型 [5]
这项工作中,作者探索了结合多个弱模型来提高 weak to strong 泛化能力。每个弱模型可能专长于某些领域,它们共同协作,监督一个强模型。有点类似现在的混合专家系统。
它的核心思想在于,利用 EM 算法思想,将学习过程分为强学生学习的过程(maximization)和弱教师分配的过程(expectation)。首先,使用通用领域的弱模型产生的标签,训练并初始化一个强模型 theta0。然后对每个样本,比较强模型的预测概率和各个弱模型的预测概率,并选取概率分布最接近的那个弱模型作为该样本对应的教师模型。为每个样本指定教师之后,就可以微调一轮强模型,作为theta1,以此类推,不断迭代。此外,作者还提出了一些去除标签噪声的实践方案。
为每个样本分配教师模型:
下面是作者在 ImageNet 任务上做的实验,他们将所有任务进行均等划分,分配给不同的教师模型。如果是1个教师模型,就等价于传统的 weak to strong 泛化框架。如果是多个教师模型,则每个教师模型会负责某一部分的任务。这里的 hard 和 soft 分别表示使用 hard label 或者 soft logits 来监督强模型。可以看到,随着弱模型数量的增加,PGR会逐渐提升,也证明了结合多个弱专家模型,可以更好地提升通用强模型的弱到强泛化性能。
此外,也有一些工作探索了通过简单的 ensemble 方法提升弱到强泛化的效果,例如通过 bagging和boosting等方式,综合多个弱模型得到 ensemble 后的标签 [6]。
5
Reliability-aware alignment:
用 uncertainty 评估弱监督信号的可靠性 [7]
OpenAI 的论文中使用了置信度正则来提升 PGR 比例,主要从强模型的置信度出发衡量弱监督信号的可信度。而这篇论文从弱模型的置信度出发,对弱模型产生的标签进行加权或过滤。
首先,针对某个 query,作者将其进行 paraphrase,改写成若干个相同含义的 query,弱模型会根据相同语义但不同形式的 query 作出回答,然后统计不同答案的个数。如果这些答案一致性很高,则认为模型对答案比较置信,且答案的正确率会较高。如果答案彼此不同,则认为模型对答案的 uncertainty 较高,出错的概率也较高。下图展现了 hellaswag 和 mmlu 评测集上,置信度和正确率的关系,一般来说,置信度越高的答案正确率也越高。
作者采用了两种方案,第一种是直接将低置信度的答案过滤掉。第二种是按照不同答案的出现频率,对答案进行加权。出现频率较高的答案,在训练中会加入较大的权重,出现频率较低的答案,在训练中权重较低。后者相比前者的优势在于不会损失任何的弱监督信号。实验也表明这两种方法都能较大提升 PGR 比例。
6
Superfiltering:
用弱模型过滤数据训练强模型 [8]
弱模型产生的标签或者数据是存在一定错误的,但是我们可以借助弱模型来对已有的数据进行筛选和过滤,用过滤后的数据来训练强模型,这也是目前业界通常采用的方式。通过这种方式,我们绕过了让弱模型直接生成数据面临的困难,而是让弱模型在其他渠道大规模获得的数据上进行过滤,提升数据质量。已有的研究发现,不同大小的模型虽然能力不一样,但是对数据的感知程度是一样的。这可能和模型的类别和大小无关,只和模型预训练的数据分布有关。
上图中,上侧的图展示了不同size的模型在同一批数据上的困惑度大小。一般来说,困惑度越低表示模型的能力越强。可以看到,随着模型规模增长,困惑度是越来越低的,也符合我们一般的认知。而下侧的图展示的是 IFD 分数,这是一个衡量数据难易程度的指标。简单来说,就是给定前文,计算后文的 PPL,以及不给定前文,直接计算后文的PPL,并计算两者的差值。如果两者差异很大,说明数据比较简单,模型能根据前文推出后文的内容,而两者差异较小,说明数据比较困难,模型无法根据前文推出后文内容。图中可以明显看到不同模型得出的 IFD 分数非常类似。说明这可能是一个与模型本身无关的指标。
下表是不同规模的模型在三个数据集上对数据点间偏序关系的衡量。具体来说,是先让每个模型对每条数据点按照困惑度和 IFD 分数进行打分,然后从高到低排序。然后,衡量不同模型得到的排序之间的相关性,相关性越接近1,越说明两个模型对数据点间偏序关系的建模越一致。可以看到,虽然困惑度的平均绝对值在不同模型之间有显著差异,但是它们在数据点偏序关系上,体现出高度的一致。即使是 GPT2和llama2-7b,相关性也高于0.7。
既然弱模型和强模型对数据点的困惑度和 IFD 分数有着高度相似的偏序关系,那么我们可以用弱模型来筛选出具有特定特征的数据点,比如 IFD 分数较高的数据点,然后用筛选后的数据来训强模型。当预训练数据规模很大时,我们可以用1B左右的模型进行数据筛选,然后提升更大规模的模型性能,就可以节省很多成本。
读书会报告录屏内容
扫码观看
👇👇👇
申请加入第二季共时读书会微信大群,请关注“共时读书”账号并留言“申请加入”