大模型微调非得依赖人类数据吗?DeepMind:用带反馈的自训练更好

面对当前微调大模型主要依赖人类生成数据的普遍做法,谷歌 DeepMind 探索出了一种减少这种依赖的更高效方法。

如你我所见,大语言模型(LLM)正在改变深度学习的格局,在生成人类质量的文本和解决各种语言任务方面展现出了卓越的能力。虽然业界通过对人类收集的数据进行监督微调进一步提升了在具体任务上的性能,但获取高质量人类数据却面临着重大瓶颈。这对于要解决复杂问题的任务来说尤为明显,需要大量资源和专业知识。

怎么解决呢?模型生成得合成数据是一种有潜力的替代方案,只要能保证数据的质量,就能实现可扩展性和成本效益。

虽然 LLM 能够自我评估生成的数据,但在本文中,谷歌 DeepMind 探索了一种更简单的设置,将外部标量反馈信号用作每个生成样本的质量指标。

论文地址:arxiv.org/pdf/2312.06...

为了研究在模型生成数据上的训练,研究者考虑了一种简单但强大的语言模型自训练方法,仅需要两项功能,一是基于模型生成样本,二是利用评分机制对这些样本进行评估。

为了确保清晰度和一致性,研究者采用了一种强化自训练方法 ReST^𝐸𝑀,并证明该方法可以将期望最大化(expectation-maximization,EM)用于强化学习。具体来讲,ReST^𝐸𝑀在期望和最大化步骤之间交替进行。

  1. 生成(E-step):语言模型为每个输入上下文生成多个输出样本,然后使用二元奖励过滤这些样本以收集训练数据集。

  2. 改进(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 的研究,他们微调基本预训练语言模型,以最大限度地减少特定于任务的过度拟合并最大限度地减少与基本模型的偏差。为了进行微调,该研究最小化奖励加权负对数似然损失。一旦策略得到改进,就可以再次创建质量更好样本的新数据集。

实验和分析

本文进行实验的主要目标是回答以下问题:

  1. 与人类生成的数据进行微调相比,ReST^𝐸𝑀的效果如何?

  2. 需要多少次迭代才能获得最佳性能?ReST^𝐸𝑀多长时间会导致训练集过度拟合?

  3. ReST^𝐸𝑀如何影响 pass@k 和多数投票表现?

  4. 如果用户在特定任务上使用模型生成的数据进行微调,是否会迁移到其他任务上?在广泛的任务中评估本文的微调模型时,与基本模型相比,性能是否会下降?

  5. 大约需要多少输入数据才能从 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 时最大。

相关推荐
珠海新立电子科技有限公司2 小时前
FPC柔性线路板与智能生活的融合
人工智能·生活·制造
IT古董2 小时前
【机器学习】机器学习中用到的高等数学知识-8. 图论 (Graph Theory)
人工智能·机器学习·图论
曼城周杰伦2 小时前
自然语言处理:第六十三章 阿里Qwen2 & 2.5系列
人工智能·阿里云·语言模型·自然语言处理·chatgpt·nlp·gpt-3
余炜yw3 小时前
【LSTM实战】跨越千年,赋诗成文:用LSTM重现唐诗的韵律与情感
人工智能·rnn·深度学习
莫叫石榴姐3 小时前
数据科学与SQL:组距分组分析 | 区间分布问题
大数据·人工智能·sql·深度学习·算法·机器学习·数据挖掘
如若1233 小时前
利用 `OpenCV` 和 `Matplotlib` 库进行图像读取、颜色空间转换、掩膜创建、颜色替换
人工智能·opencv·matplotlib
YRr YRr4 小时前
深度学习:神经网络中的损失函数的使用
人工智能·深度学习·神经网络
ChaseDreamRunner4 小时前
迁移学习理论与应用
人工智能·机器学习·迁移学习
Guofu_Liao4 小时前
大语言模型---梯度的简单介绍;梯度的定义;梯度计算的方法
人工智能·语言模型·矩阵·llama
我爱学Python!4 小时前
大语言模型与图结构的融合: 推荐系统中的新兴范式
人工智能·语言模型·自然语言处理·langchain·llm·大语言模型·推荐系统