「要不要自己买卡」这个问题,几乎每个做大模型应用的团队都会在第二个月撞上。第一版 demo 用免费额度跑通了,用户开始进来,账单开始有点分量,于是有人提出来:与其每月付 API 费,不如买两张卡自己部署。
这个直觉在很多时候是错的。本文不谈玄学,只算账:把三条主流路线摆在同一张表上,给出可复算的判断口径。
真实场景里只有三条路,第三条常被忽略:
下面这张表按国内 2026 年的常见市场价区间填的,你可以直接用自己的报价替换:
| 成本项 | 纯 API | 租 GPU 自部署 | 买 GPU 自建 |
|---|---|---|---|
| 启动成本 | 0 元 | 0 元(预充值) | ≈ 2 万元起(单卡整机) |
| 计费粒度 | 每千 token / 每次请求 | 每小时(关机即停) | 一次性支出,摊 36 个月 |
| 空闲期成本 | 0 | 关机 0,常驻按小时 | 电费 + 折旧照跑 |
| 运维投入 | 无 | 中(镜像、端口、监控) | 高(硬件故障自己扛) |
| 扩容速度 | 即时 | 分钟级(视库存) | 天级(采购周期) |
| 数据是否出域 | 出域(需看服务条款) | 视平台而定 | 完全可控 |
注意最后一行:数据合规是自建唯一无法被替代的理由。如果你的业务没有这条硬约束,那么其余所有维度,自建都比 API 更贵或更慢。
很多人比价方式是错的:拿「API 月账单」和「机器价格」直接比,觉得机器一买就能用三年、月均几百块。这个比法漏掉了一个关键量——这台机器有多少小时真的在干活。
把它写成一个可算的式子:
# 自建盈亏平衡点
def breakeven_requests(machine_price, gpu_kwh_watt, kwh_price,
idle_watts, months=36, api_price_per_req=0.002,
utilization=1.0):
"""
machine_price 整机价格(元)
gpu_kwh_watt 满载功耗(瓦)
idle_watts 空载功耗(瓦)
utilization 有效占用率 0-1
api_price_per_req 对照的 API 单次请求均价(元)
"""
bill = 0.0
for _ in range(months):
full = 30 * 24 * 3600 * utilization # 满载秒数
idle = 30 * 24 * 3600 - full # 空载秒数
bill += (gpu_kwh_watt * full + idle_watts * idle) / 1000 / 3600 * kwh_price
total = machine_price + bill
# 相同支出下,API 能买多少次请求
return {"自建总成本": round(total, 0),
"等价 API 请求数": int(total / api_price_per_req),
"盈亏平衡月请求量": int(total / api_price_per_req / months)}
print(breakeven_requests(20000, 450, 0.6, 120))
# 示例输出:自建总成本约 27000 元,等价 API 请求约 1350 万次,月平衡点约 37.5 万次
按这个例子:一台 2 万元的机器,三年下来连电费约 2.7 万。只有当你的总请求量超过约 1350 万次(月均 37 万次以上)时,自建才开始占优。
换个角度看同一件事。假设你正在做一个对外收费的应用,判断标准就变成了:每赚 1 元收入,要花多少在算力上。
| 月请求量 | 纯 API 成本 | 自建摊薄成本 | API 占成本比 | 结论 |
|---|---|---|---|---|
| 10 万次 | 约 200 元 | 约 700 元 | 较低 | API 明显划算 |
| 50 万次 | 约 1000 元 | 约 700 元 | 中等 | 接近平衡,看稳定性需求 |
| 200 万次 | 约 4000 元 | 约 700 元 | 上升 | 自建开始占优 |
| 1000 万次 | 约 2 万元 | 约 900 元 | 很高 | 自建显著更优 |
(表中 API 成本按每次请求 2 元/千 token、平均 1 千 token 折算,仅用于展示曲线形状;实际单价务必按你自己的模型刊例价替换。)
这张表的形状比数字更重要:API 成本随量线性增长,自建成本几乎是一条水平线。两者的交点在哪,取决于你的量级——而不是取决于谁更「先进」。
训练任务有三个特征:占用率间断、型号迭代快、失败成本高。这三条全部指向租赁。
做产品的人迟早会遇到这个问题:平时 5 QPS,活动日 200 QPS。自购卡按峰值配置,99% 的时间在空转;按均值配置,活动日直接崩。
这正是云与租赁存在的意义——按需扩容。另一条更省心的路是直接把推理交给 API:流量波动由服务方吸收,你只为实际 token 付费。下文会给出三条路的成本对照。
买卡不是不理性,只是它的适用条件很窄。以下三条同时满足,才值得考虑自购:
| 条件 | 判断标准 | 不满足会怎样 |
|---|---|---|
| 年有效占用时长 | ≥ 2500 小时(约每天 7 小时满负荷) | 低于此线,租金总额小于折旧,买即亏 |
| 数据合规等级 | 数据不允许离开自有物理环境 | 能用云就先用云,合规不是默认借口 |
| 型号生命周期 | 未来 18 个月不被新卡代差碾压 | 刚买就过时,残值直接腰斩 |
还有一类隐性成本容易被漏算:人。自购机器意味着有人要管驱动、管散热、管电源、管故障。一台机器一年至少吃掉 0.3 个人力。把这部分折算进去,很多「自购更省」的账本立刻反转。
很多人纠结「租还是买」,其实真正的问题问错了。如果目标只是让模型在你的产品里跑起来,而不是改造模型本身,那么第三条路往往最便宜:直接调 API。
三种方式逐项对照:
| 维度 | 租 GPU | 买 GPU | 调用 API |
|---|---|---|---|
| 启动成本 | 0 元 | 1.4 万-2.3 万元 | 0 元,含免费额度 |
| 计费粒度 | 按小时 | 一次性 + 电费 | 按 token / 请求 |
| 空闲成本 | 停机即停费,但常驻部署仍按小时计 | 停机也折旧、也耗电 | 零空闲成本 |
| 运维负担 | 中:镜像、端口、推理框架 | 高:硬件故障自己扛 | 无 |
| 适合做的事 | 训练、微调、私有模型部署 | 长期满负荷私有部署 | 产品集成、验证、日常推理 |
| 切换模型成本 | 需重新部署与调优 | 需换卡或降精度 | 改一个 model 字段 |
结论很清楚:要做「改模型」的事,租;要做「用模型」的事,调 API。先调 API 验证业务是否成立,确认有价值后再考虑微调——顺序反过来,钱就白花了。
最怕的不是选错,是在没数据的情况下选。以下路径可以在 5 天内用极低成本拿到决策依据:
下面这段代码可以帮你算清第 2 步的账本,直接改成你的数字:
def line_breakdown(requests_per_day: int, avg_tokens: int,
price_per_1k_tokens: float = 0.002,
gpu_hourly: float = 2.2,
hours_per_day: float = 10,
days: int = 30) -> dict:
"""API 路线 vs 常驻 GPU 路线的月度成本对照"""
# API 路线:按 token 计费,注意多数服务商 input/output 分别计价
api_cost = requests_per_day * avg_tokens / 1000 * price_per_1k_tokens * days
# GPU 路线:只为实际开机小时付费(常驻部署则 hours_per_day = 24)
gpu_cost = gpu_hourly * hours_per_day * days
return {
"API 月成本": round(api_cost, 2),
"GPU 月成本": round(gpu_cost, 2),
"更优路线": "API" if api_cost <= gpu_cost else "GPU",
"毛利率": round(api_cost / gpu_cost, 2),
}
# 案例:日 2000 次请求,平均 800 token,单价按 2 元/百万 token
print(line_breakdown(2000, 800, price_per_1k_tokens=0.002))
# 输出示例:{'API 月成本': 96.0, 'GPU 月成本': 660.0, '更优路线': 'API', '毛利率': 0.15}
hours_per_day 是 24,不是 10——夜里没人用,机器照样烧电烧钱。
按 2.2 元/时算,常驻一个月是 1584 元。这个数看起来不高,但要和你的实际请求量比:如果每天只有几百次请求,调 API 的月成本通常是个位数到几十元。先统计请求量再决定。
简单算法:回本小时数 = 购机总价 ÷ 租金单价。以 2 万元机器、2.2 元/时为例,约需 9090 小时才回本。分摊到三年,平均每天要跑满约 8.3 小时——绝大多数团队达不到这个占用率。
多数平台支持按小时释放实例(数据需自行备份,实例释放后数据可能不可恢复)。这正是租赁的最大优势:需求变了就停,不必为一个错误决策付三年账。
能。选 OpenAI 兼容接口的服务可以极大地降低迁移成本——同一个 SDK、同一套调用代码,只改 base_url 与 model 名。等到请求量大到 API 成本不再划算时再迁,前面验证阶段的钱一分没白花。
足够验证「能不能做」,不够验证「大规模成本」。用免费额度跑通业务流程与输出质量评估,成本测算则可直接按请求量建模,不需要真烧那么多请求。
盈算智服 LLM API 网关:注册即送免费 100 次请求体验,60 秒即时开通、无需信用卡,OpenAI 兼容接口一行代码接入,随时可迁走。
🎁 免费试用100次