第 2 章 · 成本核算与容量规划
考点梳理
2.1 成本 1 式(“必背”)
每千次成本 ≈ 单次平均输入 token × 输入单价 + 单次平均输出 token × 输出单价,再 × 1000
| 变量 | 怎么拿 | 易错点 |
|---|---|---|
| 单次输入 token | 提示词模板 + 上下文 + 检索 chunk(RAG 的 chunk 是大头) | 别只算提示词模板 |
| 单次输出 token | 压测/日志统计平均生成长度 | 别按"最长"算(虚高)也别按"最短"算 |
| 单价 | 自部署按 GPU 卡时 ÷ 容量 摊;API 按厂商价目 | 自部署单价会随利用率浮动(利用率 30% 时实际单价 ≈ 理论 3 倍) |
例题(“会算才合格”):
客服 RAG:平均输入 1200 token(提示词 300 + 检索 4 chunk × 220)、输出 200 token;自部署 2 × 4090(单卡卡时 30 元),实测 1 卡可稳定支撑 12 请求/分钟(输出 200 token 时)。 → 1 分钟成本 = 2 卡 × 30 元 = 60 元,支撑 24 请求/分钟 → 单次成本 ≈ 2.5 元/千次 ≈ 0.025 元/次。 → 对比 API(输入 2 元/M、输出 6 元/M):0.12M × 2 + 0.02M × 6 ≈ 0.0036 元/次——这个量级 API 反而便宜(“量不够大别自部署”)。
记忆锚:“先算量再选型:月请求 < 10 万次级,API 通常更划算”。
2.2 GPU 账本(“4 项”)
| 项 | 内容 |
|---|---|
| 卡型 × 数量 | 如 2 × RTX 4090(24G)/ 1 × A10(24G) |
| 卡时单价 | 自购(折旧)/ 云(包月按小时)/ 推理平台(按 token) |
| 利用率 | GPU 利用率 < 50% = 钱在烧(“要么加并发要么降配”) |
| 弹性 | 峰值弹性扩容方案(云 GPU 按量 / 队列削峰) |
铁律:“GPU 利用率与成本同看”——“利用率 20% 时砍半卡比任何优化都省钱”。
2.3 成本 4 刀(“从架构到参数”)
| 刀 | 做法 | 典型效果 | 风险 |
|---|---|---|---|
| ① 分级路由 | 简单请求(问候/查营业时间)走 1.5B~7B,复杂走 14B~70B;路由器可用规则或小模型 | 成本 ↓ 30~70% | 路由判错 → 复杂问题给小模型(需测试集兜底) |
| ② 语义缓存 | 高频问题 Embedding 相似(余弦 > 0.95)直接返缓存 | 重复请求成本 → 0 | 时效性内容不能缓存(“今天天气"别缓存) |
| ③ 量化 | INT8/INT4(测过掉点可接受) | 显存/吞吐优化 | 掉点(必须回归) |
| ④ 上下文压缩 | 历史消息摘要 / 截断 / 检索 chunk 从 8 减到 4 | token ↓ 30%+ | 回答质量(看评估) |
顺序口诀:“先架构(分级/缓存),后参数(量化/压缩)”——“每刀都要有前后数据”。
2.4 容量规划(“L3”)
① 定 SLO(示例):P95 TTFT < 2s,错误率 < 0.5%
② 测单卡容量:压测出"单卡稳定 QPS"(守 SLO 的前提)
③ 反推卡数:卡数 = 峰值 QPS ÷ 单卡 QPS × 冗余系数(2)
④ 压测验证:模拟峰值流量跑一遍,看 SLO 守不守得住
冗余系数 2 的含义:“一张卡挂掉/升级,剩下一张还能扛住峰值”(“不是浪费,是保险”)。
压测 3 要素:
| 要素 | 内容 |
|---|---|
| 流量 | 模拟真实输入长度分布(别全用短 prompt) |
| 时长 | 持续 10~30 分钟(看稳态,别看瞬时) |
| 记录 | QPS / TTFT 分位 / TPOT / 错误率 / GPU 利用率 / 成本 |
记忆锚:“先 SLO,单卡容量,峰值 ×2 反推,压测守 SLO”。
🧠 记忆工具箱
口诀速记
- 成本:“输入乘输价,千次除回单;量小用 API,量大再自部”;
- GPU:“利用率低于五成 = 钱在烧”;
- 四刀:“分级缓存是架构,量化压缩是参数;每刀都要数据”;
- 容量:“SLO 单卡峰值两倍,压测守线才敢上”。
场景锚点
- 成本核算想象“开出租车公司”:你不是司机(不需要开车),你是“调度 + 财务”——“分级路由 = 短途用小车、长途用大巴(别全用大巴);语义缓存 = 常走线路存下直接走;利用率 = 车别空转(空转 80% = 白烧油);容量规划 = 按早晚高峰 ×2 备车(高峰别打不到车)”——“老板问的不是用了什么车,是每公里成本多少。”
⚠️ 易错提醒
- 成本"只算 GPU 不算 token/人力”:“全成本 = 硬件 + 电力 + 维护人力 + 模型迭代”(“老板看总账”);
- API vs 自部署"拍脑袋":“有公式才有答案”(“月请求量是决策阈值”);
- 分级路由"不测兜底":“路由判错率要进测试集”(“复杂问题被路由到小模型 = 事故”);
- 容量"冗余 1 倍":“一张卡故障就崩”(“至少 ×2”);
- 压测"只压短 prompt":“RAG 场景输入长度差异大,按真实分布压”。