把互联网装进参数里:预训练 (Pre-Training)

如果你要训练一个拥有万亿参数的 GPT 模型,第一步是极其枯燥且昂贵的:无监督预训练

这个阶段不需要人工标注任何问题和答案,模型唯一要做的任务极其简单粗暴:“猜下一个词(Next-Token Prediction)”

1. 数据的喂养:Token 是什么?

大模型看不懂字,它们只认识数字。在输入前,我们会把所有的维基百科、Reddit 论坛、Github 代码库、书籍等海量文本,用分词器(Tokenizer)切碎成一个个 Token(词元)。

  • 英文中,1 个 Token 大约等于 0.75 个单词。
  • 模型看到的是:[The, quick, brown, fox, jumps, over, the, lazy, ...]

2. 参数的更新:反向传播 (Backpropagation)

模型开始做题。如果上半句是“The quick brown fox”,模型随机猜下一个词是“apple”。 这时候,我们拿着真实的数据去跟它对峙:“错了!正确答案是 jumps!”

根据这个差距(Loss 函数),我们用微积分的链式法则计算梯度,并通过反向传播去更新这上千亿个神经元的权重(Weight)。这个过程要在上万张 H100 显卡上,昼夜不停地跑几个月。

预训练的终点,是一个叫做 Base Model 的东西。 它极其聪明,包含了全人类的知识;但它极度不可控,如果你问它“1+1等于几?”,它可能回答“2+2等于4,3+3等于6”,因为它仅仅是在模仿互联网上做题集的连载模式,并不懂得“回答”问题。

赋予模型人性:监督微调 (SFT)

为了让 Base Model 变成一个有问必答的“助理”,我们需要进行第二阶段:监督微调(Supervised Fine-Tuning)

这一步需要雇佣人类专家(比如各个领域的博士),人工撰写高质量的“Prompt(指令) - Completion(回答)”对:

  • Prompt:写一首关于秋天的十四行诗。
  • Completion:[这里是人类专家精心写的一首诗]

把几十万条这样极其优质的数据喂给模型,让它通过继续梯度下降来学习一种固定的模式:“当用户发出指令时,我必须给出有逻辑、连贯且符合格式的回答”

经过 SFT 后,它开始有模有样地像个助手了。但问题又来了:它可能会顺着用户的恶意指令去生成制作炸弹的教程,或者一本正经地胡说八道。

给巨兽戴上项圈:基于人类反馈的强化学习 (RLHF)

这是让 OpenAI 真正拉开差距的杀手锏。为了让模型“向善”,不仅要教它怎么回答,还要给它设立明确的奖惩机制(Reward Model)。

1. 训练裁判:Reward Model (RM)

首先,让刚刚 SFT 出来的模型对同一个问题生成 4 个不同的回答(A、B、C、D)。 让人类标注员来进行排序打分(比如:A > C > D > B),理由是:A 既安全又详细;B 包含有害信息;C 啰嗦;D 跑题。

用这些排序数据,我们去训练另一个小一点的模型,叫奖励模型(Reward Model)。这个 RM 就像是一个铁面无私的裁判,只要你给它一对问答,它就能打出一个符合人类价值观的分数。

2. PPO 强化学习:为了高分而战

现在,我们可以用强化学习算法(PPO,Proximal Policy Optimization)来让大模型“自我进化”了:

  • 我们丢给大模型几百万个 Prompt。
  • 大模型生成回答。
  • RM 裁判给回答打分。
  • 大模型收到分数后,调整自己的生成策略(Policy),想尽办法去迎合裁判的口味,获取更高的分数。

经过这一轮魔鬼训练,LLM 就像一个被社会驯化的天才儿童,它学会了礼貌、拒绝回答有害问题、并且尽量给出详实有用的信息。这就是你现在每天都在用的那个强大的 AI。