为什么要本地跑大模型

[TOC] 很多事情的起点都很相似:你在做一个业余项目,需要一个能聊天的机器人,于是打开了某家云厂商的控制台,申请了一个密钥,跑通了第一段示例代码。那一刻体验非常好,模型聪明、回复快、接口齐全。但一个月之后账单来了,你发现只是自己一个人测试就花掉了三位数;又或者你想把模型接到公司内部的文档系统里,信息安全部门问你一句话——数据出不出网?这两个问题,恰好就是本地部署大模型要解决的。

本地大模型这几年发生了什么

把时间往回拨几年,本地跑大模型这件事属于极少数人的玩具。开源模型的参数动辄几十亿,模型的分发格式五花八门,普通玩家想跑通一遍需要折腾一整个周末,能跑起来的多半也是勉强能用的水平。但是最近的两年里,几件事同时发生了。

第一件是开源模型整体能力大幅提升。各家厂商把过去只在闭源模型里使用的技术下放到了小模型上,训练数据质量和训练方法都在快速迭代。结果是中等规模的开源模型在很多日常任务上已经逼近甚至达到了早期闭源模型的水平。第二件是量化技术成熟。4 比特量化几乎成了标配,模型体积缩到原来的四分之一,能力损失却很小,让一块普通游戏显卡就能顺滑地跑起 8B 规模的模型。第三件是工具链彻底完善。Ollama 这类工具的出现把部署门槛打到了近乎为零,从知道这件事到跑通第一个模型,可能只需要十分钟。

这三件事叠加在一起,让本地跑大模型从折腾党的专利变成了普通人也能参与的事情。所以如果你最近才听说这件事,时机刚刚好。

云端 API 好用,但账单会教人做事

云端大模型 API 的计费方式是按 token 来的,输入算一次、输出再算一次,看起来单价很低。以某个主流模型为例,输入大概每百万 token 几块钱,输出贵几倍。单看一条对话,几分钱都不到,但 token 这东西有个特点——它小到你感觉不到,又多到拦不住。

举个真实的场景。你给一个代码仓库写了个小助手,让它读你的代码并回答问题,每次提问都把相关文件塞进上下文。一个普通文件几千行代码,随便就两三万 token。你一天问五十次,就是一百多万 token 的输入。一个月下来三十多次这样的循环,光是输入费用就够你心疼。更要命的是输出,如果模型每次都给你长篇大论,输出 token 的费用往往是输入的好几倍。

还有一个隐藏成本是上下文越长越贵。有些模型支持几十万 token 的上下文,你把整本书塞进去问一次,单次费用可能就够你喝杯咖啡了。而本地模型跑一次推理,成本只有电费,跑一百次和跑一万次在钱上没有区别。这就是本地方案最直观的优势:边际成本趋近于零。

再补充一点容易被忽略的:API 的价格不是固定的。服务商涨价或者调整计费粒度的时候,你的应用成本会跟着波动,有时还毫无征兆。有些服务商把计费从按字符改成按 token,或者对缓存命中与否做了区分,账单逻辑越来越复杂。本地部署的账单只有一张电费单,简单到令人安心。

另外还有一种隐性成本是开发和调试的开销。API 每次调试都是真实调用、真实扣费,本地模型可以无限次试错,不用担心某个边界情况测出来账单爆掉。对学生党和做开源项目的人来说,这个优点的价值不亚于省钱本身。

数据不能出网,这是很多场景的底线

对个人开发者来说,数据隐私可能只是个顾虑;但对在企业里做事的人来说,它常常是硬性红线。公司内部的代码、客户资料、合同条款、医疗或金融行业的病历与交易数据,这些都属于不能随意发送到第三方服务的范畴。云端 API 再安全、再合规,数据总归是离开了你自己的机器,经过了别人的服务器。

本地部署把这件事变得简单粗暴:模型就装在你自己的电脑或公司机房里,数据进去、数据出来,全程不出局域网。你可以把一个智能问答系统接到内网知识库上,给整个团队用,不用担心哪天服务商的数据政策变了,也不用担心训练数据被拿去做别的模型。

即使不考虑合规,有些人也不愿意把自己写了一半的小说、商业计划书或者私人聊天记录交给云端的模型。本地跑大模型本质上把数据的控制权拿了回来,你的硬盘你做主。当然,拿到控制权的同时你也拿到了运维责任,这点我们在后面的篇章会反复提到。

没有网络也能用,而且没有限速

云端 API 还有一个问题是:它依赖网络,也依赖服务商的状态。你在高铁上、在飞机上、在信号不好的会议室里,模型就没法用了。有时候服务商遭遇流量洪峰,你的请求要么排队要么超时;有时候你的账号因为某些原因被限流,调用突然就开始报错,而你的应用完全没有降级方案。

本地模型不存在这些问题。只要电脑有电,模型就在那里,响应时间相对稳定,不用排队,不会被限流,也不用担心哪天服务商调整了价格或者下线了某个模型版本。对于一个想长期依赖某个能力的应用来说,稳定性有时候比绝对能力更重要。

对一些特殊行业更是如此。比如某些涉密单位、远洋作业平台、野外站点,网络本身就不稳定甚至根本不存在,但依然需要智能问答或者文档摘要的能力,这时候本地部署不是选择题而是必答题。

还有一类情况是模型行为的一致性。云端模型会不定期更新版本,同样的问题今天和明天可能得到不同风格的回答,甚至接口的返回格式也会调整,这对依赖稳定输出的自动化流程是灾难。本地模型跑的是同一个不变的版本,行为可预测,方便回归测试和长期归档。如果你的应用需要给模型留痕、复现某次处理结果,本地部署几乎是唯一稳妥的选项。

顺带说一个实际感受:云端 API 的强大容易让人产生依赖,一旦习惯了某个模型的能力,哪天服务商政策一变,整个项目可能就要重构。本地模型则给你了一种底气——东西在你手里,什么时候用、怎么用、用多久,都是你说了算。

什么人适合在本地跑大模型

说了这么多好处,也得泼点冷水。本地跑大模型不是所有情况下的最优解。下面这张表把适用和不太适用的场景列出来,你可以对照着看。

场景特征 本地方案是否合适 说明
个人开发者日常把玩、学习 很合适 反复调用不心疼,想换模型就换
团队内部知识库问答 很合适 数据不出网,长期摊销成本低
需要处理高并发对外服务 不太合适 单机吞吐有限,更适合用 vLLM 等方案
对模型能力要求极高 看情况 开源模型和顶级闭源模型仍有差距
只是偶尔用一两次 不太合适 直接调 API 更省心,硬件闲置浪费
涉密或离线环境 唯一选择 合规要求决定了必须本地

简单总结一下:如果你属于反复使用、数据敏感、想要完全控制这三类情况里的任何一种,本地部署值得投入;如果你只是想快速验证一个想法,或者需要顶级模型的能力,先从 API 开始更合理。很多成熟的做法是混合使用——日常的简单任务交给本地模型,复杂的大任务再调用云端 API。

再往细了说,有几类人我特别建议尽早入坑。一种是经常写代码的开发者,本地模型配合编辑器插件做自动补全、代码解释、写测试用例,属于高频刚需,用本地模型一年省下的订阅费够买显卡。另一种是内容创作者,用本地模型做大纲起草、润色改写、起标题想文案,这些反复迭代的活儿交给本地模型既省钱又不心疼。还有一种是带团队的技术负责人,给团队搭一个内部知识库助手,数据全程在内网,功能实现了合规问题也解决了。

反过来,有几类人我建议先观望。电脑配置实在老旧、连 CPU 跑都吃力的;只用一两次想尝鲜的;以及对输出质量有极高要求、任何一点瑕疵都不能接受的。前两种投资回报率太低,最后一种容易被开源模型的瑕疵劝退,不如先用云端的高质量服务。

本地跑大模型,到底要花多少钱

这是个所有人都会问的问题。答案是看你想跑多大的模型。显卡是最大的门槛,一块主流游戏显卡可以流畅跑 8B 左右规模的模型,对大多数日常任务来说都足够了; 但再大一些就需要专业卡或者双卡了。显存的具体测算方式和不同模型规模的对照表,在硬件门槛那篇里有详细说明,这里先给个大致印象。

软件成本倒是几乎为零。Ollama 是开源的,主流的开源模型也都可以免费下载使用。你真正要花的钱就是硬件和电费。一块中端显卡日常运行一个 8B 模型,整机功耗大概一两百瓦,一天开机十小时也就一两度电,比很多人的显示器还省。

二手显卡是很多玩家入门的选择,前几年的旗舰卡现在价格很香,跑大模型完全不在话下。唯一要注意的是显存一定要够,因为显存不够是没有任何技巧可以绕过的硬门槛,慢一点可以忍,爆显存就直接没法跑了。

说到投入产出,可以算一笔小账。假设你花四五千块配了一台带中端显卡的机器,每天高频使用两年,摊到每个月也就两百块出头,而同样强度的云端 API 调用可能每月都要花掉几百甚至上千。更重要的是,这台机器还能干别的——打游戏、剪视频、跑实验,显卡是通用生产力,不像 API 的钱花完就没了。

当然了,本地部署也有它独有的成本,主要是你的时间。学习部署、挑选模型、调参数、处理各种小毛病,都是时间投入。对把折腾本身当乐趣的人来说这是娱乐,对只想用工具的人来说就是负担。在决定入坑之前,诚实地评估一下自己属于哪一类,能少走很多弯路。

关于具体的硬件选购和显存测算,推荐先看硬件门槛:显存决定模型大小,它用一张表说清楚不同规模模型到底需要多少显存,以及你的机器处在什么水平;如果你想问本地模型到底能做什么、和云端差多少,可以看模型怎么选:参数、量化和能力差异。

常见问题

本地模型能替代 GPT-4 那样的云端模型吗

看场景。日常的问答、摘要、翻译、写简单代码,本地的 8B 到 30B 规模模型已经能做到不错的水平,完全够用。但涉及非常复杂的推理、超长文档的精确分析,或者最新的知识,开源模型和顶级闭源模型之间仍有明显差距。务实的做法是把本地模型用于高频的、对数据敏感的、要求稳定的任务,把云端 API 留给真正需要顶级能力的场合。

电费和硬件折旧算下来真的划算吗

如果你每天都在高频使用,划算。假设你一天调用几万次 token,云端账单几个月就能买一块显卡;而本地运行一天电费也就几毛到一两块钱。反过来说,如果你一周才用一次,买显卡的钱存在余额宝里都够付 API 费用了,那还是调 API 划算。能不能回本,取决于你的使用强度。

电脑是核显或者只有 CPU,能跑吗

能跑,只是慢。Ollama 支持 CPU 推理,一个 8B 模型在普通 CPU 上每秒能输出几个到十几个 token,读起来有点像等一封长邮件,但确实可以用。很多入门者都是从 CPU 先跑通流程,再决定要不要投资显卡。关于 CPU 推理的性能预期,可以参考硬件门槛一篇里的实测说明。

顺带一提,苹果的 M 系列芯片是个例外。它的统一内存架构让核显也能拿到大块显存用,跑 8B 模型的速度相当不错,Mac 用户其实是很舒服的本地大模型玩家群体,不用因为不是独立显卡就觉得没戏。

本地模型会泄露我的对话内容吗

本地的模型推理过程完全在你自己的机器上完成,没有网络连接的话数据不会离开你的设备。需要注意的反而是你下载的第三方工具和插件,有些前端界面会带有统计上报功能,安装前看清楚说明就行。Ollama 本身只是一个本地服务,默认不发送任何对话内容。