模型部署与推理优化

推理优化全景与发展脉络

kp-001入门15 分钟01-全景与度量

一句话定义

模型部署与推理优化是把训练好的模型高效、稳定、低成本地跑起来并对外服务的一门工程学科,核心是在延迟、吞吐、显存、成本四个目标与精度约束之间做系统性的交换。

为什么重要

训练一个模型可能只发生一次,但每一次用户请求都要经历推理。ChatGPT 之后,推理成本成为大模型产品最大的变动成本项:同一个小模型,裸跑与优化部署之间吞吐可以差 5–10 倍,延迟可以差 10 倍以上。推理优化决定了产品"能不能上"(显存装得下)、"体验好不好"(TTFT/TPOT)与"赚不赚钱"(每百万 token 成本)。

前置知识

  • Transformer 是自回归生成模型:一次生成一个 token,生成下一个 token 依赖之前所有 token(本库不展开,用到时给最小回顾)。

核心概念

  • 推理(Inference):用训练好的参数对新输入做前向计算并生成输出。
  • 部署形态:云端 GPU 服务(批量服务多用户)、端侧推理(手机/PC/车机本地跑)、混合(云端大模型 + 端侧小模型)。
  • 优化四象限:延迟(latency)、吞吐(throughput)、显存(memory)、成本(cost),精度是贯穿的约束条件。
  • 两条主线:减字节(量化、剪枝、蒸馏、KV 压缩——降低要读的数据量)与增共享(批处理、缓存、调度——让一次读取服务更多请求)。

原理与机制

为什么推理天生难:自回归生成是串行的,每个 token 一步;decode 阶段每生成一个 token 都要把全部权重从显存读一遍,算力大量闲置,瓶颈在显存带宽而非算力。因此本领域的绝大多数技术都能归因到两个问题的解:①读得太慢、读得太多 → 压缩与缓存;②读一次只服务一个请求 → 批处理与调度。后续所有知识点都在这两条主线上。

图示

优化地图(两条主线 × 六个杠杆)

 目标: 延迟↓ 吞吐↑ 显存↓ 成本↓   约束: 精度不低于业务底线
 ┌──────────────────────────────────────────────┐
 │ 主线A 减字节                                  │
 │  02 量化(16bit→4bit) 03 剪枝/蒸馏 04 KV压缩   │
 │ 主线B 增共享                                  │
 │  06 连续批处理/PagedAttention/前缀缓存/路由    │
 │ 横切: 05 投机解码(改变每步产出) 07 度量与排错  │
 └──────────────────────────────────────────────┘

历史脉络与流派

  • 2017:Transformer 提出(Vaswani 等),推理优化随后围绕它展开。
  • 2020:GPT-3(175B)证明规模路线,"部署不起"成为普遍问题;LLM.int8() 类工作开始探索 8-bit 推理。
  • 2022:FlashAttention(Dao 等)重写注意力访存;Chinchilla 重新定义算力分配;ChatGPT 引爆服务端推理需求;llama.cpp 开启端侧 CPU 推理流派。
  • 2023:vLLM(Kwon 等)把操作系统式分页引入 KV 管理,成为服务端事实标准之一;GPTQ/AWQ 让 4-bit 量化进入生产;投机解码(Leviathan 等)被系统化。
  • 2024 至今:MoE 稀疏化、长上下文(KV 成本激增)、PD 分离架构(DistServe、Mooncake)、SGLang 等新引擎竞争,"推理侧的基础设施化"成为共识。

实例或案例

同一个 7B 模型在一张 A100 上的三种命运:裸跑 PyTorch 单请求 decode 约 25–40 tokens/s、只服务 1–2 个并发;用 vLLM 开连续批处理后总吞吐到 1000+ tokens/s;再把权重换成 AWQ 4-bit,显存从约 14GB 降到约 4GB,单卡并发翻倍以上。三个数字对应本库三个模块。

常见误区

  • "优化=换更小的模型":换模型牺牲的是能力;同尺寸下通过批处理与量化获得的收益往往更大且免费。
  • "吞吐高=延迟低":两者常互相拉扯(批越大吞吐越高但单请求变慢),必须先定 SLO 再谈优化。
  • "优化是上线后的事":显存账与 SLO 应在选型期就算清,否则返工成本极高。

自测题

  1. 本库把所有优化技术归纳为哪两条主线?各举两个代表技术。

要点:减字节(量化、KV 压缩)与增共享(连续批处理、前缀缓存/PagedAttention)。

  1. 为什么 decode 阶段瓶颈在显存带宽而不是算力?

要点:每步只算少量乘加却要读全部权重,算术强度低,时间由"权重字节÷带宽"决定。

  1. 列出优化四象限与约束条件。

要点:延迟、吞吐、显存、成本;约束是输出精度/质量。

与其他知识点的关系

kp-002 给出本页四个目标的度量方法;kp-020 是"增共享"主线的引擎级落点;kp-029 汇总选型层面的误区。

延伸阅读

《Efficient Memory Management for Large Language Model Serving with PagedAttention》(Kwon 等,2023)引言部分是理解服务端痛点的最佳入口。

#全景#部署#演进史#优化目标