Appearance
一句话总结:大模型推理 = 先把输入整段算一遍(Prefill),再逐 token 自回归生成(Decode);KV Cache 用显存换重复计算,vLLM 分页管理把显存利用率从 20-40% 拉到 90%+;采样策略与思维链决定输出"怎么选、多聪明"。
推理两阶段
| 阶段 | 做什么 | 特点 |
|---|---|---|
| Prefill | 处理整段输入,计算并缓存所有 token 的 K/V | 计算密集(compute-bound) |
| Decode | 每次输入 1 个新 token,自回归生成 | 内存密集(memory-bound),GPU 利用率低 |
KV Cache:显存换速度
- 问题:生成第 N 个 token 时,注意力要跟前面所有 token 算——若每次都重算,复杂度是序列长度的二次方
- 解法:历史 token 的 K/V 只算一次,存起来复用;每次只算新 token 的 QKV
- 代价:显存爆炸——KV Cache 随序列长度线性增长,长上下文 = 大显存
- 这是"上下文越长越贵"的数学根源(对接 [AI-Agent-生产部署](/学习笔记/AI技术/AI Agent/AI-Agent-生产部署) 的成本治理)
显存与速度优化(生产必考)
| 技术 | 原理 | 收益 |
|---|---|---|
| PagedAttention(vLLM 首创) | KV 分页管理,消除碎片按需分配 | 显存利用率 20-40% → 90%+,并发提 3 倍 |
| Prefix Caching | 缓存共享前缀(系统提示词/历史对话)的 KV | 多轮/批量场景避免重复计算 |
| KV 量化 | KV Cache 从 FP16 压到 INT8/4 | 省显存,小幅精度损失 |
| FlashAttention | IO 优化(减少显存读写) | 训练/推理都提速 |
| 推测解码 | 小模型草稿并行生成多个候选,大模型批量验证 | 无损加速(不改变输出分布) |
采样策略:怎么选下一个词
模型输出是概率分布,策略决定如何采样:
| 策略 | 行为 | 适用 |
|---|---|---|
| 贪婪解码 | 恒选概率最高 token | 确定性最强,但易重复/呆板 |
| 温度采样 | 温度 T 调分布尖锐度(T 高更随机、T 低更确定) | 创意/翻译调参主力 |
| Top-P / Top-K | 只在累计概率 p 或前 k 个词里采样 | 去掉长尾噪声,配温度用 |
- 工程直觉:代码/事实任务 T 调低(0.1-0.3),创意任务 T 调高(0.7-1.0)
思维链 CoT:推理时"一步步想"
- 原理:让模型显式输出中间推理步骤("Let's think step by step"),把复杂任务分解
- 为什么有效:Transformer 单次前向难以做长推理,CoT 把推理过程"外化"到文本里,逐步推进
- 与推理扩展相关:test-time compute(给更多 token 换更高准确率);DeepSeek-R1 类模型用 RL 训练出 CoT 能力
面试要点
- 能讲清 Prefill vs Decode 两阶段与各自瓶颈
- 能默写 KV Cache 原理与代价(显存爆炸),并报出 vLLM 的数字(20-40% → 90%+)
- 能说采样三参数(温度/Top-P/Top-K)怎么配
- 能解释 CoT 为什么有效 + 代价(token 翻倍、延迟上升——"代价意识"是拉分点)
相关概念
- AI基础概念-大语言模型与Token — 自回归生成的地基
- AI基础概念-Transformer与注意力机制 — 注意力是 KV Cache 的前提
- [AI-Agent-生产部署](/学习笔记/AI技术/AI Agent/AI-Agent-生产部署) — 推理成本、FinOps、延迟治理
- [AI-Agent-评估评测](/学习笔记/AI技术/AI Agent/AI-Agent-评估评测) — 困惑度与采样参数评估