番外:现代 LLM 的工程魔法
主线五章讲完了「模型如何工作和炼成」。这篇番外收集四个在现代 LLM 中反复出现、理解了会大大加深认识的工程魔法。
KV Cache:为什么第二遍比第一遍快
回忆第 3 章:每生成一个新 token,整条序列都要重新走一遍自注意力。这意味着生成第 1000 个 token 时,前 999 个 token 的 Q/K/V 被重复计算了 999 次——浪费惊人。
KV Cache 的解法:注意力计算里,历史 token 的 K 和 V 不会因为新 token 到来而改变(因果注意力的必然结果)。所以把它们的 K、V 算一次存起来,之后每步只计算新 token 的 Q,与缓存里的 K、V 做注意力即可。内存换时间,推理吞吐量提升一个数量级。这也是为什么 LLM 推理「吃显存」——KV Cache 的大小随上下文长度线性增长,长上下文 = 大显存。
量化:把 300 斤的模型塞进 24 斤的显卡
训练和推理默认用 16 位浮点(FP16/BF16)存参数。量化(quantization)把这些参数压到更低的精度:
- 8 位(INT8):损失很小,基本无感;
- 4 位(INT4):损失可控,7B 模型从约 14 GB 降到约 4 GB,消费级显卡可跑;
- 主流方法:GPTQ、AWQ、GGUF(llama.cpp 生态的格式,让模型在笔记本甚至手机上运行)。
直觉上就像把音乐从无损压成 MP3:信息有损,但人耳(模型效果)几乎听不出区别。如今「量化 + 本地部署」是个人跑开源模型(Llama、Qwen 等)的标配路线。
MoE:全员大锅饭 vs 专家门诊
传统稠密模型(dense model)每个 token 都要激活全部参数——越大越慢。混合专家模型(MoE,Mixture of Experts,MoE)把前馈网络拆成多个「专家」,每个 token 通过一个路由器(router)只激活其中一小部分(比如 2/8):
- 总参数巨大(DeepSeek-V3 有 6710 亿参数);
- 每 token 实际计算的只有约 370 亿——推理成本骤降,能力接近全量;
- GPT-4 据信是 MoE 架构(8 个专家,每次激活 2 个),DeepSeek、Mistral 等也大量采用。
这是「参数规模」和「推理成本」之间的关键妥协,也是「Scaling Laws 的算力焦虑」下行业的主流应对。
推理模型:让「想」成为显式步骤
主线五章的模型都是「读完问题直接吐答案」。2024 年 OpenAI o1 开启的推理模型(Reasoning Model,Reasoning Model)改变了这一点:模型被训练成先在内部(或可见地)生成一串「思维链」(Chain-of-Thought,Chain-of-Thought),再给出最终答案。
做法:用强化学习奖励「得出正确答案的思考过程」,让模型学会在回答前自我拆解、试错、验证。代价是「想」的过程消耗大量 token(慢、贵),换来的是数学、代码、规划任务上的大幅跃升。这条「测试时计算扩展」(test-time compute scaling)路线是 2025–2026 年 LLM 演进的主轴之一。
一句话总结
KV Cache 用内存换时间,量化用精度换便携,MoE 用稀疏换规模,推理模型用「多想一会儿」换难题上的正确率——四条路线合起来,构成了今天你手里那个「又快又聪明」的模型。
来源
- DeepSeek-V3 总参数 671B、每 token 激活约 37B、61 层:已核实(维基百科 DeepSeek 条目)
- 7B 模型 FP16 约 14 GB(7×10^9 参数 × 2 字节)、4-bit 量化后约 4 GB:由参数精度直接推算
- GPT-4 为 MoE 架构(据信 8 个专家激活 2 个):行业分析机构(SemiAnalysis)的推断,OpenAI 未官方确认,故正文用「据信」
- OpenAI o1 于 2024 年 9 月发布:公开事实
相关笔记
- MoE — 混合专家模型的稀疏激活原理
- Reasoning Model — 推理模型的训练方法与能力
- Chain-of-Thought — 思维链提示
- Scaling Laws — 规模焦虑的来源