/experiments/5_10_payback/

5.10 节回本计算器:按你的用量、显卡报价、电费和 API 价格,算买卡自托管几年回本

目录文件列表

文件 / 目录说明大小
📁 ../返回上级目录-
📁 sample_output/子目录-
📄 README.md3.4 KB
📄 payback.py3.1 KB
📄 scenarios.py3.5 KB

README.md

5.10 买卡自托管,多久回本

这份代码回答一个问题:买显卡自己跑开放权重模型,按你的用量、你拿到的显卡报价和你在付的 API 价格,几年能回本。

它算的是最简单的一笔账:每年替代掉的云端费用,减去电费,得到每年净省多少;硬件价格除以这个数,就是简单回本期。云端费用有三种算法,对应三种比较对象:

需要什么设备

任何电脑。只用 Python 标准库,不用装包,也不调 API。

运行

cd 5_10_payback
python3 payback.py              # 文章里的六个场景,加上你的 MY_SETUP
python3 payback.py --load 0.25  # 把 api 场景的负载率改成 25%

该看到什么

前六个场景的数字取自文章《如果我买显卡自托管 GLM 和 DeepSeek,到底要几年才能回本?》(2026 年 7 月),计算器算出来和文章一致:

场景 24 小时满载 负载 25%
GLM-5.2,8×H200,$40 万,对标 API(不算缓存) 1.15 年 4.62 年
DeepSeek-V4-Flash,2×RTX PRO 6000,$3.25 万,对标 API(不算缓存) 1.77 年 7.07 年
GLM-5.2,8×B300,$40–50 万,对标 agent 负载 API(92% 命中缓存) 0.19–0.24 年 0.78–0.97 年
DeepSeek-V4-Flash,2×RTX PRO 6000,对标 agent 负载 API(92% 命中) 0.88 年 3.51 年
GLM-5.2,8×B300,对标 1 个订阅席位 回不了本 回不了本
GLM-5.2,8×B300,对标同等用量的 29 个订阅席位 21.8–27.3 年 (同左,席位数按满载折算)

样例输出见 sample_output/(2026-10-23)。

看这张表有三点值得注意。同一台机器,比较对象换一下,回本期可以从两三个月变成二十多年。云端缓存价越便宜,自托管越难回本:GLM 的缓存价是 DeepSeek 的约 93 倍,同样是 92% 命中,GLM 那台不到 3 个月回本,DeepSeek 那台要 10 个月以上。最后,文章的数字都假设机器一年 365 天、每天 24 小时满载;负载降到 25%,回本期大约变成四倍。你的机器实际有多忙,往往比显卡价格更决定结论。

换成你自己的数据

打开 scenarios.py,改最下面的 MY_SETUP:显卡或整机报价、整机功耗、电价、每天开机几小时、你现在每月为这部分工作付的 API 费用。如果你想按满载产能来算,把 compare 改成 'api',并填上吞吐(output_tok_per_s,用 5.7 的测速脚本在你的机器上测)、输入输出比、缓存命中率和 API 价格。也可以照着前面的场景复制一份,写进 SCENARIOS 列表。

几个容易漏的地方:吞吐要用你实际负载下的数字,不要用宣传的单流峰值;my_bill 只该填本地模型真能替代的那部分账单(本地小模型做不了的活,账单还在);负载率低于 1 时,电费按满载功耗乘开机时间估算,没算待机功耗。计算器只算硬件和电费,机柜、网络、运维人力、停机冗余、折旧和残值都没算,真实的回本期只会更长。