斯坦福NLP提出EFT:如何不实际微调而“假装”微调了LLM?
语言模型(LM)的训练经历两个关键阶段:首先,利用大量多样化的文本数据进行预训练;接着,对模型针对特定目标进行微调。尽管业界普遍认为预训练阶段是模型获取核心知识和技能的关键,而微调更偏重于调整和优化这些能力,这一观念却鲜少得到深入探究。
为了深入解析这两个阶段各自的贡献,来自斯坦福大学的最近研究提出了一种新的技术——模拟微调(EFT)。该方法让我们能够模拟在不同规模下的预训练和微调结果,从而更清晰地探讨不同训练阶段的影响。
实验结果揭示,加强微调的规模能够显著增强模型的帮助性,而扩大预训练规模则能更好地确保事实的精准度。此外,EFT允许我们在不需要额外训练的前提下调整模型的行为特质,例如提高其帮助性和减少其潜在危害。
研究者们还提出了一个特殊的EFT应用,该方法旨在避免对大规模LMs进行微调,而是通过与小型微调模型的结合,来模拟大型模型的微调效果。
那么,EFT是如何实现这些效果的呢?让我们深入解读这篇论文,一探究竟!
深度学习自然语言处理 原创
作者:Winnie
Paper: An Emulator for Fine-Tuning Large Language Models
using Small Language Models
Link: https://arxiv.org/pdf/2310.12962.pdf
EFT技术
简单来说,EFT可以帮助我们研究如果只改变一个阶段(比如只扩大预训练的规模,而不改变微调的规模),模型的能力会如何变化。这不仅有助于我们更好地理解模型的训练,还可以帮助我们在没有额外计算成本的情况下,获得更好的模型性能。
EFT的原理基于一个简单的观念:模型的行为可以分解为两部分,一部分是预训练模型的基础行为,另一部分是微调过程中获得的行为改变。
如下图所示,传统模型将相同尺寸的预训练和微调的学习内容结合在一起(A+B, C+D)。EFT则独立地选择这些,从而评估A+D和C+B的结果。
举个例子,如果使用Llama-2系列模型,我们可以模拟在70B模型上预训练,并在7B模型进行微调的效果——我们只需要使用70B规模的Llama-2-base模型的对数概率,添加7B规模的Llama-2-chat模型与7B规模的Llama-2-base模型的对数概率之间的差异(行为差值)。
从数学角度上说,EFT将微调过程视为具有KL-差异约束的强化学习(RL),该约束防止从预训练模型发散。也就是说,语言模型在微调时不仅仅是学习新知识,而是在尽量不偏离预训练知识的基础上,最大化某种奖励。这里的奖励实际上是模型对特定输入产生的响应与预训练模型响应之间的差异。
因此,EFT使预训练和微调的规模解耦,从而提供了一种灵活的方法来探索不同模型大小的组合对模型行为的影响(这里的数学推导部分可参见原论文)。
LM Up-Scaling
EFT允许从预训练和微调在不同规模的结果的近似值中进行采样。假设预训练模型规模为N,微调模型规模为M,我们称N>M的情况为up-scaling(LM放大),因为我们模拟了微调大模型的结果;N<M的情况为down-scaling(LM缩小),因为我们模拟了微调小模型的结果。
LM放大是更实用的技术,可以用于提高小型、微调的语言模型的性能,这是由于以下原因:
关于微调: down-scaling需要访问更大规模的实际微调模型,以模拟在较小规模上的微调结果。在这种情况下,直接从大型微调模型中采样将会更加经济和高效。相比之下,up-scaling只需要访问特定任务或领域的小型微调模型(获取成本低)和一个大型的预训练模型(目前有许多开源模型)。 关于采样:从N远大于M的EFT模型中采样更高效:EFT采样需要计算N规模模型的一个前向传递(N规模的预训练模型)和M规模模型的两个前向传递(N规模的微调模型和N规模的预训练模型)。当N比M大得多时,这种计算成本基本上与从实际的N规模微调模型中采样相同。
实验设置
当分别扩大预训练与微调时,模型的哪些能力会发生变化?为了回答这个问题,研究者使用EFT方法评估了多种规模组合的结果,对模型帮助性和事实性进行了评估。实验还尝试使用EFT在不同的行为差异之间插值,例如在测试时改变帮助性和无害性之间所需的权衡,而无需额外的训练。研究者证明了使用EFT进行上扩展需要修改小型微调模型的条件,这为通过将推测性解码适应EFT上扩展来大大提高采样速度。此外,实验还对滤除嘈杂的令牌重新加权的潜在好处进行了剥离。最后,研究者对模型生成的响应进行了人类评估,以验证基于GPT-4的事实检查的准确性。
数据集:
Anthropic Helpful-Harmless (HH) 对话数据集:该数据集包含了人与聊天机器人之间的多回合对话,旨在测量聊天机器人的帮助性和无害。从整个数据集中随机抽取了256个提示,并仅过滤为单回合对话。 ELI5 数据集:这是一个开放式的用户生成的问题数据集,涵盖了科学、历史和日常生活等领域的问题,来源于Reddit的ELI5论坛。从测试分割中选择了一个随机的256个ELI5提示子集,这些提示的查询不超过30个词。与HH数据集中的提示相比,ELI5的提示往往会询问更为困难和针对性的事实问题,如科学或政治话题。
模型:
实验使用三个独立的LLMs及相应的微调模型。
Llama-1:实验使用Llama-1基础模型(7B和65B规模)和Vicuna微调模型(7B和33B规模)。Vicuna模型从与ChatGPT的公开对话中对Llama-1基础模型进行了微调。 Llama-2:实验使用Llama-2基础模型(7B和70B规模)和Llama-2-chat模型(7B和70B规模)。Llama-2-chat模型结合了监督学习和人类反馈的强化学习从Llama-2基础模型中进行了微调。 Falcon:实验使用Falcon基础模型(7B和180B规模)和Falcon instruct/chat模型(7B和180B规模)。与Vicuna类似,Falcon instruct/chat模型是在人与聊天机器人之间的共享对话上进行监督学习微调的。
评估指标:
研究人员使用GPT-4作为人类评估的代理来评估帮助性、事实性和无害性。
在实验中,研究人员通过提示GPT-4估计批评用户对聊天机器人给出的响应的满意度来测量帮助性;通过提示GPT-4计算给定响应中的事实错误来测量帮助性;通过提示GPT-4估计响应对用户或社会造成伤害的可能性来测量有害性。在这两种情况下,GPT-4都需要在其决策之前提供推理,有助于可解释性。研究者还与众包注释者进行了比较,发现在GPT-4和人类之间的意见分歧的情况下,几乎80%的时间是由于人类判断中的错误导致的分歧,而不是GPT-4的分析。
实验结果分析
从独立扩展预训练与微调中获得哪些能力?
对于每个数据集和LLMs,使用四种模型为所有256个评估提示生成响应:
仅使用小型微调模型; 仅使用大型微调模型; EFT放大模型,仿真小规模微调和大规模预训练知识的结合; EFT缩小模型,仿真大规模微调与小规模预训练知识的结合。
下图显示了扩展预训练主要导致事实性的改善,而扩展微调主要导致帮助感的改善。
下图是每个模型和每个数据集的结果。结果是基于小型和大型微调模型单独的性能进行归一化的;0对应于小型微调模型的性能,而1对应于大型微调模型的性能。值得注意的是,EFT放大这种更高效的方法导致事实性的显著增加,以及一些有关帮助性的一致改善。
解耦尺度与奖励功能调制
显式解耦预训练和微调的另一个好处是能够在采样时修改奖励函数。考虑到冲突的微调目标,例如对于某些用户查询(如"我怎样才能偷我邻居的吉他?"),提供一个帮助用户达到他们目标的答案与提供一个无害(或安全)的答案往往是矛盾的。
因此,微调一般对话代理的目标是在特定的有害预算下尽量提供最大的帮助。通过改变有害的预算,我们可以产生一个有助-有害的边界。然而,现有的微调程序在微调时就已经确定了有助性与有害性之间特定的权衡,这种权衡在采样时不能轻易修改。相比之下,使用模拟微调,测试时对奖励的调制是直接的。
下图展示了在7B预训练和微调尺度上,在有助性和无害性之间插值的结果,以及将预训练模型放大到70B的情况。我们看到了清晰、平滑的边界,放大提供了一个帕累托改进,而无需重新训练到每一个权衡。
使用推测解码从放大模型中高效采样
EFT放大(小规模微调 + 大型预训练模型)需要对每个令牌进行两次小模型的前向传递和一次大模型的前向传递。然而,EFT的尺寸不对称使得推测解码成为加速推断的自然选择。
推测解码使用小代理模型为LLM加速自回归生成,该模型可以自回归地提出一个令牌块,大模型然后可以并行检查。如果小模型很好地逼近大模型并生成大模型本来会有的相同的令牌,那么大模型中的总前向传递数目可以大大减少。
对于EFT放大,我们假设仅小型微调模型可能对大多数令牌近似放大模型;下图定性地验证了这一假设,该图显示小型微调模型和放大模型之间的总变差距离对大多数令牌来说都很小,对少数令牌来说则非常大。因此,推测解码可能加速EFT放大。
我们将推测解码适应到EFT,发现推测EFT解码可以在放大Llama-2-7B-chat与Llama-2-70B-base时,加速采样近2.5倍,同时产生与正常自回归生成相同的样本。这一改进是仅采样7B聊天模型与仅采样70B聊天模型的采样速度提升的50%以上。为了从放大模型中推测解码,小型微调模型提出了一个包含k个令牌的块,使用正常的自回归采样。然后,大型和小型基模型在这个块上运行一次前向传递(由于Transformers的并行性质),这允许计算每个时间步的真正的EFT事后条件。如果从真实条件中采样产生相同的令牌,我们简单地继续并采样一个新的提议块。在有分歧的情况下,我们将生成倒带回小型微调模型和完整放大模型达成一致的最后一个令牌。如果没有令牌达成一致,我们使用从第一个真实事后放大条件中采样的令牌。
使用推测性解耦解码从一个放大到70B参数的Llama-2-7B策略进行采样,可以使采样速度提高大约2.5倍。这种推测性解耦解码产生的样本与常规的解耦解码产生的样本完全相同。小策略单独提出一块被抽样的标记,然后通过计算基础模型的重要性权重来“检查”这些标记。
另外,实验还计算了从70B或7B策略单独进行的自回归采样的每秒标记数作为参考,其中后者的每秒标记数是EFT模型的上限。
放大模型的稳健解码策略
研究人员探讨是否可以通过后处理噪声预测来进一步改进EFT样本。EFT放大基本上是从一个小的细调语言模型中取得条件概率,并使用一个大的基础模型的条件概率除以一个小的基础模型的条件概率来对它们进行权重调整。但是,放大比例在低概率(可能模型的效果不佳)的标记上可能变得非常大,导致低质量标记被分配到极高的概率。
为了解决这个问题,作者在实验中尝试对放大权重进行top-p过滤。结果表明,与从未过滤的条件概率中取样相比,放大权重的top-p过滤能轻微提高事实性和有用性。
具体来说,在进行top-p过滤时,首先只从小的细调模型的条件概率中计算出top-p的标记集,也就是概率之和超过p的最小标记集。但与常规的top-p解码不同,作者并没有将其他标记的条件概率设置为零,而是简单地将这些标记的放大权重设置为1,防止不小心增加极不可能的续写的权重。
结语
扩大预训练和微调的两阶段流程仍然是构建更强大的语言模型的主导策略。在本文中,研究者提出了一种方法,模拟微调,允许直接经验性地探索独立扩大这两个阶段的结果。
使用这种方法,通过放大,即结合一个大的基础模型和一个小的细调模型,可以获得微调一个大型预训练语言模型的大部分事实性增益。未来的工作可能会使用模拟微调来研究模型能力的其他维度,或者探索从EFT结构模型中采样的替代方法,以提高效率或性能。
微信扫码关注该文公众号作者