@0xCodez: https://x.com/0xCodez/status/2058911661973454915

X AI KOLs Timeline 新闻

摘要

一份详细指南,解释构建大型语言模型的五个阶段流程,强调数据质量和工程实践比架构更为重要。

https://t.co/BU4dtLFVI9
查看原文
查看缓存全文

缓存时间: 2026/05/25 14:56

如何从零开始构建自己的大语言模型(5个阶段):GPT和Claude背后的完整流水线

我拆解了大型语言模型实际是如何构建的——ChatGPT、Claude和Gemini背后的完整流水线——并将其浓缩成一张图谱。

收藏本文。保存它。 读完后你将理解从原始互联网文本到能像助手一样回答的模型所经历的精确五个阶段路径。

关注我的Substack获取最新AI干货:movez.substack.com

这不是夸张。大多数人认为构建LLM的关键是架构。这里的核心教训是:架构恰恰是最不重要的部分。

人人都相信的LLM谎言

问大多数人如何构建像Claude这样的模型,他们会说“transformers“。仿佛秘密在于神经网络的设计。

并非如此。Transformer架构基本已经标准化,并且被公开发表。每个主流实验室使用的都是大致相同的构建模块。如果架构是护城河,那么人人都该拥有GPT-4。

这里有一句话能重新定义一切:在实践中,决定模型成败的是数据、评估和系统——而不是架构调整。最好的模型不仅仅是训练出来的,它们是工程化出来的。

因此,这份指南围绕真正重要的东西展开。五个阶段。架构只是阶段1里的一个脚注。真正的模型胜负取决于其他四个阶段。

01. 预训练——教会模型语言本身

一切从一个看似简单的目标开始:预测下一个词。 这就是自回归语言模型。给定一个词序列,模型学习下一个词的概率分布。

在足够多的文本上做这件事,模型就能吸收语法、事实和推理模式——不是因为有人教它,而是因为要准确预测下一个词必须掌握这些。

分词先行

在模型看到文本之前,文本会被拆分成token。标准方法是字节对编码(BPE),它的逻辑会影响到下游的一切。

架构——最不重要的部分

模型就是一个transformer。本节基本上就讲这么多,这正是重点所在。你不可能靠发明一个更聪明的transformer来获胜。 获胜的是其他四个阶段。

讲座用缩放定律证明了这一点:transformer相比LSTM只是拥有更好的常数和斜率——选标准工具,然后继续前进。

02. 数据——模型真正的决胜点

如果架构最不重要,那么数据最重要。这个阶段区分了好模型和普通模型,也是大多数人低估的环节。

流水线从Common Crawl开始——对公共网络的爬取,规模大到以PB计量:2500亿个页面,超过一百万个GB。但原始网络数据极其脏乱。

将其转化为训练材料是一个苛刻的多步过滤过程。

处理流水线如下:

  • 提取HTML中的文本——处理数学和样板代码等特殊情况。
  • 过滤不良内容——NSFW、有害信息、个人数据。
  • 去重按URL、文档和行——网络重复内容无穷无尽(页眉、页脚、菜单)。
  • 启发式过滤——根据词数、异常token、脏token移除低质量文档。
  • 基于模型的过滤——预测一个页面是否可能被维基百科引用。
  • 数据混合——按类别(代码、书籍、娱乐)分类,并使用缩放定律重新加权领域。

值得铭记的准则:数据质量胜于数量。 做好数据收集是实际LLM工作的关键——也是最保密的部分。

做好数据收集是实际LLM的关键——也是该领域最严加保守的秘密。

闭源数据集远超开源:LLaMA 3在15万亿token上训练;GPT-4估计在13万亿上训练。

03. 缩放定律——最优地使用计算资源

你有一个月时间使用10000块GPU。你训练什么模型?更大的模型,还是在更多数据上训练?猜测会浪费数百万。缩放定律可以可靠地预测答案。

实证发现:更多的数据和更大的模型能可靠地带来更好的性能,而且你可以在训练前根据模型大小和数据量预测其性能。

现代流水线在小模型上调优超参数,然后沿着曲线外推到最终的大规模运行。

著名的Chinchilla答案:每参数大约20个训练token是计算最优的。但这仅针对训练成本。

一旦你考虑到运行模型(推理)的成本,实际比率会急剧上升,超过每参数150个token。你会在多得多的数据上训练一个更小的模型,因为你要支付数百万次运行它的成本。

而元教训,那个“苦涩的教训“:不要过度复杂化。做简单的事情,然后扩大规模。 从长远来看,唯一重要的是利用计算。

04. 后训练——将预测器转化为助手

预训练之后,你得到了一个强大但对聊天无用的东西。它能补全文本,但它不知道应该回答你。

你问它一个问题,它可能会回复三个更多的问题——这完全是一个合理的下一个词续写。

监督微调(SFT)

你向模型展示数千个示例——一个提示加上一个良好的响应——然后它学会模仿这种模式。这是行为克隆,也是从GPT-3到GPT-4的关键步骤

令人惊讶的是:你需要的示例非常少。几千个就够了,因为SFT只教好答案的格式——知识已经存在于预训练模型中。

Alpaca项目甚至用另一个LLM生成了数据:52000个指令-响应对,用于微调一个LLaMA 7B成为能干的助手。

RLHF——与人类偏好对齐

SFT有三个问题:它受限于人类能力,它会教会模型幻觉(克隆一个模型实际上不知道的“正确“答案会教会它编造内容),而且理想答案成本高昂。RLHF通过优化偏好而非模仿来解决这个问题。

模型生成两个答案。人类挑选更好的一个。这些偏好训练出一个奖励模型,然后LLM被优化以最大化该奖励——经典做法是使用PPO

一个更简单的现代替代方案DPO,通过纯监督学习达到可比质量,如今已是开源社区的标准。

05. 评估与系统——证明有效,并使之可行

有两件事贯穿整个流水线。跳过任何一件,你都不可能拥有真正的模型。

评估:衡量开放式问题

预训练期间的指标是困惑度——模型在多少个token之间“犹豫“。2017年至2023年间,最佳模型从约70个token之间的犹豫降至不到10个。但对齐后困惑度就失效了,因此评估转向基准测试和比较:

  • MMLU和HELM——跨多个领域带有标准答案的任务集。MMLU是最受信赖的预训练基准。
  • Chatbot Arena——人类盲比两个模型并投票;30万+投票支撑着一个Elo排行榜。
  • AlpacaEval——一个LLM评判其他LLM。与Chatbot Arena的相关系数为98%,耗时不到3分钟,花费低于10美元——但它存在偏见,例如偏爱更长的答案。

诚实的结论:评估一个对齐模型确实很难,没有任何一个数字能完全捕捉它。同一个模型在MMLU上的得分可能是0.637或0.488,仅取决于提示格式。

系统:让训练在物理上可行

每个人都受计算资源瓶颈——GPU昂贵、稀缺,且受通信速度的物理限制。一个7B模型仅朴素训练就需要约112GB。因此系统层不是可选的,它是让整个事情可行的关键:

  • 低精度——16位(bf16)代替32位,内存减半,速度提升。
  • 算符融合与分块——最小化慢速的全局内存访问;仅FlashAttention就能带来约1.7倍的端到端加速。
  • 数据并行——将数据集分配到多个GPU上(使用ZeRO分片优化器状态以节省内存)。
  • 模型并行——按层(流水线)或按矩阵(张量)将模型分配到多个GPU上。
  • 稀疏性——混合专家:更多参数,相同FLOPs,通过每token只激活一个子集实现。

整个流水线的启示

回顾五个阶段,论点无可辩驳。架构——每个人都痴迷的部分——得到的关注最少。数据、缩放、对齐、评估和系统才是每个真正决策产生的地方。

这就是为什么两个使用相同架构的实验室会生产出截然不同的模型。架构是共享的。所有重要的东西都不是共享的。

导致LLM项目失败的常见错误

  • 沉迷于架构。 栈中最容易被复制、最缺少差异化的部分。
  • 将数据视为大宗商品。 无论多少计算,脏数据会限制你的天花板。质量优于数量。
  • 跳过Chinchilla数学。 模型太大而数据不足会导致训练不足,浪费计算。
  • 止步于SFT。 微调后的模型只会模仿;没有RLHF或DPO,它永远不会学会人们偏好什么。
  • 对齐后仍信任困惑度。 后训练改变了分布——困惑度不再有意义。

结论:

伟大的模型不是训练出来的,而是工程化出来的。

大多数人会继续相信构建LLM的关键是架构,继续读transformer解释文章,继续忽视真正工作发生的地方。

而那些理解整个流水线的人会看得很清楚:语言建模,然后清洗数据,然后最优缩放,然后对齐,最后在高效系统上进行诚实评估。五个阶段。架构只是其中一个阶段中的一个段落。

挑选一个你一直忽略的阶段——很可能是数据或评估——然后深入研究。差异就在那里。

相似文章

大语言模型部署最佳实践

OpenAI Blog

Cohere、OpenAI 和 AI21 Labs 联合发布了大语言模型开发和部署的初步最佳实践,涵盖使用指南、安全措施、偏差缓解、文档、多元化团队和伦理劳动标准。

@GitHub_Daily: 想了解大语言模型到底是怎么工作的,找到的资料都太过于学术看不懂,或者说的太浅只讲概念,就没一个从头到尾讲清楚的内容。 无独有偶,看到 how-llms-work 这个项目,把大模型的完整流程做成了一个可视化交互网页,内容基于 Karpat…

X AI KOLs Timeline

An interactive visual guide, 'how-llms-work', breaks down the entire lifecycle of Large Language Models based on Andrej Karpathy's lectures, covering data collection to post-training.