用烘焙比喻 LLM 训练:从冷发酵到出炉
Baking a Model: A Metaphor for LLM Training

我想起高中时痴迷于 Motorola 6800 指令集手册,如今对 AI 模型的机制同样着迷。本文将烘焙过程与 LLM 训练进行类比:Pre-training 就像冷发酵,需要投入巨资和时间让数据在模型中自然演化,产出虽不可直接使用,却是后续步骤的基石;Post-training 则如同塑形与烘烤,研究人员针对具体问题微调模型,使其真正变得“美味”可用。模型本质上是一堆数字,通过训练而非传统编程生成。大多数团队面临的不是战略问题,而是适应性问题——计划终将与现实碰撞,关键在于组织是弯曲还是折断。
大多数团队没有战略问题,他们有的是适应性问题。
- unjuno
LLM 预训练或许可以被视为从序列中学习有用的状态表示,而不是由人类预先显式地设计这些状态。
在许多传统软件系统中,我们会自己定义状态和转换:空闲、发送中、完成、错误等等。LLM 预训练的工作方式不同:模型从大量序列中学习,以预测接下来可能出现的内容。
我并不是说 LLM 字面上构建了离散的内部状态。相反,它学习的是对预测有用的上下文潜在表示。从这个意义上说,这些表示可以被视为一种学习到的状态。
这似乎与抽象密切相关。抽象不仅仅是丢弃信息,而是抽象掉那些对预测无关的差异,同时保留那些重要的差异。
两个序列在表面上可能看起来非常不同,但在预测接下来会发生什么时,却依赖于相似的底层特征。即使是一个罕见的特征,如果它会改变预测结果,也应该被保留。
从这个角度来看,预训练可以看作是一种有用的压缩:学习那些保留了对预测至关重要的信息,同时抽象掉无关信息的表示。
抽象、压缩和预测能在多大程度上被理解为同一过程的不同方面?
- tosh
预训练之后,你得到的 LLM 能够理解语言,其行为有点像 GPT-3.5 或更新的“基础”模型。
它在预测下一个 token 方面会相当出色。
试想:输入“最好的城市是什么?”,它可能会续写为“最好的编程语言是什么?”,而不是回答问题。
为了提高得到回答的概率,你可以从“最好的城市是”开始输入。
(强大的 LLM 甚至能够进行对话,但它们尚未专门为此进行训练)
在微调阶段,LLM 会通过输入/输出对进行训练,将其进一步引导至与用户进行来回交互的方向,或者学习如何使用工具等。
这两个训练阶段都讲究技巧。
当前模型如此有用的原因在于,自 GPT-3.5 以来,预训练和微调都取得了巨大进展,才让我们走到了今天这一步。
(如果我理解有误,请指正)
很想听听熟悉预训练和微调的朋友们的看法:你们认为未来的进步更可能来自哪里?
- Alephinitesimal
烘焙是个很好的比喻,不过最近它也让我觉得有点像酿酒。蒸馏在训练中是一个 surprisingly important(意外重要)的环节。