大语言模型训练新思路:半在线学习的崛起

在人工智能领域,大语言模型(LLM)的训练一直是一个充满挑战的课题。近年来,随着RLHF(基于人类反馈的强化学习)技术的普及,如何高效、有效地对模型进行微调,使其更好地遵循人类指令和偏好,成为了研究的热点。

本文将探讨一种新兴的训练策略——半在线学习,它在离线训练和纯在线训练之间找到了一个平衡点,为大语言模型的训练带来了新的可能性。

[图片:https://images.unsplash.com/photo-1677442136019-2451bb78d854?auto=format&fit=crop&w=1350&q=80]

从离线到在线:训练方法的演变

离线训练:传统但有限

传统上,对大语言模型的训练多采用离线方式。以DPO(直接偏好优化)为例:

  • 首先使用初始模型生成一组训练数据
  • 然后基于这些固定数据对模型进行训练
  • 整个训练过程中,生成数据的模型和进行训练的模型是分离的

这种方法的优点是计算效率高,可以预先批量生成所有训练数据,然后专注于模型训练。但缺点也很明显:模型只能从固定的、可能已经过时的响应中学习。

在线训练:实时但昂贵

与离线训练相对,在线训练强调实时性:

  • 定期使用当前模型生成新的响应
  • 立即基于最新生成的响应进行训练
  • 模型参数更新和响应生成紧密同步

在线训练的优势在于模型可以不断从最新的、更好的响应中学习,但计算成本通常更高,需要更精细的资源管理和实时计算能力。

半在线训练:取长补短

半在线训练是上述两种方法的中和:

  • 定期(但不是每步)将生成模型与训练模型同步
  • 在两次同步之间,可以并行生成多个批次的训练数据
  • 平衡了训练效果和计算效率

这种方式既保留了在线学习能够从更新模型中学习的优势,又通过批量处理提高了计算效率。

研究发现:半在线学习的优势

最近的研究表明,半在线学习在多个方面都展现出了显著优势:

在可验证任务上的表现

在数学问题等可验证任务上,研究发现:

  1. 离线DPO训练相比基础模型有所提升,但提升幅度有限
  2. 半在线和在线训练方法相比离线方法有显著提升
  3. 纯在线DPO和GRPO性能相当,都显著优于离线方法
  4. 半在线DPO(在每5-100步同步一次模型参数的情况下)可以接近纯在线方法的性能

这一发现很重要,因为它表明:纯在线训练并非唯一选择,半在线训练可以在保持较高性能的同时提高计算效率。

[图片:https://images.unsplash.com/photo-1550439062-609e1531270e?auto=format&fit=crop&w=1350&q=80]

在非可验证任务上的表现

在指令遵循等非可验证任务上,研究发现:

  1. 所有训练方式相比基础模型都有提升
  2. 半在线和在线方法再次显著优于离线DPO
  3. 纯在线DPO表现略优于GRPO

结合可验证和非可验证任务

研究还探讨了同时训练可验证和非可验证任务的效果:

  1. 仅训练可验证任务然后测试非可验证任务(反之亦然),效果有限甚至下降
  2. 从一个任务训练好的检查点出发,微调另一个任务,可以显著提升性能
  3. 从基础模型出发,结合两种奖励信号进行训练,在两类任务上都有提升

为何半在线学习表现优异?

半在线学习之所以能在多个任务上取得优异表现,主要原因包括:

1. 更好的探索能力

通过定期更新生成模型,半在线学习使模型能够基于最新的自身能力探索可能的回答空间,这比固定生成模型的离线训练具有更强的探索能力。

2. 更高的计算效率

与纯在线训练相比,半在线学习不需要每步都同步生成模型和训练模型,可以在两次同步之间批量生成训练数据,提高了计算资源的利用效率。

3. 稳定性和灵活性平衡

半在线学习在稳定性和灵活性之间取得了更好的平衡:

  • 相比离线训练,它更灵活,能够适应模型的变化
  • 相比在线训练,它更稳定,减少了因频繁更新带来的训练波动

RLHF:让AI更懂人心

RLHF (Reinforcement Learning from Human Feedback) 是一种让AI模型更好地理解并遵循人类偏好的技术。它的基本思想是通过人类反馈来指导AI的学习过程,使模型生成更符合人类期望的回答。

RLHF的三个核心步骤

RLHF流程通常包括三个步骤:

1. 预训练一个语言模型 (LM)

首先,需要一个基础的语言模型。这个模型通常已经在大规模文本数据上进行了预训练,具备了基本的语言理解和生成能力。

2. 训练一个奖励模型 (RM)

接下来,需要聚合问答偏好数据,并基于此训练一个奖励模型。奖励模型源于强化学习中的奖励函数概念,能够对当前的状态(回答)给出一个分数,来说明这个状态产生的价值有多少。

简单来说,奖励模型会对输入的问题和答案计算出一个分数。输入的答案与问题匹配度越高,则奖励模型输出的分数也越高。

3. 使用强化学习 (RL) 对 LM 进行微调

最后,使用强化学习技术对原始语言模型进行微调。目标是让模型生成能够获得高奖励的回答。

[图片:https://images.unsplash.com/photo-1522542550222-31fd19575a2d?auto=format&fit=crop&w=1350&q=80]

RLHF的优势与挑战

RLHF的优势在于它能够使模型更好地与人类价值观和偏好保持一致,这对于开放式的生成任务尤为重要。

然而,传统的RLHF方法也有其局限性:

  • 需要两个独立的大语言模型(一个用于生成,一个用于奖励计算),耗时费钱
  • 强化学习算法复杂,参数调整困难
  • 实施门槛高,只有少数几个世界领先的模型团队能够充分利用其潜力

PPO:强化学习的经典选择

Proximal Policy Optimization (PPO) 是一种广泛使用的强化学习算法,也是早期RLHF方法的首选。

PPO的核心思想

PPO属于策略梯度方法,它的工作原理是:

  • 从旧策略中采样数据
  • 通过重要性抽样来估计梯度
  • 使用”剪切”机制来限制策略更新的幅度,保持训练稳定

PPO的核心公式如下:

\mathcal{L}_{\mathrm{PPO}}=-\mathbb{E}_{y\sim\pi_{\theta_{\mathrm{old}}}}\left[\sum_{t}\operatorname*{min}\left\{\frac{\pi_{\theta}(y_{t}|x,y_{<t})}{\pi_{\theta_{\mathrm{old}}}(y_{t}|x,y_{<t})}A_{t},\mathrm{clip}_{\epsilon}\left(\frac{\pi_{\theta}(y_{t}|x,y_{<t})}{\pi_{\theta_{\mathrm{old}}}(y_{t}|x,y_{<t})}\right)A_{t}\right\}\right] $$

其中:
– $\pi_{\theta}$ 是当前策略
– $\pi_{\theta_{\mathrm{old}}}$ 是旧策略
– $A_t$ 是优势函数估计
– $\mathrm{clip}_{\epsilon}$ 是剪切函数,用于限制策略更新的幅度

### PPO的优势

PPO的优势在于:
– 可以高效地利用采样数据,进行多次更新
– 对超参数不是特别敏感
– 训练相对稳定

正是由于这些优势,PPO成为了ChatGPT等大型语言模型训练的首选方法。

## DPO:简化流程的新选择

Direct Preference Optimization (DPO) 是近年来兴起的一种更简化的RLHF方法。它的核心思想是直接优化策略以匹配人类偏好,而不需要显式地训练奖励模型。

### DPO的数学原理

与传统RLHF先训练奖励模型再优化策略不同,DPO直接优化策略。具体来说:

1. DPO从优化期望序列级奖励 $r(y)$ 开始,并添加一个KL项:

  1. 这个目标可以转换为一个单一的KL项:

\mathcal{O}=-\mathrm{KL}\left[\pi(y|x)||\pi^{*}(y|x)\right],\quad\mathrm{where~}\pi^{*}(y|x)=\pi_{\mathrm{ref}}(y|x)e^{r(y)/\beta} $$

3. 然后使用Bradley-Terry模型将人类偏好转化为奖励:

  1. 最后使用交叉熵损失进行优化,得到DPO损失:

\mathcalL}{\mathrm{DPO}}=-\log\sigma\left(\beta\log\frac{\pi(y{c}x)\pi_{\mathrm{ref}}(y_{c}x)-\beta\log\frac\pi(y_{r}x)\pi_{\mathrm{ref}}(y_{r}x)\right)

DPO的优势

DPO的优势在于:

  • 简化了训练流程,去除了奖励模型拟合的需求
  • 减少了对大量超参数调整的需求
  • 在一些任务上表现与基于PPO的RLHF相当甚至更好

[图片:https://images.unsplash.com/photo-1516245831903-c4ed80a3d745?auto=format&fit=crop&w=1350&q=80]

DPO的局限性

然而,DPO也有其局限性:

  • 缺乏理论保证,无法保证损失减少会提高预期奖励
  • 相比PPO,泛化能力有限

离线、半在线和在线训练方法比较

在了解了几种主要算法后,我们需要考虑如何组织训练过程。根据模型更新和生成响应的同步程度,可以将训练方法分为三类:

离线训练 (Offline Training)

传统上,DPO采用的是离线训练方式:

  • 首先使用初始模型生成一组训练响应
  • 然后基于这些预先生成的响应进行训练
  • 整个训练过程中,生成响应的模型和进行训练的模型是分离的

离线训练的优势在于计算效率高,可以预先批量生成所有训练数据,然后专注于模型训练。但缺点是模型只能从固定的、可能已经过时的响应中学习。

在线训练 (Online Training)

与离线训练相对,在线训练强调实时性:

  • 定期使用当前模型生成新的响应
  • 立即基于最新生成的响应进行训练
  • 模型参数更新和响应生成紧密同步

在线训练的优势在于模型可以不断从最新的、更好的响应中学习,但计算成本通常更高,需要更精细的资源管理。

半在线训练 (Semi-online Training)

半在线训练是上述两种方法的中和:

  • 定期(但不是每步)将生成模型与训练模型同步
  • 在两次同步之间,可以并行生成多个批次的训练数据
  • 平衡了训练效果和计算效率

实际应用建议

基于论文的研究结果,以下是一些实用的训练建议:

1. 优先考虑半在线训练

对于大多数应用场景,半在线训练是一个很好的平衡点:

  • 相比纯离线训练,可以获得显著的性能提升
  • 相比纯在线训练,计算效率更高,更容易实施
  • 同步频率可以根据具体任务和计算资源进行调整

[图片:https://images.unsplash.com/photo-1534665482403-a909d733696e?auto=format&fit=crop&w=1350&q=80]

2. 关注训练稳定性

论文提到,在训练过程中可能会遇到训练不稳定的问题:

  • DPO训练有时会突然发散
  • 增加Adam优化器的epsilon值可以提高稳定性
  • 适当调整学习率和梯度裁剪也有助于稳定训练

3. 监控和调整响应长度

研究发现,模型可能会”利用”奖励模型的偏好,生成过短或过长的响应:

  • 在可验证任务上,缺乏参考模型同步可能导致响应长度崩溃
  • 在非可验证任务上,模型可能会利用奖励模型的长度偏见
  • 可以通过归一化奖励、添加长度惩罚或选择检查点来缓解这些问题

4. 考虑多任务训练

如果应用场景需要模型同时处理多种类型的任务:

  • 尝试结合可验证和非可验证任务的训练
  • 从基础模型出发,同时优化两种类型的奖励
  • 在验证集上选择平衡两类任务性能的检查点

未来展望

大语言模型的训练方法仍在快速发展中:

1. 更高效的训练算法

研究人员正在探索更高效、更稳定的训练算法,以降低计算成本并提高模型性能。

2. 更好的奖励设计

如何设计更准确、更全面的奖励函数,以准确反映人类对回答质量的判断,仍然是一个重要研究方向。

3. 多模态训练

目前的研究主要集中在文本领域,未来可能会扩展到图像、音频等多模态数据的训练。

4. 更广泛的应用场景

随着训练方法的改进,大语言模型有望在更多领域发挥作用,如医疗、教育、法律等。

[图片:https://images.unsplash.com/photo-1505740420928-883d7334eb76?auto=format&fit=crop&w=1350&q=80]

总结

本文探讨了从离线到在线的大语言模型训练方法,并比较了不同训练策略和算法在可验证和非可验证任务上的表现。研究表明,半在线学习是一种很有前景的训练策略,它在性能、效率和稳定性之间取得了良好的平衡。

随着技术的不断进步,我们有理由相信,未来大语言模型的训练将更加高效、精准,为人工智能的发展注入新的动力。