卷7 · 工程实战手册
7.4 推理部署与成本估算:把模型变成可运营的服务
展开本章目录与同卷章节
1. 服务化架构(20 秒版)2. 容量与性能账(7.1/2.8 公式的合并应用)3. 单位成本账(本章核心,就业面试常考)4. 部署形态选择5. 生产工程细节清单(缺一样都是事故)6. 自测题7. 动手作业8. 延伸资源同卷章节7.1 显存估算速查与 OOM 排查大全7.2 训练调试案例集:十大经典翻车与处置7.3 分布式训练入门:DDP、FSDP 与 DeepSpeed7.4 推理部署与成本估算:把模型变成可运营的服务7.5 数据 pipeline 工程:把数据当代码对待7.6 AI 协作守则:驾驭代码 agent 而不被其驾驭本章目标:2.8 讲了”怎么部署”,这一章讲”怎么像工程师一样算账”——容量规划、单位成本、自建 vs API 的盈亏平衡,以及生产服务的工程细节。学完标准:能对一个真实需求出一份”部署方案+月成本”报价单。
1. 服务化架构(20 秒版)
客户端 → API 网关(鉴权/限流/计费统计) → 推理引擎(vLLM: 批处理/KV管理) → GPU
vLLM 起的 serve 已经把后两层打包成 OpenAI 兼容接口(2.8 实操过);你要补的是网关层的思维——限流(防止一个用户打满)、按 token 计量(usage 字段入账)、监控埋点。
2. 容量与性能账(7.1/2.8 公式的合并应用)
三步:① 显存预算 = 权重 + KV cache(并发数 × 上下文 × 单 token KV);② 吞吐上限 = 并发数 × 单请求 decode 速度(受显存带宽约束,7.1 的公式);③ 压测找拐点——并发涨到某处 TPOT(每 token 延迟)开始恶化,业务按可接受延迟取工作点。
一张 4090 跑 7B bf16 的量级感(实测经验值):单流 40–60 tok/s;并发 16 时总吞吐约 600–900 tok/s(TPOT 恶化到 ~0.3s)。
3. 单位成本账(本章核心,就业面试常考)
关键修正:利用率。上面的账假设 GPU 24 小时满载——真实服务有波峰波谷:
- 4090 自建(2 元/时)、满载吞吐 700 tok/s:2 ÷ 700×3600×10⁶ ≈ 0.8 元/M token;
- 利用率只有 10%(夜间没人用):实际 8 元/M token;
- 对照:主流 API(Qwen/GLM 级 7–9B)约 0.2–2 元/M token——API 集团比你便宜,除非你的利用率很高或需要私有化。
结论模板(给老板/导师的版本):“日请求量 < X 时用 API(弹性、免运维);超过 X 或有隐私/定制需求时自建,盈亏平衡点在利用率 Y%“。会算这个账,你在任何团队都值钱——大模型岗位的”降本”叙事全从这里来。
4. 部署形态选择
| 形态 | 适用 | 工具 |
|---|---|---|
| 单机自用/小团队 | 1–2 张卡,利用率低 | vLLM serve + Caddy/Nginx |
| 多租户多任务 | 一底座多 LoRA | vLLM --enable-lora 动态挂载(2.6 伏笔兑现) |
| 端侧/离线 | 隐私/无网 | llama.cpp + GGUF(Ollama 一键) |
| API 上游 | 不想运维 | 直接调 Qwen/GLM/DeepSeek API |
5. 生产工程细节清单(缺一样都是事故)
- 流式输出(SSE)——用户感知延迟的第一杠杆(TTFT 体验化);
- 超时与重试——生成没有”失败重试无害”的保证(重试要幂等设计);
- 限流:按用户/按 token 双维度(令牌桶即可);
- 监控四件套:吞吐、TTFT/TPOT 分位数(p50/p99)、显存水位、错误率——Prometheus + Grafana 是标配;
- 输入防护:max tokens 截断、special token 过滤(2.2 §4 的注入问题在服务侧防);
- 版本管理:模型版本与 API 版本一起打标——回滚能力比新功能重要。
6. 自测题
- 单位成本公式的最大误差源是什么?(利用率假设——满载 vs 实际波峰波谷差 10 倍)
- 什么条件自建才划算?(利用率高/隐私定制需求/有闲置卡——三占其一)
- 并发拐点压测测的是什么关系?(并发 ↑ → 总吞吐先升后 TPOT 恶化——工作点在延迟可接受处)
- 流式输出优化的是哪个指标的用户体验?(TTFT 的感知——先吐首 token)
- 多 LoRA 服务的价值?(一底座多任务动态挂载——几十 MB/任务 vs 14GB/任务)
- 给导师的部署建议为什么常是”先用 API”?(学生实验请求量低→利用率低→自建单位成本反而贵)
7. 动手作业
- 给你 2.8 部署的模型写一份”报价单”:假设日均 1 万次请求、每次 500 token 出 200 token 入,算 API 方案 vs 4090 自建方案的月成本(用真实 API 牌价与 2 元/时租价);
- 压测:并发 1/4/16/32 四档的吞吐与 TPOT 曲线(2.8 作业的完整版),标出你的工作点;
- 给 vLLM 前面挂一层 FastAPI 网关:限流 + usage 计量入库——一个周末的微项目,简历可写”完整服务化经验”;
- 挑战:Ollama 把 4bit 模型跑在本地 CPU/小显卡上,对比云端的延迟与质量——端侧路线的亲手账。
8. 延伸资源
- vLLM 生产实践文档(serving 配置与监控页)
- 《LLM inference cost calculator》类开源表格——行业牌价速查
- OpenAI 兼容协议文档——网关层的事实标准
