🧠AI 部署与项目实战
推理量化与加速
面试回答
常见问法
- INT8、INT4、FP8、NF4 分别是什么?
- 量化会损失多少精度?哪些层对量化敏感?
- vLLM、TensorRT-LLM、SGLang、TGI 的差异是什么?
- PagedAttention、Continuous Batching 分别解决了什么?
回答
待补充:分两层讲——模型层优化(量化、蒸馏、稀疏)+ 系统层优化(调度、batching、KV cache 管理)。
追问
- GPTQ、AWQ、SmoothQuant 的适用场景?
- 为什么 KV cache 占显存越来越多?PagedAttention 怎么处理?
- 推理 batch size 怎么选?太大太小各自坏在哪?
- 推理侧的投机解码(Speculative Decoding)是怎么工作的?
原理展开
- 权重量化:INT8 基本无损,INT4 需要校准(GPTQ/AWQ)
- KV cache 量化:FP8 / INT8,典型可降 30-50% 显存
- PagedAttention:参考 OS 分页,把 KV cache 切块管理,消除内部碎片
- Continuous Batching:请求到达即合并,空位立即填充
- Speculative Decoding:小模型提草稿,大模型验证,通过率 60-80%
- 蒸馏 / MoE / 稀疏:结构层面压缩
易错点
- 认为 INT4 量化掉点可以忽略,没做下游任务评测
- 只调 batch size,不调 KV cache 显存上限
- vLLM 和 TGI 混用术语,搞错调度模型
- 投机解码对长尾任务收益差,盲目开启反而更慢
记忆技巧
- 两层优化:模型层(怎么压)+ 系统层(怎么调度)
- PagedAttention:KV cache 的虚拟内存
- 选型口诀:短请求靠 batching,长请求靠 KV 管理,吞吐靠量化