诀窍:让文本自己当答案
你已经认识了 Transformer——那台通过 注意力 让模型把每个词与其他所有词相互权衡的引擎。预训练就是我们喂给这台引擎的东西,而其中的秘密简单得几乎令人不好意思。取来海量文本,把下一个词遮住,让模型去猜。它来自的那段文本本身就是答案,所以没有任何人需要去做标注。这就是 [[self-supervised-learning|自监督学习]]:数据为自己充当监督。
这其实就是你在自然语言处理那一级见过的 语言建模,只是被放大到了荒诞的程度。模型读入一串 词元,再通过 softmax 为每一个可能的下一个词元输出一个概率。我们把这个预测和真正的下一个词元做比较,用一个 损失函数 衡量误差,再用 随机梯度下降 把数十亿个 权重 往下推一点。重复万亿次。这里没有任何新东西——就是你早已理解的 反向传播,只不过连续跑上好几个月。
从预测器到基础模型
当你在足够宽广的数据上训练出一个模型,使它成为众多任务可复用的起点时,你就有了一个 [[foundation-model|基础模型]]。这个名字捕捉到了一种转变:不再为每个任务从头训练一个新网络——翻译一个、情感分析一个——而是一次性付出高昂代价完成预训练,之后再廉价地适配。一个 大语言模型 不过是一个以文本为预训练养料的基础模型。
这是行星尺度上的 迁移学习。预训练得到的权重蕴含着语言的通用 表征;之后一个规模小得多的 微调 阶段会把它们重塑,以服务某个具体用途。关键在于:原始的预训练模型还不是一个聊天机器人。它会像一个网页那样乐呵呵地续写你的提示——补全、填充,甚至编造——因为补全正是它被要求做的全部。把它变成一个乐于助人的助手,是*下一篇*指南的任务。
raw text ──tokenize──▶ [The, capital, of, France, is]
│
transformer (billions of weights)
│
softmax over the whole vocabulary
▼
P("Paris")=0.71 P("a")=0.04 P("home")=0.01 ...
loss = -log P(true next token) → backprop → repeat三种原料:数据、算力、参数
三个旋钮决定了一个预训练模型能有多好。数据:经过精挑细选的网页、书籍、代码等的汇集——通常是万亿级词元,并经过严格的质量筛选与去重,因为一个模型由它所吃的东西塑造而成。算力:成千上万张 GPU 或 TPU 通过 分布式训练 连续运行数周,这是大多数机构所做过的最庞大的单次计算。[[parameter|参数]]:那数十亿个用来存储所学内容的权重。
了不起的发现是,这些并非随机的赌注。[[scaling-laws-capability|缩放定律]] 表明:当你把数据、算力和参数一起做大时,损失会平滑且可预测地下降——往往呈现出一条干净的幂律曲线,让你在花钱之前就能外推。它们还告诉你其中的*配比*:在给定算力预算下,模型规模与训练词元数之间存在一个最优比例,而早期那些巨型模型相对其规模而言,训练用的数据太少,严重训练不足。
涌现能力——请仔细读
随着模型变大,研究者注意到一些技能:它们在小模型里似乎不存在,在大模型里却出现了——多步算术、遵循不寻常的指令、解谜题。这些被称为 [[emergent-abilities|涌现能力]]:仿佛在越过某个规模之后突然开启、而非逐步改善的能力。这是一个确实引人注目的观察,但它同时也是这个领域里被炒作得最厉害的说法之一。
这里有一个诚实的提醒。后续工作表明,许多“突然”的跃升在一定程度上是*度量方式*造成的假象。如果用全有或全无的方式给任务打分(每一位数字都对才算对),进步看起来就像一道悬崖;如果用部分计分的方式(按逐词概率)来打分,同一项技能就会平滑地改善,恰如缩放定律所预测的那样。底层的本领往往是渐进生长的;那道陡峭的分界线,有时是在我们的尺子上,而不在模型里。
所以请同时把握两个事实。规模确实会解锁性质上全新的行为——这是真实而重要的。但“涌现”并不意味着神奇、不可预测,也不是模型正在觉醒的征兆。许多看似飞跃的东西,其实是一种度量选择,遇上了稳定而有规律的改善。对于那些关于智能突然降临的宏大断言,请用你对待任何非凡结论时同样的怀疑态度去对待。
预训练是什么——以及不是什么
把这一阶段到底交付了什么说清楚,会很有帮助。一个预训练模型,是对“文本通常会如何延续”的一种庞大的统计压缩。它读过的东西远多于任何人,然而它没有目标、不理解何为真相、也意识不到自己正在回答某个人。它那流畅的自信,恰恰说明了为什么 幻觉——用一种听上去合理的口吻说出错误的事——并不是一个意外拧上去的 bug,而是“为合理的延续而优化”所带来的直接后果。
预训练同样有着真实的代价和边界,值得点明。数据里带着人类的偏见,模型会把它吸收进来,还可能将其放大。知识被冻结在训练截止那一刻,所以模型没有任何与生俱来的途径去知道更新的事情。而训练一个前沿模型背后所耗的能源与水量相当可观——环境成本 是这本账上真切的一笔,而非事后的补记。
继续往下读时,请记住这个框架。预训练造出的是一台强大、博学,却原始而无的引擎。本级里余下的几篇指南会为它装上转向系统——用微调和 RLHF 让它变得乐于助人,用采样把它的概率变成文字。这些都没有创造出一个心智;它们只是把一个预测器塑造成一件工具。把这条界线划得清清楚楚,正是“用好这些系统”与“被它们糊弄”之间的分别。