主题
推理部署检查清单
上线前逐项核对,不适用的划掉。
容量与显存
- [ ] 算过权重、KV、激活、固定开销四部分显存。
- [ ] 用“可用 KV / 每请求 KV”估过并发上限,并用压测修正。
- [ ] 每 token KV 按层数、KV head、head_dim、精度算过。
- [ ] GQA / MQA / 量化对 KV 的影响已确认。
- [ ] 长上下文请求单独分池或限流。
- [ ]
gpu_memory_utilization留有余量,不贴极限。 - [ ] 显存峰值、空闲块、OOM、抢占有监控。
调度
- [ ] 连续批处理已启用,理解其吞吐与尾延迟取舍。
- [ ]
max_num_batched_tokens按在线 / 离线场景调过。 - [ ]
max_num_seqs与 KV 容量匹配,不是越大越好。 - [ ] 分块 prefill 已评估,长 prompt 不会挤占 decode。
- [ ] 抢占策略(换出 / 重算)与硬件匹配。
- [ ] 单请求长度有上限,超长请求有单独路由。
- [ ] P99 TTFT 与 P99 TPOT 分别设告警。
缓存与并行
- [ ] 前缀缓存的命中率、驱逐量有监控。
- [ ] 稳定前缀放前面,动态内容后置。
- [ ] 同一前缀的请求有粘性或前缀感知路由。
- [ ] 跨租户共享缓存有隔离策略。
- [ ] 并行方案按“量化 → 单卡 → 同机 TP → 跨机 PP”顺序选过。
- [ ] TP 放在高速互连内,未跨低速网络。
- [ ] 多副本、TP、PP 的 P99 与吞吐用真实负载比较过。
量化
- [ ] 明确是权重装不下还是 KV 不够。
- [ ] 量化方案与硬件、引擎版本兼容。
- [ ] 校准数据覆盖生产输入分布。
- [ ] 业务 Golden Set 上验证过质量,不只看困惑度。
- [ ] 长上下文、工具调用、结构化输出的精度重点测过。
- [ ] 量化版本可回退到基线。
部署
- [ ] startupProbe 给足模型加载时间。
- [ ] readinessProbe 检查真实可用性,不只看端口。
- [ ] livenessProbe 不会误杀加载中的进程。
- [ ] Service 分发策略适合长连接和长请求。
- [ ] 网关统一鉴权、配额、路由、降级、计量。
- [ ] 配额在网关前置,过载不打到 GPU。
- [ ] 滚动发布期间无 5xx,长请求不被中断。
- [ ] 扩容有预热或最小副本,缩容不杀长任务。
节点与集群
- [ ] 驱动、container toolkit、device plugin 三件套版本对齐并记录矩阵。
- [ ] nouveau 已禁用,节点按 GPU 型号与用途打了标签和污点。
- [ ] 共享策略明确:整卡、MIG 或时间片,生产 SLA 不放软共享。
- [ ] 多机通信指定 NCCL 网卡,MTU 一致。
- [ ] 权重与镜像分离,InitContainer 下载幂等,缓存盘有上限。
- [ ] 需要稳定盘或稳定标识的副本用 StatefulSet。
- [ ] 多卡任务有拓扑感知与 gang scheduling,不会半启动占卡。
- [ ] DCGM 指标(XID、ECC、温度、掉卡)进告警,异常节点能排空。
路由与降级
- [ ] 多模型路由规则可解释、可记录。
- [ ] 主备模型的输出格式差异有适配。
- [ ] 降级对用户可见,低质量结果不被当正常结果。
- [ ] 降级链每一级都有超时和可读错误。
- [ ] 模型、引擎、量化、路由版本整组回滚。
观测与成本
- [ ] 排队、prefill、decode 分段计时。
- [ ] 输入 / 输出 token、每千 token 成本按租户归集。
- [ ] 成功率、超时率、限流率、降级率有面板。
- [ ] 每次请求可追到模型版本与路由决策。
- [ ] 压测覆盖长 prompt、高并发、副本故障组合。
出问题时怎么分诊
推理服务的告警长得都像“慢”或“贵”,但根因分布在四层:请求侧(长度与到达模式)、引擎侧(预算与缓存)、资源侧(显存与算力)、供给侧(副本与路由)。先按用户可见的信号分流,再看该信号只可能由哪几层产生。
六条路径的第一个动作里没有一条是“加副本”或“调 temperature”:加副本只在排队确属容量不足时有效,其余情况只是把排队从网关挪到 GPU;调采样参数与容量问题无关。变慢先分清 TTFT 与 TPOT,因为两者指向完全不同的机制——前者是排队与 prefill,后者是 decode 步长与显存压力。账单先分清价与量,量变看命中率,价变看版本。质量退化先对齐版本再复现,否则会把一个回滚就能解决的问题拖成模型选型讨论。
红线
- [ ] 不在未压测的情况下把显存利用率设到 0.95 以上。
- [ ] 不用平均延迟代替 P99 做 SLA。
- [ ] 不把
max_num_seqs当作吞吐开关。 - [ ] 不在前缀不稳定的场景强开缓存并期待收益。
- [ ] 不让网关承担 prompt 拼接和业务判断。
适用:LLM 推理服务上线评审 | 初稿 2026-10