很多人手上就一张卡,想直接本地跑 DeepSeek 32B,装完才发现加载就报显存不足,或者勉强跑起来但慢到没法用。这篇不给你一个死数字,而是教你自己算:不同量化档位实际吃掉多少显存、3060/4060/4090 这类卡的档次分别卡在哪一步、跑不动时该降量化还是换落地方案。看完你能在下单买卡之前就判断出这条路值不值得走。
很多人手上就一张卡,想直接本地跑 DeepSeek 32B,装完才发现加载就报显存不足,或者勉强跑起来但慢到没法用。这篇不给你一个死数字,而是教你自己算:不同量化档位实际吃掉多少显存、3060/4060/4090 这类卡的档次分别卡在哪一步、跑不动时该降量化还是换落地方案。看完你能在下单买卡之前就判断出这条路值不值得走。
先说清一个前提:下面讲的都是判据和算法,不替代你机器上的实测。同一个模型、同一个量化档位,在不同推理框架、不同驱动、不同上下文长度下差得很远。所以每算完一步,都建议到站内的部署测算页跑一遍你自己的参数,别拿别人的截图当结论。
先想清楚:为什么要本地跑 32B,而不是调 API
本地部署不是免费的,也不自动等于更好。它换来的东西只有三样:数据不出内网、断网也能用、长期高频调用时硬件摊薄后可能更划算。如果你的需求不落在任何一条上,本地跑基本是给自己找运维活。
- 数据敏感:合同、病历、内部代码这类不能出内网的内容,是本地部署最硬的理由
- 网络受限:产线、工地、内网隔离环境,云端 API 根本连不上
- 高频稳定调用:每天调用量很大且形态固定,一次性投入硬件长期看可能更省
- 反过来说,只是偶尔试用、对最新能力有要求、团队没人会维护推理服务,这三类情况本地跑通常不划算
判断动作很朴素:先把过去一周的真实调用量、平均输入长度、平均输出长度记下来,估一个月的云端开销;再把你打算买的硬件成本、电费、维护人工折算进去对照。这个账到站内的教程中心和算力总览页有现成的估算方法,按你自己的用量代入即可,不要照抄别人的配置。
32B 的显存到底花在哪:权重、KV 缓存、框架开销三笔账
显存不是只有权重一项。很多人算完权重觉得卡够用,实际一加载就溢出,就是因为漏了后面两笔账。把这三笔分开记,你才有得调。
- 权重占用
- 参数量乘以每个参数占的字节数,量化档位直接决定这个字节数,是显存里最大的一块
- KV 缓存
- 随上下文长度、并发数、层数一起涨,聊得越长、人越多,这块越明显
- 框架与运行时开销
- 推理引擎、CUDA 上下文、临时缓冲等固定吃掉一部分,别把权重尺寸当成卡的容量下限
| 显存去向 | 受什么影响 | 想省它该动哪一项 |
|---|---|---|
| 权重 | 量化档位、模型参数量 | 降量化档位 |
| KV 缓存 | 上下文长度、并发请求数 | 限制上下文、限制并发 |
| 框架开销 | 推理引擎与驱动 | 换更省显存的引擎或参数 |
| 峰值缓冲 | 首次加载与长文本预处理 | 留出余量,别按满载买卡 |
算不准就别硬估。带上你的量化档位、目标上下文长度、并发数,到站内的部署测算页跑一遍,拿到的结果比在群里问「我这卡能跑吗」靠谱得多。记一个原则:卡的显存容量要明显大于权重加框架开销,否则每次拉长对话都会翻车。
量化档位怎么选:精度、显存、速度三者的取舍
量化就是拿精度换显存和速度。高位量化质量最接近原始模型但吃显存最多;低位量化能塞进小卡,代价是复杂任务上更容易出错。这里没有「最优档位」,只有「对你的任务够不够用」。
- 先定必须支持的上下文长度,这是硬约束,再倒推能接受的量化档位
- 再定任务类型:闲聊问答可以容忍低位,数学推理和代码生成对精度敏感,低位要留人工或程序校验环节
- 最后定速度底线:加载能起来不等于能用,首字时间太长体验就崩了
- 同一模型换量化档位后,表现差异不小,换档必须重跑你自己的验收任务
什么情况下低量化档位不适用?当输出要直接进生产流程、没人复核的时候。这种情况下宁可降上下文长度也不要降太多精度。反过来,如果只是内部检索问答、答案有人看一眼,低位量化完全够用。
入门卡与小显存卡:能跑到什么程度,卡在哪一步
这一档卡的典型瓶颈往往不是算力,而是显存容量。算力决定快慢,显存决定能不能装下。装不下的时候,再强的核心也得走 CPU 卸载或者分片。
| 显卡档位 | 通常先卡在哪 | 现实选择 |
|---|---|---|
| 小显存入门卡 | 显存容量装不下权重 | 跑更小参数模型,或直接走 API |
| 主流中端卡 | 装得下低量化,长上下文就紧张 | 限上下文长度,控并发 |
| 准高端卡 | 单人中低位量化可用 | 确认并发和长文本余量 |
CPU 卸载是救急手段:把一部分层放到内存里,显存压力小了,但速度和内存带宽绑定,通常会掉到很难日常使用的程度。它适合验证模型行为,不适合当生产方案。8G 到 12G 这一档,更现实的路是小参数模型或者混合方案,而不是死磕 32B。
- 先查显存容量确认单卡显存和是否支持多卡拼显存,这一步决定后面走哪条路
- 再算权重占用按你选的量化档位估权重字节数,和显存容量对比,留出框架开销余量
- 最后试长上下文装得下之后拉到目标上下文长度跑一轮,看 KV 缓存会不会把它顶出去
- 验证标准能连续对话到你需要的长度不报显存错,且首字时间在可接受范围内,才算过关
高端消费卡:单卡能到什么水平,什么时候还不够
高端消费卡单卡跑中低位量化通常能起来,交互速度也到可用的程度。但「单人流畅」和「多人可用」是两回事:并发请求会同时吃 KV 缓存和计算资源,显存够不代表吞吐够。
- 单人、中低位量化、中等上下文,一般能跑到可交互的水平
- 上下文拉长或并发上来,显存和延迟会同时恶化
- 要服务整个团队、要跑满精度、要长期稳定在线,单张消费卡就不够了
- 判断动作:把你的目标并发数带进站内部署测算页,看预留余量还剩多少
- 别只看别人晒的速度,他们跑的任务长度和并发跟你不一样
到站内的加速卡规格库和部署测算页,按具体型号对一遍显存和带宽参数,再把你自己的上下文长度、并发数填进去,看到的才是对你有意义的区间。不同批次、不同驱动下的表现会有出入,以你机器上的实测为准。
一张卡装不下:张量分片与多卡拼显存的可行做法
多卡分片能把显存拼起来,代价是卡间通信会拖速度。两张入门卡拼出来的显存看似够,实际速度常常不如一张大卡,因为每层计算都要跨卡同步数据。
- 先降量化这是成本最低的一步,先看降到能装下后质量和速度能不能接受
- 再降上下文限制对话长度和并发,把 KV 缓存压下来,很多时候问题就解决了
- 然后才考虑加卡确认推理框架支持哪种分片方式,模型权重能不能被切分
- 最后算经济账买卡还是租卡,到站内算力总览和买卡对比页核当时的数字
排查顺序很重要:先降量化、再降上下文、最后加卡,这个顺序能从便宜到贵把问题筛一遍。反过来先加卡,很容易花了大钱还是慢,因为瓶颈可能在通信而不在显存。
别只看别人的帧率:自己跑一套可复现的验收
别人晒的速度对你参考有限,因为任务长度、并发、量化档位、框架版本都不一样。真正有用的是你自己准备一套固定任务,每次改配置都跑同一套,才能看出变化。
- 短问答:测首字时间和基础响应,反映交互体感
- 长文档摘要:测长上下文下的显存峰值和稳定性
- 代码或推理题:测低量化档位下质量掉没掉
- 每类任务记录四项:首字时间、每字速度、显存占用峰值、能稳定跑多长上下文
同一配置至少多跑几次取稳定值,单次结果很容易被缓存、后台进程、首次加载开销干扰。拿到数字后,到站内的真实用量榜和部署测算页跟参考区间对一下,看看你的结果是不是落在合理范围。如果明显偏慢,先查是不是走了 CPU 卸载。
| 验收项 | 怎么记 | 异常时先查什么 |
|---|---|---|
| 首字时间 | 连续几次取稳定值 | 是否走了 CPU 卸载 |
| 每字速度 | 固定输出长度下测 | 量化档位与并发 |
| 显存峰值 | 长上下文跑满时看 | KV 缓存与上下文设置 |
| 稳定上下文 | 逐步拉长直到报错 | 权重占用与预留余量 |
跑不动怎么办:四条退路与各自的适用范围
本地跑不动不代表没路走。四条退路各有适用面,别一条道走到黑。判断标准是你的核心约束到底是数据敏感、成本还是能力。
- 退到更小参数档位:先满足能用,适合对能力要求不极端、又必须本地的场景
- 租卡按小时计费:适合阶段性验证或临时高峰,长期在线通常不划算
- 切回云端 API:省掉运维但要接受数据出内网,适合非敏感任务
- 混合分流:敏感数据本地跑,重任务走 API,按任务类型分开处理
选哪条,取决于你把哪个约束排第一。数据不能出内网,就只能在本地想办法;预算优先,就先算租卡和 API 的账;能力优先且不敏感,直接用云端最省事。这四种做法可以组合,不必只选一种。
下一步:用你自己的参数算一遍别停留在看别人的配置。到站内算力总览和部署测算页,带上你的量化档位、上下文长度、并发数跑一遍,再对照真实用量榜,就能判断这条路值不值得走。→常见问题
我就一张 12G 显存的卡,到底能不能跑起来 DeepSeek 32B?
低位量化加上较小的上下文有可能加载成功,但速度和可用性都要打折扣,长文档和并发基本没戏。判断方法不是问别人,而是按你的量化档位、上下文长度和并发数算一遍显存,站内部署测算页有现成的参数入口。
显存占用和上下文长度是什么关系?
KV 缓存会随上下文长度线性增长,聊得越长占得越多,多人同时用还要乘以并发数。所以同一张卡,跑短问答没问题不代表能跑长文档,选配置时要把你真正会用到的上下文长度带上。
多买一张便宜卡拼起来,是不是比一张大卡划算?
不一定。多卡分片要跨卡通信,速度损耗明显,两张入门卡的实际体验经常不如一张大显存卡。只有在单卡根本装不下、且框架支持对应分片方式时才值得考虑,具体差价去站内算力比价页看当时的数字。
我怎么知道自己的本地部署是不是真的够用?
别只看能不能启动,跑一套自己的三类任务:短问答、长文档摘要、推理或代码题,记录首字时间、每字速度和显存峰值。达不到你日常使用节奏就是不够用,和网上别人的配置无关。
本地跑和调 API 到底怎么选?
看两点:数据能不能出内网,以及调用频率够不够高。数据敏感或长期高频才考虑本地;只是试用、追新能力、或团队没人维护硬件,走 API 更省事。这个选择站内四条路对照那篇讲得更细。