面对当前微调大模型主要依赖人类生成数据的普遍做法,谷歌 DeepMind 探索出了一种减少这种依赖的更高效法子。
如你我所见,大谈话模型(LLM)正在改变深度学习的格局,在生成人类质量的文本和解决各种谈话义务方面展现出了卓越的能力。虽然业界通过对人类收集的数据举行监督微调进一步提升了在具体义务上的功能,但获取高质量人类数据却面临着重大瓶颈。这对于要解决复杂问题的义务来说尤为明显,需要大量资源和专业知识。
怎么解决呢?模型生成得合成数据是一种有潜力的替代方案,只要能保证数据的质量,就能实现可扩展性和成本效益。
虽然 LLM 能够自我评估生成的数据,但在本文中,谷歌 DeepMind 探索了一种更简单的设置,将外部标量反馈信号用作每个生成样本的质量指标。
论文地址:https://arxiv.org/pdf/2312.06585.pdf
为了钻研在模型生成数据上的训练,钻研者考虑了一种简单但强大的谈话模型自训练法子,仅需要两项功能,一是基于模型生成样本,二是利用评分机制对这些样本举行评估。
为了确保清晰度和一致性,钻研者采用了一种加强自训练法子 ReST^𝐸𝑀,并证明该法子可以将期望最大化(expectation-maximization,EM)用于加强学习。具体来讲,ReST^𝐸𝑀在期望和最大化步骤之间交替举行。
生成(E-step):谈话模型为每个输入上下文生成多个输出样本,然后运用二元处分过滤这些样本以收集训练数据集。
改良(M-step):原始谈话模型在来自前一个 E-step 的训练数据集上举行监督微调,然后在下一个 E-step 中运用。
钻研者证实,ReST^𝐸𝑀及变体在增强各个领域的谈话模型方面取得了成功,包括机器翻译、语义分析、偏好对齐和基础推理。
此外,以往工作主要将 ReST^𝐸𝑀用于相对较小的模型(最高 70 亿参数),对于较大模型的可扩展性受限。因此,本文旨在探究模型生成的合成数据与人类生成的数据在以下两个具有挑战性但钻研较少领域的有效性和可扩展性,这两个领域分别是竞争水平数学解题(MATH)和代码生成(APPS)。
实证结果表明,当将 ReST^𝐸𝑀用于不同规模的 PaLM 2 模型时,在数学推理和代码生成义务中实现了显著的能力改良。与在人类编写数据上训练的模型相比,在模型生成的合成数据上微调的模型取得了更大的功能增益。有趣的是,超过了一定数量的 ReST^𝐸𝑀 迭代后,功能会降低,这表明了在少量训练问题上可能会出现过拟合。
此外,运用 ReST^𝐸𝑀微调的模型提升了 pass@k 指标和多数投票功能。这些微调后的模型在相关但 held-out 的基准上也表现出了功能增强,包括数学题(GSM8K 和 Hungarian HS finals)、编码(HumanEval)和 Big-Bench Hard 义务。
总之,本文钻研结果表明,具有反馈的自训练是减少对人类数据依赖的一种有潜力的法子。
用于加强自训练的期望最大值(EM)
首先,该钻研基于 Dayan 和 Hinton 之前的钻研,用谈话模型描述了基于 EM 的加强学习框架。具体而言,他们先是定义了一个二进制最优变量 O,使得𝑝(𝑂= 1|𝒙,𝒚)∝𝑓(𝑟(𝒙,𝒚));然后对非递减函数 𝑓 : ℝ → ℝ+ ,实现最大化观察𝑂= 1(获得高处分),得到如下公式:
然而,求解上式中的序列 𝒚 的和很棘手。因而本文考虑相对于参数 𝜃 和变分分布 𝑞( 𝑦|𝑥) 最大化其 ELBO 𝐿( 𝑝𝜃, 𝑞),而不是最大化 log 𝑝(𝑂 = 1; 𝒙)。具体来说:
公式(2)中的 EM 算法在 E-step(Expectation) 和 M-step(Maximization)之间交替举行。
ReST^𝐸𝑀:受 EM 框架的启发,接下来论文讨论了 Gulcehre 等人提出的 ReST 法子的简化版本。为了清楚起见,本文将这种法子称为 ReST^𝐸𝑀,它将 RL pipeline 中的数据收集 (E-step) 和策略优化 (M-step) 举行解耦。如算法 1 所示:
生成(E-step):在此步骤中,该钻研通过从当前策略 𝑝𝜃 中采样输出序列来生成数据集
。在这里,输入是从原始数据集
中重新采样的。然后运用二元处分函数 𝑟(𝒙, 𝒚) 对
中的输出序列举行评分。
改良(M-step):在第 𝑖步迭代中,该钻研运用 E-step 中的新数据集来微调策略 𝑝𝜃。不同于 Gulcehre 的钻研,他们微调基本预训练谈话模型,以最大限度地减少特定于义务的过度拟合并最大限度地减少与基本模型的偏差。为了举行微调,该钻研最小化处分加权负对数似然损失
。一旦策略得到改良,就可以再次创建质量更好样本的新数据集。
实验和分析
本文举行实验的主要目标是回答以下问题:
与人类生成的数据举行微调相比,ReST^𝐸𝑀的效果如何?
需要多少次迭代才能获得最佳功能?ReST^𝐸𝑀多长时间会导致训练集过度拟合?
ReST^𝐸𝑀如何影响 pass@k 和多数投票表现?
如果用户在特定义务上运用模型生成的数据举行微调,是否会迁移到其他义务上?在广泛的义务中评估本文的微调模型时,与基本模型相比,功能是否会下降?
大约需要多少输入数据才能从 ReST^𝐸𝑀 获得大部分功能提升?ReST^𝐸𝑀的一次迭代是否足够?
该钻研运用 PaLM 2 模型和 Google Cloud 上的公共 API 举行实验,包括 PaLM 2-S (Bison)、PaLM 2-S* (Codey) 和 PaLM 2-L (Unicorn)。训练数据集采用 MATH 数据集和 APPS 数据集。
图 2 和图 3 分别显示了 ReST^𝐸𝑀在 MATH 和 APPS 数据集上训练的功能。可以得出 MATH 受益于 ReST^𝐸𝑀 的多次迭代,无论是在 MATH 尝试集上的功能还是迁移到 GSM8K 方面。另一方面可以看到 APPS 的大部分收益来自第一次迭代,而执行更多次迭代会导致 APPS 和 HumanEval 的功能下降。
训练和尝试功能的差距。图 4 显示,虽然训练集功能随着 ReST^𝐸𝑀迭代次数线性增加,但尝试集功能却没有。对于 MATH,第一次迭代后尝试功能改良很小,而对于 APPS,在第二次迭代中观察到功能回归。该钻研猜测功能的回归可能是由于过度拟合造成的。由于 APPS 数据集的大小约为 MATH 数据集的三分之一,因此它更容易受到此问题的影响。
图 5 显示了 Palm-2-L 模型在 pass@K 指标上的功能。结果显示,微调后获得的 ReST^𝐸𝑀 模型对于所有 K 值都更强,其中功能差距通常在 K=1 时最大。