直觉:这不是"免费 vs 付费"的问题
很多人把开源闭源之争理解成"自己跑省钱 vs 调 API 花钱"。这个框架太粗。对工程师而言,真正的决策轴有四条:你能拿到什么(权重)、你被允许做什么(许可)、你要自己扛什么(部署运维)、以及你的数据去哪了(合规与隐私)。 本文把这四条轴拆开,给一个可操作的决策框架。
第一条轴:你到底拿到了什么
"开源"在大模型语境下是个被滥用的词,至少要区分三个层次:
1. 闭源 API(weights closed)。 你只能通过 HTTP 接口访问,看不到也下不到权重。你拥有的是"调用权",模型是个黑盒。
2. 开放权重(open weights)。 厂商公开了模型权重文件,你可以下载、本地推理、微调。但注意——开放权重 ≠ 完全开源。通常训练数据、训练代码、数据配比并不公开。你能用、能改这个模型,但无法复现它的诞生过程。这是目前绝大多数"开源大模型"的真实状态。
3. 完全开源(fully open)。 权重、训练代码、数据集、训练流程全部公开,理论上可完整复现。这类相对少见。
对工程决策来说,最关键的分界是第 1 层和第 2 层之间:能不能把权重握在自己手里。这一条直接决定了后面三条轴的可能性。
第二条轴:许可证决定你能不能商用
拿到权重不等于可以随便用。开放权重模型挂的许可证五花八门,踩坑高发。几类典型:
- 宽松许可(如 Apache 2.0、MIT 风格):商用、修改、再分发基本不设限,对企业最友好。
- 附带条件的"社区许可":允许商用,但常带限制条款,比如超过某个用户规模需另行授权、不得用模型输出去训练竞品模型、需在产品中署名等。
- 仅限研究(non-commercial / research only):明确禁止商业用途。学术验证可以,上生产就是违约。
1 | 拿到权重 → 读许可证 → 确认三件事: |
第 3 点尤其容易被忽略:有些许可禁止用该模型的输出去训练或改进其他模型。如果你的产品链路涉及"用大模型生成数据再训小模型"(蒸馏),这条款可能直接卡死你的方案。许可证要在选型阶段就读,别等上线了才发现违约。
第三条轴:部署与运维,开放权重的隐藏成本
自托管开放权重模型,省下的是 API 调用费,扛起来的是一整套基础设施。
显存与硬件:前面"算账"系列说过,70B 级模型 fp16 推理就要上百 GB 显存,需要多卡或量化。这意味着 GPU 采购/租赁、机房或云实例的固定成本。
推理服务化:把一个权重文件变成稳定的线上服务,要解决一堆工程问题:
1 | - 批处理(continuous batching):把并发请求动态拼批,提吞吐 |
这些正是成熟推理框架(vLLM、TGI 这类)在做的事。自己搭这套,等于把"一次 API 调用"背后厂商替你做的运维全接过来。
TCO 的临界点:自托管是高固定成本、低边际成本;闭源 API 是零固定成本、高边际成本。两条成本曲线有个交叉点:
\text{自托管} = C_{\text{固定}} + c_{\text{边际}} \cdot V, \quad \text{API} = p \cdot V是调用量。 小时 API 划算(不用养 GPU), 大到一定规模、且 GPU 利用率能拉满时,自托管的边际成本优势才体现出来。低频、波动大的负载用 API;高频、稳定、可填满 GPU 的负载,自托管才可能更省。 注意"GPU 利用率"是隐藏前提——闲置的 GPU 一样烧钱,规模不够时自托管反而更贵。
第四条轴:数据、隐私与可控性
这条轴常常是压倒性的,甚至盖过成本。
数据驻留:调闭源 API,请求数据要发到厂商服务器。对医疗、金融、政企或受数据出境法规约束的场景,这本身可能不被允许。自托管开放权重可以做到数据完全不出内网。
可控性与确定性:
- 闭源 API 的模型会被厂商静默升级,同样的 prompt 今天和下个月的输出可能变化,对需要行为稳定的生产链路是风险。开放权重模型权重在你手上,版本完全可控。
- 自托管可以深度定制:自定义量化方案、改采样逻辑、挂 LoRA 适配器、做特殊的 KV Cache 策略。API 只给你暴露出来的几个参数。
能力天花板与时效:另一面是,闭源前沿模型往往在能力上保持领先,且无需你承担任何训练/运维。开放权重在很多任务上已经够用甚至追平,但追前沿能力时仍可能有差距。
决策框架:四象限速查
把上面四条轴压缩成可操作的判断:
| 你的优先级 | 倾向选择 |
|---|---|
| 数据绝对不能出内网 / 强合规 | 开放权重自托管 |
| 需要行为版本可控、可深度定制 | 开放权重自托管 |
| 负载高频稳定、GPU 能填满 | 开放权重自托管(成本) |
| 要快速上线、负载低或波动大 | 闭源 API |
| 追前沿能力、不想养基础设施 | 闭源 API |
| 涉及蒸馏/再训练 | 先读许可证,再决定 |
现实中很多团队的答案是混合:用闭源 API 快速验证产品、跑高难度任务,同时对高频、对隐私敏感或成本敏感的环节用自托管开放权重模型兜底。两者不是非此即彼。
踩坑
1. 把"开放权重"当"完全开源"。 训练数据和流程通常不公开,你无法完全审计或复现,安全/合规评估时要意识到这点。
2. 选型只看 benchmark 不看许可证。 一个分数漂亮但 research-only 的模型,对商业产品价值为零。
3. 低估自托管的运维复杂度。 "下载权重就能跑"和"提供稳定的生产级推理服务"之间隔着批处理、量化、监控、扩缩容一整座工程。
4. 用调用量算成本时忘了 GPU 利用率。 自托管的经济性高度依赖把昂贵的 GPU 喂满;利用率低时,自托管的单位成本可能远高于 API。
5. 忽视模型静默升级的影响。 依赖闭源 API 的链路,要为模型行为漂移做回归测试和兜底设计。
小结
开源闭源的选择不是省钱与否,而是在权重控制、许可边界、部署运维、数据合规四条轴上权衡。闭源 API 的本质是"用边际成本买省心和前沿能力",开放权重自托管的本质是"用固定成本和运维复杂度换数据主权、可控性与规模化后的成本优势"。先问清楚自己的硬约束(数据能不能出内网、能不能商用、负载有多大),答案往往自己就浮现了——而对多数成长中的团队,混合架构是最务实的解。