推理优化与部署速查#
Agent 系统的实际落地离不开高效的推理优化。
核心推理优化技术
- KV Cache:缓存 Attention 的 Key-Value 矩阵,避免重复计算。是自回归推理最基本的加速手段。显存占用随序列长度线性增长
- Continuous Batching(vLLM):动态调度请求,当某请求完成后立即插入新请求,显著提升 GPU 利用率(vs 传统 static batching)
- PagedAttention(vLLM):将 KV Cache 分页管理(类似 OS 虚拟内存),解决显存碎片化问题,提升 throughput 2~4 倍
- Speculative Decoding:用小模型快速生成 draft tokens,大模型并行验证并接受/拒绝,加速 2~3 倍且保持输出分布不变
- 量化推理:GPTQ(训练后量化)、AWQ(激活感知量化)将模型从 FP16 压缩到 INT4/INT8,推理速度提升 2~4 倍,显存降低 3~4 倍
思考题:KV Cache 的显存占用如何计算?如何优化?
对于一个 层、 个头、头维度 的模型,序列长度为 ,batch size 为 :KV Cache 显存 。以 LLaMA-7B(32 层,32 头,)为例,BF16 下单条序列 2048 tokens: GB。
优化方法:① GQA/MQA(减少 KV 头数)——LLaMA 2 用 GQA 将 KV 头降到 8 个,Cache 缩小 4 倍;② 量化 KV Cache(INT8/INT4);③ PagedAttention(减少碎片);④ Sliding Window Attention(Mistral,限制 Cache 长度)。
思考题:Agent 系统中如何减少幻觉?
① RAG——给模型提供检索到的真实文档作为上下文,让模型基于事实回答;② 工具调用验证——让模型通过搜索/计算器/代码执行验证自己的输出,而非纯靠参数记忆;③ Self-Reflection——让模型检查自己的回答是否有矛盾或不确定(如 Reflexion 框架);④ 多 Agent 交叉检验——不同 Agent 独立推理后比较结果;⑤ Constrained Generation——限制输出格式(JSON Schema),减少自由发挥空间。本质上,减少幻觉的核心思路是"让模型少依赖参数记忆,多依赖外部可靠信息源"。
思考题:DeepSeek-R1 的训练流程?为什么它重要?
阶段一(冷启动):收集少量长 CoT 数据做 SFT,让模型学会基本的推理格式。
阶段二(纯 RL 推理训练):用 GRPO 在数学和代码任务上训练,reward 来自规则判定(答案是否正确、代码是否通过测试)。关键发现:模型在纯 RL 训练中自发涌现了 CoT 推理、自我纠错、反思等行为——这些是 emergent 的,不是显式教的。
阶段三(拒绝采样 + SFT):用 RL 模型生成大量推理数据,过滤出高质量的,混合通用 SFT 数据,做多任务监督微调。
阶段四(RL 对齐):最终 GRPO 对齐,优化 helpfulness 和 safety。
重要性:证明了强化学习可以"解锁"模型的推理能力(而非仅仅对齐人类偏好),开启了 test-time compute scaling 的新范式。