# Transformer 推理流水线解剖

大语言模型如何把提示词切分、编码，经预填充与自回归解码一步步生成回复

By luna miricle

Topic: Computing, AI &amp; Electronics

[Open the interactive Jig](https://ask.jig.com/j/Z8zfMnIjbRCV)

## Transcript

### 1. Transformer 推理流水线

这是一台把提示词变成回答的“文字工厂”。问题“天空为什么是蓝色？”从左边进入，被切分、编码、计算，最后从右边一个词一个词地生成回答。拖动画面可以转动模型。

整条流水线只做一件事：反复猜“下一个词”。

### 2. 分词器：切成 Token

分词器按 BPE 规则把句子切成小块，叫 Token（词元）。每块都有一个数字编号 ID，就像字典里的页码。切出的块常常只是词的一部分。

Llama 3 的词表约有 12\.8 万个 Token。图中的编号只是示意。

### 3. 词嵌入与位置编码

每个 ID 去查找表里取出一行数字，变成一根悬浮的“向量柱”。再叠加一组正弦波数值，告诉模型每个词排在第几位。

真实向量很长：GPT\-2 小模型每个词有 768 个数，这里只画 8 格。现代模型常用旋转位置编码 RoPE。

### 4. 第一阶段：并行预填充

整段提示词的向量一起涌进解码器层，每一层同时算出 Q、K、V。每层的 K 和 V 被存进 KV Cache 缓存库，留给后面反复使用。这是一大块矩阵乘法，算力满载。

预填充结束时就得到了第一个新词，这段等待叫“首字延迟”。

### 5. 注意力光束

最新的词用它的 Q（查询）去比对缓存里每个词的 K（键），光束越粗越亮，关注越多；再按这些权重把 V（值）加起来。拖动滑块放大观察，金色的是当前注意力头。

每层有许多注意力头同时工作，各自关注不同的关系。图中权重为示意。

### 6. 第二阶段：自回归解码

每按一次按钮，模型只处理最新的一个词：算出它的 Q、K、V，把新的 K、V 追加进缓存，再和全部历史做注意力。概率塔升起候选词，采样器选出胜者，经回环管道排到队尾，开始下一轮。

每生成一个词，都要从显存里把全部权重和缓存读一遍，所以解码受显存带宽限制。

### 7. 温度 Temperature

温度调节概率的“尖锐程度”。温度低，最高的柱子更突出，回答更稳定；温度高，柱子变得平均，回答更多样。拖动滑块看看概率柱怎样起伏。

采样器隔一会儿抽一次签：胜出的不一定是最高的柱子。

### 8. Top\-p 核采样

Top\-p 只保留概率加起来刚好达到 p 的几个候选词，其余的变淡、被排除。剩下的重新分配概率，再抽签。p 越小，可选的范围越窄。

常见设置是 p = 0\.9 左右。

### 9. 预填充 vs 解码

预填充像一次搬完一整箱书：所有词并行计算，忙的是算力。解码像每写一个字都要把整本书翻一遍：一次只算一个词，忙的是显存带宽。KV Cache 让旧词不必重算，解码才跑得动。

一个 80 亿参数的模型，用半精度存储时权重约 16 GB。
