LLM 到底是什么?
理解 LLM 的核心不是查表,而是根据上下文预测下一个 token。
上下文
候选 token 概率
Tokenization:文字如何变成 token
token 是离散符号,token 数量影响上下文长度和推理成本。
为什么要切成 token?
神经网络处理的是数字。tokenizer 先把无限多样的文本压到一个有限词表里,例如“机器学习”可能是一个 token,也可能拆成“机器”“学习”。
BPE 的直觉
先从字符或字节开始,统计最常一起出现的相邻片段,把它们合并成新 token;重复很多轮后,就得到一张子词词表。
SentencePiece 的直觉
把空格也当作文本的一部分来学习子词,适合中英混合、多语言和没有明显空格分词的语言。
这个模拟器怎么切?
为了便于教学,本页使用简化规则:常见中文词优先合并;连续英文字符作为一个词片段;标点单独成 token;没有命中的中文字符退回到单字。真实模型会用训练得到的词表和合并规则,结果可能更细。
Token 结果
切分过程
Embedding:token 如何变成向量
token id 只是词表里的编号;embedding 表是在训练中学出来的参数表,用连续向量承载可计算的语义线索。
表怎么来的?
它不是人工手写的词典,而是模型参数的一部分。每次训练都会根据 loss 的梯度更新 embedding 表。
为什么能有语义?
“猫”和“狗”常出现在相似句子里,例如“喂__”“__在睡觉”,训练会让它们对预测产生相似作用,向量距离自然更近。
模型怎么用?
token id 只负责定位表格行;取出的向量才会进入 Transformer,参与 attention、MLP 和下一 token 预测。
点击 token 查看 8 维 embedding
请选择一个 token。
语义空间二维投影
真实 embedding 可能有数千维,这里是二维投影示意。
Positional Encoding:模型如何知道顺序
Self-Attention 本身很擅长比较 token,但如果不给位置线索,它很难区分“狗咬人”和“人咬狗”。
位置如何编码?
常见做法有固定正弦/余弦编码、可学习 position embedding、RoPE 等。本页用可视化的 position embedding 模拟:位置 0、1、2 会查到不同的位置向量。
最终怎么使用?
最常见的直觉是把 token 向量和位置向量逐维相加,得到带位置信息的输入向量,再送进 Transformer。
它有什么作用?
位置编码让 attention 不只知道“有哪些词”,还知道“谁在前、谁在后、相隔多远”,从而理解顺序敏感的句子。
拖动 token 改变顺序
三种向量相加
Self-Attention:模型如何决定关注哪里
Self-Attention 会为“当前 token 看其他 token 的程度”计算一组权重,再用这些权重汇总上下文信息。
1. 比较相关性
当前 token 的 Q 去匹配所有 token 的 K:越匹配,分数越高。
2. 转成权重
softmax 会把原始分数变成比例,例如 30%、13%、5%。这些比例就是热力图里的深浅。
3. 汇总信息
模型不是复制某个词,而是把所有 token 的 V 按权重混合,得到包含上下文的新向量。
点击一个 token
Attention 热力图
关注比例
Q / K / V:注意力到底是怎么计算的
QK 相似度决定权重,softmax 把分数变为权重,再加权求和 V。
attention_weights = softmax(scores)
output_i = Σ attention_weight(i,j) · V_j
句子:小猫 坐在 垫子 上
QKV 计算过程
Multi-Head Attention:为什么要有多个头
不同 head 并行捕捉语法、指代、位置、主题等关系。
句子:我 把 书 放在 桌子 上 因为 它 很 平
合并多头结果
FFN / MLP:为什么 Transformer 里还有前馈网络
Attention 负责信息交换,MLP 对每个 token 自身表示做非线性加工。
MLP 流程
向量变化
Residual + LayerNorm:为什么要残差连接和归一化
残差保留原始信息,LayerNorm 让数值分布更稳定。
开关组件
数值稳定性
Next Token Prediction:模型如何预测下一个 token
训练时给定前文预测下一个 token,正确 token 概率越高,loss 越低。
上下文 → Transformer → 概率分布
候选 token 概率
Decoding:贪心、temperature、top-k、top-p 的区别
推理时自回归生成,每一步从概率分布中选择一个 token。
调节解码参数
过滤后的概率分布
KV Cache:为什么聊天时可以加速
历史 token 的 K/V 可以复用,新一步主要计算新 token 的部分。
生成步数
计算成本方块
蓝色表示历史重复计算,绿色表示新 token 计算。
Training:模型是怎么训练出来的
训练通过大量 next-token prediction,反复前向、算 loss、反向传播、更新参数。
训练管线
Loss 曲线
SFT / RLHF:ChatGPT 为什么不只是基础 LLM
Base 会续写文本,SFT 学会按指令回答,偏好对齐让回答更有用、安全、可控。
Limitations:概率模型的边界
LLM 可以很流畅,但不保证事实正确;高流畅度不等于高真实性。
概率预测机器
流畅度 ≠ 真实性
专业场景应把模型输出当作需要验证的候选结论。