AI技术总监级拆解大模型|第11讲
Tokenizer、语言模型与 GPT:为什么“预测下一个 Token”足够强?
AI 学习系列|第11讲 / 共26讲
第10讲已经讲清楚 Transformer;这一讲把它真正接到 GPT:
原始文本 → Tokenizer → Token ID → Embedding → Transformer → Logits → 概率 → 下一个 Token真正要回答的是:
GPT 到底怎样把人类文字变成数字、再一步一步生成下一段文字?
01|模型不能直接吃文字
人看到:
人工智能正在改变世界模型先要把它转换成可计算的离散单位:
Token
Token 不一定等于一个字,也不一定等于一个词,可能是汉字、英文单词的一部分、标点或特殊符号。
所以:
文本 ↓ Tokenizer ↓ Token ↓ Token ID02|为什么不用“整词”分词?
如果词表只收完整单词,遇到新词、拼写错误、生僻词就容易出现 OOV。
因此现代 Tokenizer 往往采用 Subword、Byte-level 等更细粒度方法:
常见部分 → 尽量合并 陌生部分 → 继续拆分核心目标:
在词表大小、文本覆盖率和 Token 长度之间取得工程平衡。
BPE、Byte-level BPE、SentencePiece 不要混为一谈
- BPE:一种子词合并算法。
- Byte-level BPE:以字节级单元作为更稳健的基础表示。
- SentencePiece:Tokenizer 工具/框架,可实现 BPE、Unigram 等方法。
03|Token ID 是什么?
假设:
我 → 101 喜 → 205 欢 → 307 AI → 88得到:
[101,205,307,88]这些数字通常只是:
词表索引。
101并不比88“更有 AI 语义”。
因此:
Token ID ≠ EmbeddingToken ID 只是定位 Embedding Table 某一行。
04|Token ID 怎么变成向量?
Embedding Table:
[
E\in\mathbb{R}^{V\times D}
]
Token ID 为 (i) 时:
[
e_i=E[i]
]
所以:
Token ID ↓ Embedding Table ↓ 向量批量输入若为[B,T],Embedding 后通常为:
[B,T,D]05|Tokenizer 为什么会影响模型成本?
Tokenizer 直接影响:
Token 数量 ↓ 序列长度 ↓ 计算量 ↓ 显存与延迟 ↓ 推理成本同一句话如果一个 Tokenizer 切成 20 个 Token,另一个切成 35 个 Token,后者序列更长,Attention 等计算的压力也会更大。
所以 Tokenizer 不是简单的切词工具,而是模型输入空间的重要工程设计。
06|进入语言模型
Transformer 输出隐藏表示后,会经过语言模型头得到:
Logits
例如:
猫:2.1 狗:1.2 鸟:0.3再通过:
[
P(x_i)=\frac{e^{z_i}}{\sum_j e^{z_j}}
]
得到概率。
所以:
Hidden State ↓ Logits ↓ Softmax ↓ Next Token Probability07|GPT 的核心:预测下一个 Token
给:
人工智能正在预测:
世界数学形式:
[
P(x_t\mid x_{<t})
]
也就是:
给定前面的 Token,预测下一个 Token。
训练:
前文 ↓ 预测下一个 Token ↓ 和真实 Token 比较 ↓ Loss ↓ Backward ↓ Optimizer ↓ 参数更新08|为什么这么简单的目标能产生复杂能力?
因为现实数据并不是随机 Token。
代码有:
语法 变量 函数 控制流 上下文文本有:
语法 术语 上下文 概念关系为了不断提高“下一 Token”预测准确率,模型就必须学习这些结构。
因此:
训练目标很简单,不代表完成目标所需要的内部表示很简单。
但要注意:
预测能力形成复杂表示,不等于已经证明模型拥有与人类完全相同的理解机制。
09|为什么不需要人工给每个 Token 写标签?
一段文本:
x1 x2 x3 x4 x5可以自动生成:
输入: x1 x2 x3 x4 目标: x2 x3 x4 x5因此海量文本、代码、文档都可以自动产生监督信号。
这就是自回归语言模型非常强的工程优势。
10|从概率角度看训练目标
联合概率:
[
P(x_1,\ldots,x_n)
\prod_{t=1}^{n}P(x_t\mid x_{<t})
]
取对数:
[
\log P(x_1,\ldots,x_n)
\sum_t\log P(x_t\mid x_{<t})
]
于是常见训练目标:
[
L=-\sum_t\log P(x_t\mid x_{<t})
]
这就是语言模型中的 NLL / Cross-Entropy 思想。
如果正确 Token 的预测概率高,Loss 小;概率低,Loss 大。
11|GPT 是怎么生成文字的?
例如:
人工智能正在 ↓ 预测下一 Token ↓ 世界 ↓ 人工智能正在世界 ↓ 再次预测 ↓ ……即:
已有上下文 ↓ Transformer ↓ Logits ↓ 概率 ↓ 选一个 Token ↓ 追加 ↓ 继续这叫:
Autoregressive Generation,自回归生成。
训练和生成不要混淆:
训练:预测 → Loss → Backward → 更新参数 生成:预测 → 选择 Token → 追加 → 再预测12|把整条 GPT 数据流串起来
原始文本 ↓ Tokenizer ↓ Token IDs ↓ Embedding ↓ Position Information ↓ Transformer ↓ Hidden States ↓ LM Head ↓ Logits ↓ Softmax ↓ 下一个 Token ↓ 继续生成13|本讲真正必须记住的 8 件事
1. Token 是模型处理的离散文本单元。 2. Token ID 通常只是词表索引。 3. Embedding 把 Token ID 变成向量。 4. Transformer 建模上下文。 5. LM Head 把隐藏表示变成词表分数。 6. Softmax 把分数变成概率。 7. GPT 的核心训练目标是预测下一个 Token。 8. 生成就是“预测 → 追加 → 再预测”。14|一句话吃透第11讲
Tokenizer 把文字变成 Token,Embedding 把 Token 变成向量,Transformer 建模上下文,Logits → Softmax 给出下一个 Token 的概率;模型不断用这个简单而统一的目标训练海量数据,最终形成强大的语言建模能力。