LLM 基础总览
这篇文章用一条主线把 LLM 基础知识串起来。
它不追求讲完每个细节,而是先建立全局地图:一个大语言模型从输入文本到输出回答,中间到底经历了什么;模型又是如何训练、对齐、压缩、部署和评估的。
可以先记住一句话:
LLM = 把文本变成 token,把 token 变成向量,用 Transformer 反复加工上下文表示,最后预测下一个 token。
然后,训练和工程化围绕这件事继续展开:
预训练学通用能力
-> 指令跟随 学会对话和做任务
-> 微调、强化学习 让行为更贴近目标
-> 蒸馏、量化 降低成本
-> 评估、压测 判断能不能上线
1. 从文本到 Token
模型不能直接理解人类看到的文字。输入文本会先经过 tokenizer,变成一串 token ids。
例如:
文本: 解释一下 KV Cache
-> tokenizer
token ids: [若干整数]
这些整数不是普通编号,而是模型词表中的 token id。不同模型的 tokenizer 不同,同一句话切出来的 token 也可能不同。
这一层要理解三个问题:
- 文本会被切成 token。
- 模型真正处理的是 token id。
- token 数会影响上下文长度、计费、延迟和显存。
对应阅读:
2. 从 Token 到向量
token id 本身没有语义。模型会通过 embedding 层,把 token id 映射成向量。
token id
-> embedding lookup
-> token vector
向量是模型可以计算的表示。后续每一层 Transformer 都会更新这些向量,让它们逐渐包含上下文信息。
比如“苹果”这个 token,在不同句子里的表示会逐层变化:
我吃了一个苹果 -> 水果
苹果发布了新手机 -> 公司
这就是上下文表示的意义:同一个 token 在不同上下文里可以获得不同语义。
对应阅读:
3. 为什么需要注意力机制
语言理解经常需要跨距离关联。
小明把书放进书包,因为它很重。
理解“它”时,需要回看“书”。注意力机制做的事情就是:当前 token 根据上下文动态决定应该关注哪些 token。
最短版本:
Q 找 K,得到权重,汇总 V。
也就是:
- Query:当前 token 想找什么。
- Key:其他 token 提供什么索引。
- Value:其他 token 真正提供什么内容。
注意力机制让 token 不只是看相邻位置,而是可以直接读取上下文里相关的信息。
对应阅读:
4. 位置编码让模型知道顺序
Self-Attention 本身不天然知道 token 顺序。对它来说,一组 token 更像一个集合。
所以模型需要位置编码来区分:
猫追狗
狗追猫
这两句话 token 相似,但顺序不同,含义完全不同。
现代 LLM 常见 RoPE 等位置编码方法。位置编码也和长上下文能力密切相关。
对应阅读:
5. Transformer 是主体结构
Transformer 是现代 LLM 的主体架构。一个 Decoder-only Transformer 大致是:
token ids
-> embedding
-> position encoding
-> Transformer Block × N
-> Self-Attention
-> FFN
-> residual / norm
-> LM Head
-> next token logits
每一层 Transformer Block 主要做两件事:
- Attention:让 token 之间交换信息。
- FFN:对每个 token 的表示做非线性加工。
多层堆叠后,模型就能从浅层模式逐渐形成复杂语义、格式、推理和任务表示。
对应阅读:
6. MoE 是扩展模型容量的一种方式
Dense Transformer 每个 token 都经过同一套 FFN 参数。MoE 模型会准备多个 expert,每个 token 只激活少数专家。
token
-> router
-> top-k experts
-> combine
MoE 的意义是:扩大模型总参数量,同时控制每个 token 的实际计算量。
但 MoE 也引入工程复杂度:
- router 路由。
- expert 负载均衡。
- expert parallel。
- all-to-all 通信。
- 量化和部署兼容性。
对应阅读:
7. 模型如何生成文本
LLM 每一步输出的是词表上所有 token 的分数,也就是 logits。
hidden state
-> LM Head
-> logits
-> softmax
-> token probability
然后模型根据解码策略选择下一个 token:
- greedy:选概率最高的 token。
- sampling:按概率随机采样。
- temperature:控制随机性。
- top_p / top_k:限制候选 token 范围。
生成一个回答,本质上就是不断重复:
预测下一个 token
-> 追加到上下文
-> 再预测下一个 token
对应阅读:
8. 上下文窗口限制模型能看多少
模型不是无限记忆。它每次只能看到上下文窗口里的 token。
上下文窗口包含:
- system prompt。
- 用户问题。
- 历史对话。
- RAG 检索内容。
- 工具定义。
- 模型已经生成的内容。
如果超过窗口,就需要裁剪、摘要、检索或拒绝。
长上下文也会带来更高成本,尤其是 KV Cache 显存和 prefill 延迟。
对应阅读:
9. 预训练让模型学会通用语言能力
预训练通常使用大规模文本做自监督学习。最常见目标是 next token prediction:
给定前面的 token,预测下一个 token。
模型通过海量文本学习:
- 语言规律。
- 常识知识。
- 代码模式。
- 文档结构。
- 推理和格式模式。
预训练得到的模型通常叫 base model。它有通用能力,但不一定擅长听指令或聊天。
对应阅读:
10. 指令跟随让模型变成 Chat Model
Base Model 会续写文本,但不一定会按人类指令完成任务。
指令微调会用类似这样的数据训练:
system: 你是一个严谨的助手
user: 总结这段文字
assistant: ...
这样模型学会:
- 理解任务。
- 区分 system / user / assistant。
- 按要求输出格式。
- 多轮对话。
- 拒答或遵循安全规范。
对应阅读:
11. 微调让模型适配具体任务
微调用特定数据继续训练模型,让它更适合某个领域、任务或格式。
常见目标:
- 客服问答。
- 信息抽取。
- 代码生成。
- 法律 / 医疗 / 金融领域任务。
- 固定格式输出。
常见方式:
- 全量微调。
- LoRA。
- QLoRA。
- SFT。
- 偏好优化。
对应阅读:
12. 强化学习和偏好优化让模型更符合目标
SFT 主要是模仿标准答案。但很多任务没有唯一标准答案,只能判断哪个更好。
强化学习和偏好优化解决的是:
怎样让模型更倾向于好回答,而不是差回答?
常见方法:
- RLHF。
- PPO。
- DPO。
- ORPO。
- KTO。
- GRPO。
它们常用于对齐、安全、风格优化和可验证推理任务。
对应阅读:
13. 蒸馏把大模型能力迁移到小模型
蒸馏的核心是:用强模型教弱模型。
Teacher Model
-> 生成 soft target / 高质量回答 / 推理轨迹
-> Student Model 学习
蒸馏常用于:
- 降低推理成本。
- 训练专用小模型。
- 把大模型能力迁移到部署友好的模型。
- 配合量化形成低成本服务。
对应阅读:
14. 量化降低显存和部署成本
量化把高精度权重转换成低精度表示。
例如:
FP16 -> INT8 / INT4 / NF4
它可以降低:
- 权重显存。
- 模型文件大小。
- 显存带宽压力。
但也可能影响:
- 数学能力。
- 代码能力。
- 长上下文稳定性。
- 格式输出准确率。
对应阅读:
15. 多模态模型把图像等信息接入 LLM
多模态模型通常在语言模型外接视觉 encoder、projector 或 adapter,让图片、视频、音频等信息转成模型能处理的表示。
简化结构:
图片
-> vision encoder
-> projector
-> visual tokens
-> LLM
多模态模型要额外关注:
- 图片预处理。
- 视觉占位 token。
- processor 配置。
- OCR、图表理解和视觉幻觉。
对应阅读:
16. 幻觉是生成模型的天然风险
LLM 是按概率生成 token,不是默认连接事实数据库。
因此它可能生成:
- 编造事实。
- 编造引用。
- 错误日期。
- 错误实体。
- 看似合理但无依据的解释。
缓解幻觉常见方式:
- RAG。
- 引用和溯源。
- 工具调用。
- 拒答策略。
- 事实核查。
- 更严格的评估集。
对应阅读:
17. Loss 和 Perplexity 是训练视角的指标
训练时模型常用交叉熵损失衡量预测下一个 token 的好坏。
Perplexity 可以理解为模型对文本“不困惑”的程度。越低通常表示模型越能预测这段文本。
但要注意:
低 loss / 低 perplexity 不等于业务好用。
聊天、工具调用、RAG、安全和格式输出仍然需要专项评估。
对应阅读:
18. 评估决定模型是否真的可用
模型质量不能只看公开榜单。
需要同时看:
- 通用 benchmark。
- 业务评估集。
- 人工评估。
- LLM-as-a-Judge。
- RAG 评估。
- 工具调用评估。
- 安全评估。
- 格式通过率。
- 长上下文表现。
评估的关键是:贴近真实任务、可复现、可回归。
对应阅读:
19. 性能决定模型能否上线
质量好不代表能上线。线上服务还要看性能和成本。
常见性能指标:
- TTFT。
- ITL。
- E2E latency。
- tokens/s。
- QPS。
- 并发。
- 显存占用。
- KV Cache 使用量。
- 错误率和超时率。
模型上线需要同时满足:
质量达标 + 延迟可接受 + 成本可控 + 稳定可观测
对应阅读:
20. 推荐学习路径
建议按这个顺序学习:
- Token 与概率:先理解模型到底在预测什么。
- 词向量与 Embedding:理解 token 如何变成向量。
- 注意力机制:理解上下文信息如何流动。
- 位置编码:理解顺序信息如何进入模型。
- Transformer 架构:理解模型主体结构。
- MoE 架构:理解现代大模型如何扩大容量。
- 生成与解码:理解回答是如何一个 token 一个 token 生成的。
- 上下文窗口:理解模型能看多少、为什么长上下文贵。
- 预训练:理解模型通用能力从哪里来。
- 指令跟随:理解 base model 如何变成 chat model。
- 微调:理解如何适配具体任务。
- 强化学习:理解偏好对齐和推理训练。
- 蒸馏:理解如何把强模型能力迁移到小模型。
- 量化:理解如何降低部署成本。
- 多模态模型:理解图像等输入如何接入 LLM。
- 幻觉:理解生成模型的事实性风险。
- 困惑度与损失函数:理解训练指标。
- 质量与评估:理解如何判断模型好不好。
- 模型性能:理解模型能不能稳定上线。
21. 总结
LLM 基础知识可以串成一条链:
文本
-> Token
-> Embedding
-> Attention / Transformer
-> Next Token Probability
-> 解码生成
-> 训练与后训练
-> 压缩与部署
-> 评估与性能
如果只记住一件事,就是:大语言模型本质上是在上下文中预测下一个 token。所有架构、训练、对齐、压缩和工程优化,都是围绕“更好、更稳、更便宜地预测和生成 token”展开的。