作者现身说法,自费 $4200 托管开源 LLM 四个月后放弃,转回 API 路线;详细对比 Qwen、DeepSeek、GLM 等开源模型与 GPT-4o/Claude 的实际差距,并给出成本效益分析。
好了,我得坦白一件事。去年我在一个副业项目上租 GPU 服务器来自托管一个开源 LLM,花了大约 4200 美元。四个月后我关掉了实例,换成了 API,然后就再没回头过。这段经历正是我写这篇指南的原因——因为开源 AI 生态已经变得很奇怪了,而且是那种最好的奇怪方式。市面上流传的大多数成本建议已经完全过时了。
让我来展示一下我的意思。
情况是这样的:开放权重模型已经追赶上来了。我不是说它们在每个基准测试中都超越了 GPT-4o 或 Claude——它们没有——但差距已经小到对于 80% 的真实生产工作负载来说,你用它们完全没问题。Qwen 团队、DeepSeek、字节跳动、GLM 和 Hunyuan 的背后团队——他们都发布了真正可用的模型,你可以下载并在今天运行。
所以问题变成了:你真的应该自己运行它们吗?
我狠狠地钻进了这个兔子洞。花了数周时间做基准测试。把论坛帖子读到眼睛出血。配置 vLLM,跟量化格式搏斗,咒骂 CUDA 驱动不匹配的问题。在这一切之后,我的结论相当无聊:对于几乎所有读到这篇文章的人来说,通过 API 访问开源模型比自托管更便宜、更简单。
让我来拆解一下这些数字,这样你就能明白我在说什么。
这是我在测试后最终确定的阵容。这些都可以通过 Global API 访问(稍后会详细介绍),每一个都有开放的权重,如果你真的想的话,你可以下载并自己运行。
看看那些价格。Qwen3-8B 每百万输出 token 只需 0.01 美元,这简直是荒谬的——每千个 token 才一分钱。你可以用不到一杯咖啡的钱处理数百万个单词。
但定价只是故事的一半。让我来展示一下自己运行这些东西的实际成本。
当我第一次开始研究这个问题时,我读的每篇博客文章都把自托管描述得很简单。"租一个 A100 就好了!"他们说。好的。让我来展示一下租一个 A100 的实际情况。
以下是我从 Lambda Labs、RunPod 和 Vast.ai 收集的预留实例的大致价格,如果你直接购买硬件的话还有分摊折旧。
注意到一个重要的事情:即使你处理零个 token,你仍然需要为 GPU 付费。这是自托管和 API 访问之间根本性的不对称。
这就是我犯错的地方。我只为 GPU 做了预算,忘记了其他一切。让我来展示完整的画面,这样你就不会重蹈我的覆辙。
那条 DevOps 线才是致命的。如果你团队里没有真正懂 GPU 基础设施的人——我是说真正懂,不是"我部署过几个 Docker 容器"那种——你花费的时间价值会远超每月 500-3000 美元。相信我说的。
表格里的数字很好,但我来把它落在实际场景中。我会走过三个我自己做过或给朋友建议过的设置,以 DeepSeek V4 Flash 作为比较 API,因为它是目前最具成本效益的选择之一。
这是我们大多数人的起点。副业项目,低流量,可能是一个 Discord 机器人或私人助理。
是的。12.5 美元。一个可用的 AI 驱动的应用。自托管版本贵了 32 倍,因为无论你是否使用,都在为一个空闲的 GPU 付费。
API 赢了。毫无悬念。
一旦你的项目起飞,事情就变得有趣了。这就是最初研究指出的盈亏平衡区,而且在实践中得到了验证。
API 仍然便宜 3-5 倍。即使在这个量级,经济账仍然支持调用别人的服务器。自托管只有在忽略 DevOps 时间的情况下才算"有竞争力",而我不建议那样做。
这就是数学开始反转的地方,有点。
在这个规模上,这真的是一个五五开的选择。API 仍然有竞争力,但如果你有一个真正的 infra 团队而且已经付清了硬件,自托管开始变得有意义。不过,读到这篇文章的大多数人并不是每天处理 5 亿 token 的规模。所以让我们继续。
这就是我现在看待这个问题的方式。成本比较只讲了一部分故事,但实际操作现实才是真正说服我的。
模型切换这件事被低估了。上个月我在跑 Qwen3-32B,然后需要一个更快的低延迟用例,切换到 0.01 美元/百万的 Qwen3-8B,再跳到 DeepSeek V4 Flash 做批处理任务。每次切换大约花了我 30 秒。试试在自托管设置中做到这一点。
好了,理论够了。以下是你如何真正通过 Global API 使用这些模型。我会用 Python,因为那是我用的,但模式对任何语言都一样。
首先,安装 OpenAI SDK(它可以与任何兼容的端点一起工作):
pip install openai
然后,一个基本的聊天补全调用:
from openai import OpenAI
# Point your client at Global API's endpoint
client = OpenAI(
api_key="YOUR_GLOBAL_API_KEY",
base_url="https://global-apis.com/v1"
)
response = client.chat.completions.create(
model="deepseek-v4-flash",
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Explain quantization in LLMs like I'm five."}
],
temperature=0.7,
max_tokens=500
)
print(response.choices[0].message.content)
就这样。这就是全部。你现在在调用一个运行在企业级基础设施上的开源模型,每百万输出 token 支付 0.25 美元,而你不需要配置一个 CUDA 驱动。
想做点更有趣的事?以下是我用于聊天机器人界面的流式传输示例:
from openai import OpenAI
client = OpenAI(
api_key="YOUR_GLOBAL_API_KEY",
base_url="https://global-apis.com/v1"
)
stream = client.chat.completions.create(
model="qwen3-32b",
messages=[
{"role": "user", "content": "Write me a haiku about debugging production at 3am."}
],
stream=True,
max_tokens=200
)
for chunk in stream:
if chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)
print() # newline at the end
注意到我切换到 Qwen3-32B 只改了一个字符串。同一个客户端、同样的认证、同样的 SDK,只是模型不同。在自托管的 vLLM 部署上尝试这样做,你得花一个下午。
如果你在构建一些严肃的东西,以下是我在所有实验之后最终采用的策略:
开发和 staging 应该调用 API。你需要灵活性。你需要 A/B 测试不同的模型。你需要能够在不启动新基础设施的情况下换入换出。API 几乎免费地给你这些。
正常生产流量应该调用 API。可靠性比榨取最后一点 GPU 利用率更重要。供应商的 SLA 是真实的。正常运行时间保证是真实的。你的 on-call 轮值会感谢你。
突发容量应该调用 API。当你在 Hacker News 上被推荐或者你的产品病毒式传播时,你不会想疯狂地配置 GPU。API 以自托管基础设施根本无法匹配的方式自动扩展,除非你是 Netflix。
我唯一真正推荐自托管的场景是:当你处理的 token 量足够大,月账单进入数千美元级别 AND 你有一个专门的 infra 团队 AND 你已经摊销了硬件成本。这只是一小部分公司。对于其他所有人,API 才是正确的选择。
看吧,我不会假装自托管从来没有意义。如果你有合规要求需要本地部署,或者你运营的规模使得每月 3750 美元只是零头,你可能最终会运行自己的 GPU。这没问题。那不是你们中的大多数。