自建推理成本测算:GPU 云、硬件与 API 的真实账单对比
自建推理划不划算,不能靠感觉——必须把所有成本摊开来比。本文给出一套完整的成本测算框架,帮你在拍板自建之前,先把账算清楚。
成本由哪些部分组成?
自建推理的总成本远不止”GPU 的钱”,完整成本分为四块:
总成本 = 算力成本 + 带宽与存储成本 + 人力成本 + 机会成本
忽略任何一块,测算结果都会严重低估实际投入。
算力成本:云租赁 vs 自购
GPU 云租赁
云租赁按小时计费,弹性高、门槛低,但长期使用单价较贵。
| GPU 型号 | 典型显存 | 国内云参考价(元/小时) | 适合场景 |
|---|---|---|---|
| A10G | 24 GB | 约 8–15 | 中小规模 7B–13B 推理 |
| A100 40GB | 40 GB | 约 20–35 | 生产级 70B 或多并发中模型 |
| A100 80GB | 80 GB | 约 35–55 | 大模型或高并发 |
| H100 80GB | 80 GB | 约 60–100 | 旗舰模型、极高并发 |
注意:以上为量级参考,实际价格随云厂商、区域、合约期浮动,且持续下降,请以实时报价为准。
月算力成本估算:一张 A100 80GB 7×24 运行约 25,000–40,000 元/月(裸 GPU 成本)。
自购硬件
自购适合极长期稳定使用,但前期投入大、折旧周期长(通常按 3–5 年摊销)。
| 卡型 | 参考售价(万元,国内) | 月摊销(5年) | 额外成本 |
|---|---|---|---|
| RTX 4090(24GB) | 约 1.5–2 万 | 约 250–350 元 | 消费卡,无 ECC,适合开发测试 |
| A100 80GB(二手) | 约 10–15 万 | 约 1,700–2,500 元 | 需配套服务器、机柜、电力 |
| H100 80GB(新) | 约 30–50 万 | 约 5,000–8,300 元 | 采购难,需要合适机房 |
自购还需叠加:服务器机箱 + 主板 + 电源(约 2–5 万/台)、IDC 托管费(约 2,000–8,000 元/月/U)、电力费用等。
GPU 利用率:被忽略的隐藏折损
前面按小时报价算出来的”25,000–40,000 元/月”,其实是理想情况——GPU 100% 满载跑满一整月。现实里根本不是这样。
单请求推理(batch=1)时,GPU 大部分时间花在等 KV Cache 读写和 token 逐个生成的串行计算上,实际算力利用率经常只有 20%–40%。也就是说你花一整张卡的钱,只用上了不到一半的算力,等效单位 token 成本直接翻倍还不止。
要把利用率提上去,核心靠连续批处理(continuous batching):vLLM、TGI 这类推理框架会把多个并发请求的生成过程动态拼进同一批次,谁的请求先算完就先出,空出来的槽位立刻塞下一个新请求,而不是等一整批全部生成完才处理下一批。开了这个之后,同一张卡的吞吐(tokens/秒)能提到 3–5 倍,等于把单 token 成本砍掉大半。
判断你的部署有没有吃满利用率,盯两个指标:nvidia-smi 里的 GPU-Util 是否长期低于 50%(低说明没吃满,要么并发不够要么框架没开批处理),以及请求延迟里”排队等待”占比是否偏高(高说明并发已经打满,该加卡了)。测算成本时务必把这个利用率因子乘进去——比如实测利用率只有 35%,那你实际的”有效 token 成本”就要在裸算力成本基础上再除以 0.35,而不是简单按标称算力拍脑袋估。
带宽与存储成本
- 模型权重下载:70B 模型 FP16 约 140 GB,从 HuggingFace/ModelScope 下载一次,后续本地存储
- 本地存储:SSD + NVMe,百 GB 级数据约百元/月
- 出网带宽:推理结果返回用户,出网带宽按量计费,高并发场景不可忽视(千元/月量级)
容易漏算的隐藏成本
除了带宽和存储,还有几笔钱账面上容易被忘掉:
- 可观测性成本:生产环境的推理服务不能裸奔,Prometheus + Grafana 监控、日志采集(请求量、延迟分布、错误率)至少要占一台小机器或云上托管监控服务的费用,量大了日志存储也是持续开销。
- 模型迭代适配成本:上游模型几个月就会放出新版本,跟不跟?跟的话要重新下载权重、重新压测、重新调 vLLM 参数,一次迭代少则一两天多则一周人力,这笔钱平时不体现在月度账单里,年化下来不是小数。
- 灰度与回滚成本:升级新模型版本稳妥的做法是新旧版本并行跑一段时间做 A/B 对比,意味着灰度期间显存/算力是双倍占用,测算长期成本时这笔”过渡期溢价”经常被漏掉。
- 安全合规审计:如果业务涉及数据出境或行业合规(金融、医疗),自建还要算上定期安全审计、渗透测试的外部费用,这笔钱因行业而异给不出统一区间,但立项前务必找合规团队报个数。
人力成本:最容易被低估的项
这是测算中最常被忽视的成本。
| 工作内容 | 所需技能 | 估算工时(月) |
|---|---|---|
| 初始环境搭建(驱动、CUDA、框架) | MLOps | 1–2 周 |
| 服务部署与调优(vLLM 参数调优) | 推理工程 | 1–2 周 |
| 日常运维(监控、告警、重启) | 运维 | 5–10 h/月 |
| 模型版本升级(新权重、重测试) | MLOps | 1–3 天/次 |
| 故障处理(OOM、服务崩溃) | 推理工程 | 不定期 |
按中级 MLOps/推理工程师月薪 2–3 万元估算,折算到自建项目上通常每月 5,000–15,000 元(按 20–50% 精力折算)。
人力成本里最烧时间的三个坑
表格里”故障处理”这一行看着工时不多,但真正烧人天的往往是这几类问题:
-
CUDA out of memory:日志报
CUDA error: out of memory或 vLLM 报torch.cuda.OutOfMemoryError,根因通常不是显存真的不够,而是max_num_seqs(最大并发序列数)或gpu_memory_utilization参数设得太激进,KV Cache 没预留够。修法:先把gpu_memory_utilization从默认的 0.9 降到 0.8 左右试探,再逐步调高,同时用nvidia-smi盯着显存占用曲线,别一把梭哈到报错才回头查。 -
CUDA driver 与 CUDA Toolkit 版本不匹配:报错类似
CUDA driver version is insufficient for CUDA runtime version,根因是宿主机驱动版本没跟容器里的 CUDA Toolkit 版本对齐。修法:查 NVIDIA 官方的驱动-CUDA 版本对应表,驱动版本必须不低于容器里 CUDA Toolkit 要求的最低驱动版本,升级驱动比降级 CUDA Toolkit 更省事。 -
多卡 NCCL 通信超时:多卡张量并行时偶发
NCCL timeout或进程卡死不报错,常见根因是跨卡/跨机网络带宽不够,或者NCCL_SOCKET_IFNAME网卡指定错了。修法:先确认服务器间有没有 NVLink 或 InfiniBand,没有的话张量并行的收益会被通信开销吃掉大半,这种情况不如换成单卡多实例 + 负载均衡的部署方式,反而更省心也更省钱。
这三类坑,每次踩一个基本就是大半天到一天的工时,测算人力成本时建议按”故障处理”预留至少 1 人天/月的缓冲,而不是按表格里的”不定期”当成 0 来算。
综合成本对比示例
场景:支撑日均 100 万 token 调用量(中等业务规模)
| 方案 | 月算力成本 | 月人力成本 | 月总成本(估算) |
|---|---|---|---|
| 调用 API(DeepSeek-V3 参考价) | 约 1,500 元 | ~0 | 约 1,500 元 |
| 云租 A10G 自建(1 张) | 约 8,000 元 | 约 8,000 元 | 约 16,000 元 |
| 自购 A100 80GB(5年摊销) | 约 2,000 元/月(摊销) | 约 8,000 元 | 约 12,000 元+ |
以上为定性量级估算,API 价格以公开价格页为准,实际成本随调用量、模型大小、合规要求差异显著。
结论:百万 token/日以下规模,API 通常比自建便宜数倍。自建在合规要求(数据不出域)或日均亿级 token 以上稳定负载时才具备经济可行性。
自己动手测算:三步走
光看示例表格没用,你得拿自己的场景数字套进去算一遍,才知道拐点在哪。三步就够:
第一步,算出你的日均 token 量。翻历史调用日志,或用预估值(日活用户数 × 人均对话轮次 × 单轮平均 token 数),得到日均输入+输出 token 总量。
第二步,套 API 单价算出 API 月成本。用官方定价页的每百万 token 单价(输入、输出分开算,输出通常贵 2–4 倍),乘以你的日均量再乘 30,就是 API 方案的月总支出基线。
第三步,按上文框架算自建月总成本,公式是:
自建月成本 = 算力成本 ÷ 利用率因子 + 带宽存储成本 + 隐藏成本 + 人力成本
把两个数字放一起比,谁便宜选谁。举个例子:假设你实测日均 300 万 token(输入+输出),按官方单价折算 API 月成本约 4,500 元;自建一张 A10G,裸算力月成本 8,000 元,但实测利用率只有 40%,除以 0.4 后有效成本变成 20,000 元,再加上人力和隐藏成本,自建方案至少要到 3 万+/月——这种规模下自建完全不划算,继续用 API 才是理性选择。只有当日均 token 量抬到能让 API 月成本反超自建总成本的那个点,自建才值得认真论证。
何时值得自建?
满足以下条件,自建才有可能划算:
- 合规/隐私刚需:数据不允许离开本地网络
- 极高且稳定的负载:日均 token 消耗稳定在亿级以上
- 有专职 MLOps 团队:人力成本已被摊薄到多个项目
- 长期视角:愿意接受 6–12 个月的 ROI 回收期
否则,从 API 开始,等规模验证后再评估自建。
预留实例 vs 按需:怎么选
云厂商通常会给”包年包月”或”预留实例”折扣,价格比按需便宜 30%–50%,但这里有个容易踩的坑:用不满照样扣钱。
| 采购方式 | 折扣幅度 | 灵活性 | 适合场景 |
|---|---|---|---|
| 按需(按小时) | 无折扣,基准价 | 随时启停,无违约风险 | 业务量不稳定、验证期、短期项目 |
| 包月/包年 | 约 30%–50% off | 提前退订通常要付违约金 | 负载已验证稳定,愿意锁定 6–12 个月以上 |
| 竞价实例(抢占式) | 可达 50%–70% off | 可能被随时回收,不适合在线服务 | 离线批处理、模型训练、非实时任务 |
判断该不该锁包年包月,就看你有没有至少 3 个月的稳定负载历史数据。没有历史数据就上包年,本质是在赌未来负载不变来换折扣——一旦业务量波动或者你想换模型架构,退订违约金能把省下的折扣全吃回去。
常见问题
API 费用和自建成本怎么直接比较?
先把 API 费用折算为月总支出,再按上文框架计算自建月总成本(含人力),两者直接对比。注意 API 费用会随调用量线性增长,而自建成本相对固定,交叉点就是自建开始划算的规模门槛。
自建能用消费级 GPU 降低成本吗?
可以,但要注意消费卡无 ECC 内存、无法保障 7×24 稳定性,且显存上限低(24 GB),只适合 7B–13B 小模型。用于生产环境需评估故障风险和维护成本。
混合方案(部分自建+部分 API)如何测算?
按流量比例拆分成本即可,见 API + 自托管混合方案详解。
并发数上去了,成本会怎么变?
只要没打到 GPU 利用率上限,提高并发几乎是”免费”的——同样一张卡,从 batch=1 提到合理的并发数,单位 token 成本会明显下降,这也是为什么前面强调利用率因子对测算结果的影响这么大。但并发超过硬件承载后,延迟会陡增甚至开始报 OOM,这时候提升并发换来的就不是省钱而是找麻烦,得靠加卡而不是硬调参数去解决。
延伸阅读:
- 算力决策全景:大模型算力基础:GPU 云、推理部署与 API 取舍
- 混合方案设计:API + 自托管混合推理方案
- 微调 vs 直接 API:微调自托管 vs 用 API:怎么选?
- 算力专题 Hub:算力专题
- 不想折腾自建?加入候补,直接接入托管推理服务