我那台笔记本是十六G内存、入门独显,按网上的配置表根本跑不动。硬上七B模型直接卡成幻灯片,风扇一响我就知道该换路子了。折腾一圈下来有三条折中办法,都能在破机器上跑起来,代价是速度与精度的取舍,值得说清楚。

先说量化,这是第一帖药。模型权重用浮点数存,十六G想跑七B就得压。量化就是把精度压低,四比特能省一半显存,速度还更快。 Ollama 这种封装好的工具把这一步藏起来了,你选个量化档就自动装对应的版本。我第一次用四比特跑七B,回答质量掉了大概一成,但速度从两秒一个字变成一秒三个字,能用。要更省的还有三比特,代价更明显,我一般不碰。

第二条路是换个更小的模型。七B跑不动就上三B甚至一B,别觉得丢人。我们做摘要和改写这类窄任务,一B的开源模型效果比想象中好,因为它不需要懂整个世界,只要会照着格式改写。我在 Hugging Face 上挑了几个一B到三B的,比对着同一批输入跑,最后选了综合最稳的那个。小模型的短板是逻辑推理,算账写公式这类它真不行,但改写、分类、抽关键词完全够。

第三条是接受本地答不了就走云端,这是最务实的。我把本地当前置处理:材料切分、格式归一、抽取关键词这些在本地做完,真正要动脑的那一步送去云端模型。这样本地不用跑大模型,云端也只是偶尔用,成本极低。 ModelScope 上能下到各种尺寸的开源权重,我挑小模型先在本地筛一遍,筛不出来的再送出去。

显存不够时的第二帖药是控制上下文。别把整本材料塞进去,模型吃得多吐得也慢。我改成按段落切,一次喂两三千字,跑完拼起来。切分要按语义,别按固定字数硬切,从句子中间断开会让模型读不懂半句话,输出就乱。切错了宁可多跑几遍。

批处理能救速度。一次处理十句和十次各处理一句,差将近一半时间,因为模型每次启动的固定开销很贵。我写了个小脚本把输入攒成一堆再一起送,跑批完再拆开,中间省下的时间是实打实的。

内存不够还能把一部分权重挪到内存里用,速度会掉一点,但能跑起来就已经赢了一半。跑不动和跑得慢是两回事,我宁可慢一点也要断网可用。

温度参数是新手最容易乱调的,调错了会误以为模型坏了。我做创作类任务把温度拉高,做抽取分类就压到最低。同一批输入,温度从零点七降到零点二,输出直接从编故事变回规规矩矩照着做,很多人以为是换了模型,其实只动了一个数。

装环境这步最劝退。Python 版本、CUDA 版本、显卡驱动,对不上就白屏。我的经验是先确认显卡支持什么算力,再倒着选对应版本,别照着某篇教程无脑装,教程多半是针对它自己的机器。 Ollama 的好处是把这些全包了,你只要选模型名,它自己配。

跑之前先看显存占用曲线。很多所谓跑不动其实是显存碎片和上下文太长,不是模型太大。我把最长那次对话重置掉再跑,同样的模型速度回来了。长对话会越聊越占,这是很反直觉但确实存在的事。

云端兜底怎么挑,看你要什么。要便宜,开源权重走 硅基流动 这类按量计费的渠道,一杯咖啡钱跑很久。要省事, Google AI Studio 那类给免费额度的够个人用。别一上来就挑最贵的档,先跑通再说。

最后说个心态。本地跑模型最大的价值不是性能,是数据不出门和随时能用。如果你要处理的是不能外传的内部材料,慢一点完全值得。要是单纯追效果,云端更省事,别为了本地这两个字硬撑破机器。

你现在的机器是什么配置、想跑哪个尺寸的模型?告诉我显存和内存,我按这个直接给你一个能跑的档位组合,别让你照着大配置表白折腾一晚。