Skip to content

如何从零训练一个 LLM?

How to train LLM from scratch?

模型搭建完成之后,下一步就是训练它,使它能够理解语言、并处理现实场景中会遇到的各类任务。我们会依次介绍:

  • 预训练
  • 指令微调
  • 偏好微调
  • 推理微调

下面这张图清晰地总结了这些阶段是如何环环相扣的。

llms p18 1

0)随机初始化的 LLM

此时,模型什么都不懂。你问它「什么是 LLM?」,得到的回答可能是「试试彼得的手你好 448Sn」这类胡言乱语。它还没见过任何数据,权重完全是随机的。

llms p19 1

1)预训练

这个阶段通过在海量语料上训练模型去预测下一个 token,教会它语言的基础知识。通过这种方式,它逐渐吸收了语法、世界知识等信息。但此时它并不擅长对话,因为一旦被提示,它只会机械地续写文本。

llms p19 2

2)指令微调

为了让它具备对话能力,我们会用「指令—回复」配对数据进行指令微调。这能帮助模型学会如何理解指令、并以恰当的格式给出回复。

llms p20 1

现在它已经能够:

  • 回答问题
  • 总结内容
  • 编写代码,等等

到这一步,我们大概率已经:

  • 用尽了整份原始互联网存档和知识数据。
  • 用尽了人工标注「指令—回复」数据的预算。

那我们还能做些什么来进一步提升模型呢?我们由此进入了强化学习(RL)的领域。

3)偏好微调(PFT)

你一定在 ChatGPT 上见过这样的界面:它会问你「你更喜欢哪个回答?」

llms p21 1

这不仅仅是在收集反馈,而是极具价值的人类偏好数据。OpenAI 正是用这类数据、通过偏好微调来调优他们的模型。在 PFT 中:用户在两个回答之间做出选择,从而产生人类偏好数据;随后训练一个奖励模型来预测人类的偏好,再用强化学习更新 LLM。

llms p21 2

上述流程被称为 RLHF(基于人类反馈的强化学习),用于更新模型权重的算法则被称为 PPO。它教会 LLM 在没有「标准答案」的情况下,也能与人类的价值取向对齐。但我们还能让 LLM 变得更好。

4)推理微调

在推理类任务(数学、逻辑等)中,通常只存在一个正确答案,以及一套获得该答案的明确步骤。因此我们不再需要人类偏好数据,而是可以直接用「正确与否」作为信号。这就是所谓的推理微调。

llms p22 1

步骤:

  • 模型针对提示词生成一个答案。
  • 将该答案与已知的正确答案进行比对。
  • 根据正确与否,给予相应的奖励。

这被称为「可验证奖励强化学习」(RLVR)。DeepSeek 提出的 GRPO,就是实现这一思路的一种热门技术。以上就是训练一个 LLM 的四个阶段。

  • 从一个随机初始化的模型开始。
  • 在大规模语料上对它进行预训练。
  • 用指令微调让它学会遵循指令。
  • 用偏好微调和推理微调来打磨、提升它的回答质量。

本站内容仅供学习交流,版权归原作者所有。