成本 指南 · 阅读需 9 分钟

# 一百万 token 的成本：两种方式都算给您看。

API 按 token 计费，空闲时不产生任何费用。机器按月计费，不按 token 收费。哪一种更便宜，只是一道除法题——而答案更多取决于您让机器保持多忙，而不是两者的价格本身。

简短的答案

- **盈亏平衡点是一个用量:** 这不是一个单价。**每月 $692**买到的，是这台服务器实际能产出的全部 token—问题在于，您是否有那么多工作要做。
- **与顶尖 API 相比:** 在我们最便宜的节点上，单流、不做批处理，每百万 token 的成本已经只要 **$6.42**。这低于顶尖闭源模型收取的 $15.00，而且您还没做任何批处理。
- **与同一开放权重模型相比:** 您大约需要达到单流吞吐量的 **7.1×**，才能在每百万 token 的价格上胜过 $0.90。这正是连续批处理的用途所在，也是家常便饭。
- **API 仍然胜出的场景:** 流量陡峭、总量偏低，以及任何没人愿意把权重卖给您的模型。

## 简要版本

几乎所有你读到的这两者对比，最终都会归结成一个孤零零的数字—“自建便宜十倍”“API 便宜，直到你规模巨大为止”—而这两种说法犯的是同一个错误：给一台并非按 token 计费的机器算出一个每 token 成本。一台租用的 GPU 只有一个价格，且它不会变动：这个月您生成十亿个 token，还是一个都没生成，账单都完全一样。所以真正诚实的问题不是“这里每个 token 多少钱”，而是*“需要生成多少 token，固定价格才能反超计量计费”*。

这个数字是一次除法运算，下文将用我们自己的价格和吞吐量模型来计算—正是[配置器](https://gpuserver.io/zh/configure)所使用的同一套模型。此后的内容，都是关于决定您能否达到这个用量的两个因素：批处理，以及您让服务器闲置的时长。

## 运算

四行公式。第三行值得写在白板上；第四行是人们常常跳过的一行，而跳过它，正是一个可靠的估算变成错误估算的原因。

盈亏平衡点，及其对机器的要求

```
# 1. What the API charges. Linear in what you use, zero when you stop.
api_cost_per_month = output_tokens_per_month / 1e6 × api_price_per_million

# 2. What the machine charges. A constant. Tokens are free once you own the hours.
machine_cost_per_month = monthly_price

# 3. Set them equal. This is the break-even VOLUME, in output tokens per month.
break_even_tokens = monthly_price / api_price_per_million × 1e6

# 4. And the only question that matters: can the machine produce that many?
#    730 hours is the month we bill, so 2,628,000 seconds of it.
sustained_tokens_per_second = break_even_tokens / 2,628,000
```

第 4 行是*持续*速率，而非峰值。一台服务器如果每天有一小时达到每秒 600 个 token，其余二十三小时闲置，其持续速率就是 25，账单可不管您说的是哪一个。

## 单流的成本

先从最差情形说起，因为这是唯一无需任何假设就能给出的数字：一次一个请求，不做批处理，其余时间服务器闲置。以下每个节点都以 4-bit (AWQ, GPTQ) 运行 Llama 3.3 70B，吞吐量是我们自己给出的保守估算—它[受限于显存带宽](https://gpuserver.io/zh/guides/vram-sizing)，而非在状态最好的那天测出来的数字。

**单流、不做批处理时每百万输出 token 的成本，按节点列出**

| 节点 | 它如何运行模型 | 每月 | 单流 | 每百万 token 成本 |
|---|---|---|---|---|
| [2 × NVIDIA RTX 5090](https://gpuserver.io/zh/gpu/rtx-5090) 共 64 GB · PCIe 5.0 ×16 | 拆分到全部 2 张卡上 需要 43.1 GB，每张卡 32 GB | $692 | 41 tok/s | $6.42 每百万输出 token |
| [2 × NVIDIA RTX 4090](https://gpuserver.io/zh/gpu/rtx-4090) 共 48 GB · PCIe 5.0 ×16 | 拆分到全部 2 张卡上 需要 43.1 GB，每张卡 24 GB | $416 | 23 tok/s | $6.88 每百万输出 token |
| [4 × NVIDIA RTX 5090](https://gpuserver.io/zh/gpu/rtx-5090) 共 128 GB · PCIe 5.0 ×16 | 拆分到全部 4 张卡上 需要 43.1 GB，每张卡 32 GB | $1,345 | 68 tok/s | $7.53 每百万输出 token |
| [4 × NVIDIA RTX 4090](https://gpuserver.io/zh/gpu/rtx-4090) 共 96 GB · PCIe 5.0 ×16 | 拆分到全部 4 张卡上 需要 43.1 GB，每张卡 24 GB | $814 | 38 tok/s | $8.15 每百万输出 token |
| [2 × NVIDIA A100 PCIe](https://gpuserver.io/zh/gpu/a100-40gb) 共 80 GB · PCIe 5.0 ×16 | 拆分到全部 2 张卡上 需要 43.1 GB，每张卡 40 GB | $802 | 36 tok/s | $8.48 每百万输出 token |
| [8 × NVIDIA RTX 5090](https://gpuserver.io/zh/gpu/rtx-5090) 共 256 GB · PCIe 5.0 ×16 | 拆分到全部 8 张卡上 需要 43.1 GB，每张卡 32 GB | $2,584 | 100 tok/s | $9.83 每百万输出 token |

请把这个数字当作上限，而不是报价。它是这样算出的：让服务器一次只回答一个问题，其余时间整月闲置—这是拥有一块 GPU 效率最低的用法。任何真正的推理服务栈都会做得更好，接下来两节要说的正是好多少。

## 各档次的盈亏平衡点

取上表中最便宜的一行—[2 × NVIDIA RTX 5090](https://gpuserver.io/zh/gpu/rtx-5090)，每月 $692—问它需要处理多少工作量，才能在 API 市场的各档次中胜出。

**月度盈亏平衡点及其所需的持续吞吐量**

| 您原本要付的价钱 | 每百万输出 token | 盈亏平衡点 | 持续速率 | 相较单流 |
|---|---|---|---|---|
| 顶尖闭源模型 当前最强的闭源模型，没有人会把它的权重租给您。 | $15.00 | 46Mtoken/月 | 18 tok/s全天候 | 已经更便宜 |
| 中端闭源模型 多数产品实际上线所用的主力档次。 | $4.00 | 173Mtoken/月 | 66 tok/s全天候 | 1.6× 相对单流 |
| 开放权重 70B，专业服务商 相同权重 与您自己运行的相同权重，由别人代为提供服务。 | $0.90 | 769Mtoken/月 | 293 tok/s全天候 | 7.1× 相对单流 |
| 开放权重 70B，最便宜的无服务器方案 相同权重 市场的价格下限，背后通常是一个共享队列。 | $0.40 | 1,730Mtoken/月 | 658 tok/s全天候 | 16.1× 相对单流 |

最后一列就是本文的核心。凡是写着「已经更便宜」的地方，$692 服务器上一条未经批处理的单流就能胜过 API，无需多想。凡是显示倍数的地方，服务器仍有胜出的机会—但前提是您真正把它喂饱，这正是下一节的内容。

**这两行闭源模型的对比并不公平，而这恰恰是大多数人真正身处的战场。** 前沿模型的权重是租不到的，所以「改成自行托管」根本不是一个选项—真正要比较的是*价格为 $15.00 的闭源模型，与您完全拥有、价格为 $6.42 的开源模型*，以及后者是否足以胜任您的任务。这是一个质量问题，而不是成本问题，值得您在这套算法真正派上用场之前，花一个下午想清楚。

## 批处理才是关键

生成一个 token 需要从显存中读取一次活跃权重。为一百个*不同*请求生成一百个 token，同样只需要读取一次—同一份权重服务于该批次中的每一个请求。这就是为什么采用连续批处理的推理服务栈，在相同硬件上能产出比单流多出许多倍的每秒 token 数，也是为什么那张表格最后一列所示的倍数真实可达。

### 批处理能带来什么

总吞吐量会随并发数陡峭上升，此时权重仍是瓶颈；随后 KV 缓存逐渐占满显卡，计算本身成为限制，吞吐量趋于平缓。

- 远超单流的倍数是常态，并非乐观估计
- 除了额外缓存占用的显存外，不产生任何成本
- [vLLM 默认就会这样做](https://gpuserver.io/zh/guides/serve-llama-70b) —您无需配置它，只管投喂它

### 它会让您付出什么

吞吐量不会随并发数线性增长，而且每请求延迟会随批次增大而变差。六十四条流并不会给您六十四倍的 token 产出。

- 每条流的生成速度都比单独运行时更慢
- 率先耗尽的是 KV 缓存—[请刻意为其预留空间](https://gpuserver.io/zh/guides/vram-sizing)
- 空闲的批处理槽位不产生任何输出：您没有用到的并发，价值为零

实际含义是：把盈亏平衡表中的倍数当作*吞吐量目标*，而不是用户数。「单流的十倍」这个目标，并不意味着「十个用户」；它意味着服务器平均要达到未批处理速率的十倍，这通常需要远超十个、又远少于一百个的并发请求。在您确定具体数字之前，先在服务器上实测—这只是一次基准测试，却能一锤定音。

## 您仍需付费的闲置时间

以上都假设负载在整个月内均匀分布。而实际情况从来不是这样。按月租用的机器，在周日凌晨四点也照样计费，那个时段您没有生成的 token 不会顺延到之后。把您实际提供服务的那部分时间，除以您实际付费的时间：

**占空比如何在繁忙时段成倍推高所需吞吐量**

| 负载到来时 | 每周小时数 | 所需峰值速率 | 实际每百万 token 成本 |
|---|---|---|---|
| Continuously, 24/7 一个随时被调用就随时响应的接口 | 168 h | 持续速率 | $6.42 按单流计 |
| 每天十二小时 用户集中在单一半球的产品 | 84 h | 2.0× 在其繁忙期间 | $12.84 按单流计 |
| 工作日的上班时间 供自己团队内部使用的工具 | 40 h | 4.2× 在其繁忙期间 | $26.97 按单流计 |
| 每天两小时 一项批处理任务，或者偶尔打开一次的演示 | 14 h | 12.0× 在其繁忙期间 | $77.07 按单流计 |

第三行是大多数内部工具所在的区间，它会悄悄把您的盈亏平衡点拉高四倍以上。这正是自行托管估算出错的最常见原因—不是 token 单价，不是硬件，而是把「一个工作周」当成了「一整周」的假设。

## 为什么您的提示词几乎不花钱

有一种不对称性明显有利于自建服务器，而任何按 token 单价的比较都体现不出来。API 会对输入 token 收费—通常是每 token 输出价格的四分之一到三分之一。而在您自己的 GPU 上，输入 token 是在预填充（prefill）阶段处理的，该阶段并行处理整个提示词，受限于算力而非显存带宽。预填充阶段每秒处理的 token 数比生成阶段高出一个数量级。

**您发送的上下文越长，自行托管就越划算。** 一个提示词 20,000 token、回答 300 token 的检索增强（RAG）请求，在 API 账单上主要由输入决定，而在您自己的机器上则主要由输出决定。两个在某家服务商月账单相同的工作负载，换到另一家可能相差达二比一，且差距的方向有利于硬件。如果您的提示词很长—RAG、文档提取、长上下文摘要—请按*您自己的*输入输出比例来计算，而不要只看输出。

## 这套算法没有算进去的东西

四件从不会出现在“每 token 成本”表格里的事，但它们决定这个问题的份量，不亚于数字本身。

**每一次请求都会去往某处。**API 会看到您的提示词，而提示词就是您的产品、客户的文档或您的代码。在您租用的机器上，权重和流量都留在这台机器上—而且[我们从一开始就没有问过您是谁](https://gpuserver.io/zh/no-kyc-gpu-server)。这不是一项可以量化的成本，但对某些工作负载来说，它就是全部的决定因素。

**模型会被弃用；您的不会。**托管模型可能会更改、换成行为不同的新版本，或者按不由您决定的时间表下线。存在您自己 NVMe 上的一套权重，一年后行为依然相同，如果您曾针对它做过评估，这一点意义重大。

**固定价格是另一种数字。**按量计费意味着一个 bug、一次重试循环或一波流量突增，都会变成一张事后才发现的账单。按月租期不会给您带来意外：最坏的情况是机器慢，而不是账单贵。

**总得有人来运维它。**自建的真实成本，包括一个下午的搭建时间，以及驱动或容器偶尔出问题的某个夜晚。我们的[文档](https://gpuserver.io/zh/docs)的存在，就是为了把这段时间压缩成一个下午而不是一周，但这个成本并不是零，假装它是零，正是这类对比失去可信度的原因。

## 您站在哪一边

按顺序阅读，遇到第一条符合您情况的就停下。

1. **您需要顶尖闭源模型的质量。**那么本文并不适用：没有人会把那些权重租给您。请使用 API，等到某个开放模型在您的具体任务上追平差距时再重新考虑。
2. **您的流量不大，或者您现在还不清楚。**请使用 API。这是摸清您真实流量情况最便宜的方式，而计量计费本身就是一件很好用的测量工具。
3. **您的流量波动大，且能容忍排队。**请使用 API，或者拆分处理：用自己的机器承担稳定的基础负载，用托管接口应对峰值。没有什么强制要求只能选一种方式。
4. **您正针对一个开放权重模型，持续承载真实的批量流量。**这正是硬件胜出的场景，而且胜出很多—固定价格不再变动，而计量表还在持续走动。在相信这一点之前，先核对上表中您自己的数字。
5. **提示词敏感、模型不能变动，或者账单必须提前可知。**这种情况下，算式只是走个形式。租下能容纳您模型的机器，[不必告诉任何人您是谁](https://gpuserver.io/zh/guides/pay-in-crypto)，为它付款即可。

无论您在哪一行停下，要核对的都是盈亏平衡表中对应*您的*模型和*您的*用量的那个数字。[配置器](https://gpuserver.io/zh/configure)会针对我们出租的每个节点，报告您的模型能否放进单张卡、是否需要拆分，以及吞吐量估算是多少—这正是这套算法所需的全部输入。如果您还在犹豫按月租用还是按小时计费，那是[另一个盈亏平衡问题](https://gpuserver.io/zh/guides/monthly-vs-hourly)，同样已经算好。

## 在真实服务器上算出您自己的盈亏平衡点。

配置器会给出产品目录中每个节点的吞吐量估算和月费——这两个数字正是本指南所做除法运算的对象。

[打开配置器](https://gpuserver.io/zh/configure) [阅读指南](https://gpuserver.io/zh/guides)

## 其他指南

- [实践 · 11 分钟 在单个节点上部署 Llama 3.3 70B 从交付完成的服务器，到一个兼容 OpenAI 的推理端点：这中间有真正重要的启动参数，也有会悄悄把吞吐量拦腰砍半的那两个参数。 阅读指南](https://gpuserver.io/zh/guides/serve-llama-70b)
- [实践 · 10 分钟 在单张显卡上微调 70B 模型 在单张 48 GB 显卡上使用 QLoRA 微调：能放下什么样的模型、每月需要多少成本，以及为何完整微调需要完全不同量级的服务器。 阅读指南](https://gpuserver.io/zh/guides/lora-finetune)
- [付款 · 8 分钟 用加密货币支付服务器费用 从点击支付按钮到最终获得 root 权限之间究竟发生了什么、应该选择哪种加密货币，以及首次付款时容易亏钱的四个常见错误。 阅读指南](https://gpuserver.io/zh/guides/pay-in-crypto)

---

来源：https://gpuserver.io/zh/guides/api-vs-self-hosting/。本文件由与网站相同的数据生成；如果此处的数字与页面不一致，以页面为准，本文件视为过期——权威来源是 https://gpuserver.io/。
