一句话总结:不管模型有多大、训练花了多少钱,最终大模型就是两个文件——一个存参数,一个跑推理。理解这一点,你就抓住了 LLM 的本质。


2.1 GPT 是怎么回答问题的?

上一章我们聊了 GPT 的发展历史,这一章我们来回答一个更本质的问题:

GPT 到底是怎么一个 token 一个 token 生成回答的?

2.1.1 史努比铺铁轨

我特别喜欢用一个类比来解释这件事:史努比铺铁轨。

GPT如何回答问题的?

还记得那个经典的动画场景吗?史努比坐在一辆行驶中的火车上,火车前面没有铁轨。史努比要做的事情是:一边开火车,一边在火车前面铺铁轨。

铺一节,开一节。铺一节,开一节。

GPT 生成文字的方式,跟这个几乎一模一样:

  • 火车 = GPT 模型
  • 铁轨 = 生成的文字
  • 铺铁轨的动作 = 预测下一个 token

GPT 不是一次性把整个答案想好再输出,而是一个 token 一个 token 地往外“蹦”。每生成一个 token,它都要再做一次预测:基于目前的上下文,下一个 token 应该是什么?

你在 ChatGPT 里看到的“打字效果”,就来自这个逐步生成过程。不过界面可能把几个 token 合在一起刷新,所以屏幕上看到的分块不一定等于模型的 token 边界。

为了让下面的中文例子好懂,我会暂时把一个汉字当成一个 token。真实的 token 可能是一个字、一段词、标点,甚至字节片段;具体怎么切,由 tokenizer 决定。

2.1.2 为什么是“预测下一个 token”?

你可能会问:为什么要这么麻烦?为什么不能直接输出完整的句子?

原因很简单:语言太复杂了。

一个问题可能有无数种合理的回答。如果让模型一次性输出完整答案,它需要同时考虑所有可能的组合——这个计算量是天文数字。

但如果我们把问题简化成“给定前面的内容,下一个 token 是什么”,问题就变得可控了。每一步只需要在整个 token 词表上给出一个概率分布。

这种“一步一步来”的生成方式,有个专业术语叫 Autoregressive(自回归)。意思是用序列过去的值来预测下一个值。在文本生成里,就是把刚生成的 token 追加回上下文,再预测下一个。


2.2 秘密藏在文字频率里

好,现在我们知道 GPT 是一个 token 一个 token 预测的。但它怎么知道下一个 token 应该是什么呢?

2.2.1 一个有趣的实验

文字出现的频率

让我们做一个思想实验。

假设你看到这样一段开头:"中华人民共..."

你觉得下一个字是什么?

大多数人会说"和"。因为"中华人民共和国"是一个非常常见的词组。

再往下,"中华人民共和...",下一个字是什么?"国"。

这不是魔法,这是统计规律。

如果你统计整个中文互联网上所有的文字,你会发现:

  • 在"中华人民共"后面,"和"出现的概率最高
  • 在"中华人民共和"后面,"国"出现的概率最高
  • 在"中华人民共和国"后面,"成"或"是"出现的概率很高

GPT 的预训练核心目标就是这件事:基于大量文本数据,学习在当前上下文之后,下一个 token 的概率分布。

2.2.2 从统计到神经网络

当然,GPT 不是简单地做词频统计。如果只是统计词频,你需要存储所有可能的上下文组合——这是不可能的。

GPT 的聪明之处在于:它用一个神经网络来"压缩"这些统计规律。

根据上下文预测下一个 token 的概率分布

看这张图:

  • 输入:一段文字,比如"猫爱吃"
  • 神经网络:一个有 700 亿参数的超大网络
  • 输出:下一个 token 的概率分布

模型会告诉你:"鱼"的概率是 91%,"肉"的概率是 5%,"草"的概率是 0.1%...

最简单的做法是选概率最高的那个 token。实际产品也经常从分布中采样,所以同一个问题不一定每次都得到完全一样的回答。

这里的“参数”是什么?你可以暂时把它理解成神经网络的“统计记忆”。700 亿个参数就是 700 亿个学习得到的数字,它们分布式地编码了训练数据中的模式,并不是一条条可直接读出的事实。


2.3 自回归生成:一步一步来

现在让我们看一个完整的例子,理解 GPT 是怎么一步一步生成答案的。

2.3.1 简单版流程

GPT2自回归生成

假设用户输入:"中华人民"

GPT 的工作流程是这样的:

  1. 输入"中华人民" → 输出"共"
  2. 输入"中华人民共" → 输出"和"
  3. 输入"中华人民共和" → 输出"国"
  4. 输入"中华人民共和国" → 输出"成"
  5. 输入"中华人民共和国成" → 输出"立"
  6. ...一直到输出完整的句子

每一步,模型都基于之前的上下文(用户输入 + 已生成的内容)来预测下一个 token。这里为了画图,才把汉字和 token 一对一处理。

2.3.2 详细版流程

GPT2自回归生成详细版

这张图展示了更详细的流程。注意那些编号的箭头:

  • 第 0 步:用户输入"中华人民"
  • 第 1 步:模型输出"共",追加到序列末尾
  • 第 2 步:把"中华人民共"作为新输入,输出"和"
  • 第 3 步:把"中华人民共和"作为新输入,输出"国"
  • ...

这个过程会一直持续,直到:

  1. 模型输出一个特殊的"结束符号"
  2. 或者达到最大长度限制

最终,"中华人民"变成了"中华人民共和国成立于1949年"。

2.3.3 为什么这么慢?

看到这里,你可能理解了为什么 GPT 的回答有时候会比较慢——因为它真的是一个 token 一个 token 生成的。

生成 100 个新 token,就需要做 100 个解码步骤。如果没有缓存,每一步都会重算之前的内容;有了 KV Cache,就能保留已经算过的 Key 和 Value,但新 token 仍然要和越来越长的上下文做 Attention。

这也是为什么后面我们会讲 KV Cache 这个优化技术——它的作用就是避免重复计算之前已经处理过的内容。


2.4 训练大模型需要什么?

了解了 GPT 的工作原理,你可能会好奇:训练这样一个模型需要什么?

答案是:海量数据 + 海量算力 + 海量资金。

2.4.1 数据规模

训练需要数据、计算和工程,最终产生参数文件

以 Meta 的 LLaMA-2-70B 为例,官方公开的数字是:

  • 训练数据:2 万亿个 token
  • 数据来源:公开可获取的在线数据,不包含 Meta 用户数据

注意,token 不等于“英文单词”,也不能不加说明地换算成某个固定的 TB 数。文件大小会随编码、语言和存储格式改变,而 token 数才是训练时真正进入模型的数量。

这些数据经过清洗、去重、过滤,才能用于训练。数据质量直接决定了模型的质量——garbage in, garbage out。

2.4.2 算力需求

LLaMA 2 70B 训练的公开数字与推算数字

LLaMA-2-70B 论文公开的是 1,720,320 个 A100-80GB GPU 小时。

GPU 小时是总量,不是机器数。如果纯粹为了建立直觉,把它平均分给 6,000 张 GPU,结果约等于连续运行 12 天。但这只是除法得到的等价换算,不代表 Meta 实际就用了 6,000 张 GPU。

如果用常见的 6ND6ND 粗略估算密集 Transformer 的训练计算量,其中 N=70BN=70\text{B} 、D=2TD=2\text{T},会得到约 8.4times10238.4 \\times 10^{23} 次浮点运算。这是估算值,不是论文公布的计费读数。

2.4.3 资金成本

训练大模型当然很贵:GPU 要买或租,电力和机房要花钱,数据清洗和工程团队也要花钱,失败的实验更不是免费的。

但 Meta 没有在 LLaMA 2 论文里公布一张“总账单”。把某个云 GPU 时价乘上 GPU 小时,只能得到特定假设下的租用估算,不能冒充真实的全部训练成本。

所以,“训练很贵”这个结论没问题;“必然是 200 万美元”就不严谨了。有公开数字就讲公开数字,没有的地方不要用传闻填空。

2.4.4 MoE:更大的模型

MoE 路由器为每个 token 选择少数专家

那么问题来了:如果想要更大的模型怎么办?

一种方案是 MoE(Mixture of Experts,混合专家) 架构。

基本思路是:不是训练一个超大的模型,而是训练多个"专家"子模型,每个专家负责不同类型的任务。推理时,根据输入内容选择性地激活部分专家。

这样可以在总参数量很大(比如上万亿)的情况下,保持推理时的计算量在可控范围内。

MoE 已经被不少大模型采用。至于闭源模型的具体结构,如果官方没有披露,就不要把传闻当成事实。


2.5 ChatGPT 长什么样?

聊了这么多技术细节,让我们回到用户视角。

2.5.1 用户界面

ChatGPT界面

这是 ChatGPT 的界面。对于普通用户来说,它就是一个聊天框:

  • 你输入问题
  • 它输出回答
  • 支持多轮对话
  • 可以理解上下文

看起来很简单,对吧?

2.5.2 表面 vs 本质

但现在你知道了,在这个简洁的界面背后:

  • 有一个几千亿参数的神经网络
  • 它在一个 token 一个 token 地生成回答
  • 每个 token 都是根据概率分布选出或采样出来的
  • 整个模型背后是海量 GPU 计算和工程投入

理解这个差距,是理解 AI 的第一步。


2.6 核心观点:大模型就是两个文件

终于来到这一章最重要的部分了。

Andrej Karpathy(前 Tesla AI 总监、OpenAI 研究员)说过一句很有名的话:

"大模型实际上就是两个文件。"

什么意思?

2.6.1 两个文件

就是两个文件

看这张图,以 LLaMA-2-70B 为例:

文件一:parameters(参数文件)

  • 大小:约 140GB
  • 内容:700 亿个浮点数
  • 作用:存储模型学到的所有"知识"

文件二:run.c(推理代码)

  • 大小:一个很紧凑的 C 文件
  • 内容:如何加载参数、如何做推理
  • 作用:让参数"动起来"

就这两个东西。

没有神秘的"人工智能引擎",没有复杂的"思维系统"。大模型本质上就是:

  1. 一堆数字(参数)
  2. 一段程序(告诉计算机怎么用这些数字)

2.6.2 llama2.c 项目

Karpathy 为了证明这一点,专门写了一个项目叫 llama2.c。

这个项目用纯 C 语言(不依赖任何深度学习框架)实现了 LLaMA 2 的推理代码。项目说明曾把核心推理代码概括为大约 500 行;仓库后来会继续演进,准确行数不是重点。

这意味着什么?

如果你有参数文件,一个很小的程序就能让它“说话”。

当然,这个小程序浓缩了 Transformer 架构的精髓:Attention 机制、位置编码、LayerNorm、前馈网络... 后面的章节我们会逐一拆解。

但从宏观上看,大模型真的就是这么简单:参数 + 代码。

2.6.3 这个认知为什么重要?

理解"大模型就是两个文件",可以帮助你:

  1. 祛魅:AI 不是魔法,是数学和工程
  2. 理解部署:部署大模型就是把参数文件加载到 GPU 上,然后运行推理代码
  3. 理解量化:所谓"量化"就是把 140GB 的参数文件压缩成 40GB 甚至更小
  4. 理解微调:所谓"微调"就是在原有参数基础上,修改一小部分参数

后面这些概念我们都会详细讲。但核心思想不变:都是在操作那两个文件。


2.7 本章总结

这一章我们回答了一个核心问题:大模型的本质是什么?

2.7.1 关键概念回顾

概念解释
自回归生成GPT 一个 token 一个 token 地生成答案,每次基于之前的内容预测下一个 token
下一个 token 预测模型的核心预训练目标:给定上下文,预测下一个 token 的概率分布
参数神经网络的"记忆",编码了从训练数据中学到的语言规律
两个文件大模型 = 参数文件 + 推理代码

2.7.2 数字记忆

指标LLaMA-2-70B
参数量700 亿
参数文件大小~140GB
训练数据2 万亿 token
训练计算1,720,320 个 A100-80GB GPU 小时
粗略运算量约 8.4 × 10^23 次(用 6ND 估算)
美元成本Meta 未公布;取决于计价和统计边界

2.7.3 核心认知

大模型不是魔法,它就是两个文件:一个存参数,一个跑推理。理解这一点,是理解后续所有内容的基础。


本章交付物

学完这一章,你应该能够:

  • 用"史努比铺铁轨"向朋友解释 GPT 是怎么生成回答的
  • 解释什么是“自回归生成”和“下一个 token 预测”
  • 说出 LLaMA-2-70B 公布的 token 数和 GPU 小时,并分清公开数字与估算值
  • 理解"大模型就是两个文件"的含义

下一章预告

现在我们知道了大模型的本质。下一章,我们要鸟瞰整个 Transformer 架构:

  • 输入是怎么进去的?
  • 中间经过了哪些处理?
  • 输出是怎么出来的?

我们会用一张图讲清楚 Transformer 的全貌,为后面深入每个组件做准备。

好了,这一章就到这里,拜拜!

引用本文 / Cite
Zhang, Wayland (2026). 第 2 章:大模型的本质 - 就是两个文件. In Transformer 架构:从直觉到实现. https://waylandz.com/llm-transformer-book/%E7%AC%AC02%E7%AB%A0-%E5%A4%A7%E6%A8%A1%E5%9E%8B%E7%9A%84%E6%9C%AC%E8%B4%A8-%E5%B0%B1%E6%98%AF%E4%B8%A4%E4%B8%AA%E6%96%87%E4%BB%B6/
@incollection{zhang2026transformer_02_-_-,
  author = {Zhang, Wayland},
  title = {第 2 章:大模型的本质 - 就是两个文件},
  booktitle = {Transformer 架构:从直觉到实现},
  year = {2026},
  url = {https://waylandz.com/llm-transformer-book/%E7%AC%AC02%E7%AB%A0-%E5%A4%A7%E6%A8%A1%E5%9E%8B%E7%9A%84%E6%9C%AC%E8%B4%A8-%E5%B0%B1%E6%98%AF%E4%B8%A4%E4%B8%AA%E6%96%87%E4%BB%B6/}
}