本地部署大模型是指把模型权重下载到自己的机器上运行,数据不出本机。能不能跑起来,取决于显存、内存与驱动版本三样东西,而不是 CPU 有多强。本文按硬件门槛、量化取舍、并发内存三块讲清判断方法,并给出官方文档里写明的版本要求。
本地部署大模型第一步:先算显存够不够
多数失败案例不是模型不会用,是机器装不下。判断顺序得反过来:先看显存,再看内存,最后看驱动版本。驱动版本不够时,显存再足也会静默回退到 CPU 运行,慢到没法用。
显存需求由两个量决定:模型参数量和量化精度。同一份权重,4 位量化加载占用的显存约为 16 位版本的四分之一。llama.cpp 官方量化文档给了 Llama 3.1 的实测数据,可以直接拿来当尺子。
还有一个常被忽略的变量:上下文长度。权重只占住一部分显存,剩下的要留给 K/V 缓存,而缓存大小随上下文线性增长。官方给出的三个上下文档位是按显存自动分配的,同一个模型在不同显存的机器上默认值完全不同。
4档显存配置与对应模型规模
下表把常见显存档位与能承载的模型放在一起。官方文档并没有"多少显存跑多少参数"的换算表,这里的对应关系是按 llama.cpp 公布的量化体积数据推出来的,不是官方原话。
| | | |
|---|
| | | Llama 3.1 8B 量化后 4.58 GiB |
| | | |
| | | |
| | | Llama 3.1 70B 原始体积 280.9 GB |
普通笔记本基本只涉及前两档。官方文档里还有一条容易漏掉的说明:模型加载后可以一直驻留内存,默认保留5 分钟再被卸载,换模型频繁时就会反复重载,卡在这里。
3类量化格式的内存换算
量化是用精度换体积。不同档位之间的体积差异比多数人想的大。下面的数据全部取自 llama.cpp 官方量化文档对 Llama 3.1 8B 的实测值。
同一个 8B 模型,官方文档列出的档位从 1.87 GiB 一直排到 14.96 GiB,跨度接近八倍。档位名字里的数字不是随便起的,它对应每个权重平均占用的位数,也是体积差距的根源。
- Q4_K_M(4.8944 位/权重):体积 4.58 GiB。官方示意的默认 4 位档位,多数本地部署场景的推荐起点。
- Q5_K_M(5.7036 位/权重):体积 5.33 GiB。比 4 位档多占约 16% 空间,适合显存略有富余时提升质量。
- Q8_0(8.5008 位/权重):体积 7.95 GiB。接近原始精度,但生成速度从每秒 71.93 词降到 50.93 词,占用与收益不成正比。
同一份文档也给了原始 16 位格式的体积:14.96 GiB。8B 模型从 16 位压到 4 位,体积降到约三分之一,而生成速度从每秒 29.17 词升到 71.93 词。低精度在本机场景不只省空间,通常还更快。
Ollama 官方写得很清楚:导入 GGUF 模型时不会自动量化,得先用 llama.cpp 的量化工具处理。官方给的命令形式是加载量化后的文件并指定档位,比如指定 Q4_K_M。
KV缓存与并发请求的内存换算
显存够不够,不止看权重。上下文越长、并发越多,缓存占用越大。这块最容易被漏算,症状是模型能正常加载,一对话就崩。
Ollama 官方给出了并发与上下文的关系原文:模型的并行请求数会让上下文按请求倍数增长。2K 上下文配 4 路并发,实际等于 8K 上下文,内存分配相应提高。官方列出的三个相关变量是:OLLAMA_NUM_PARALLEL 默认 1,OLLAMA_MAX_LOADED_MODELS 默认为 GPU 数量的 3 倍或 CPU 推理时为 3,OLLAMA_MAX_QUEUE 默认 512。
官方还给了一套按显存自动分配的上下文档位:小于 24 GiB 默认 4k,24 至 48 GiB 默认 32k,48 GiB 以上默认 256k。同时写明,检索、智能体与编程类任务应该调到至少 64000 词元。
缓存本身也能压。官方说明 K/V 缓存量化能显著降低内存占用,前提是启用 Flash Attention:OLLAMA_KV_CACHE_TYPE 默认 f16,改成 q8_0 约用一半内存、精度损失很小,官方标为推荐项;改成 q4_0 约用四分之一内存,代价是精度损失中等偏小,上下文越长越明显。
驱动与系统版本的硬门槛
下面全是官方写明的版本号,也是"装完却用不上显卡"的头号原因。
| | |
|---|
| | |
| | |
| | |
| ROCm v7 驱动,或支持 Vulkan 的驱动 | |
| | |
| Windows 10 22H2 及以上,家庭版或专业版 | |
官方原文写的是:支持计算能力 5.0 以上的显卡与 550 及以上驱动,而计算能力在 5.0 到 6.2 之间的显卡需要 570 及以上驱动。同型号显卡在不同驱动上表现不一样,原因就在这里。
有一条官方写明的驱动缺陷值得单独记住。Linux 上经历挂起与唤醒之后,程序有时会找不到 NVIDIA 显卡,直接回退到 CPU。官方的办法是重新加载显卡驱动模块,命令是 sudo rmmod nvidia_uvm 和 sudo modprobe nvidia_uvm。
选卡也有对应变量。官方给了三个环境变量分别指定显卡:NVIDIA 用 CUDA_VISIBLE_DEVICES,AMD 用 ROCR_VISIBLE_DEVICES,Vulkan 用 GGML_VK_VISIBLE_DEVICES。多显卡机器、或者核显独显混装的机器,靠它避免系统选错卡。
两类部署路线的选择依据
个人使用和服务化部署是两条路,分岔点在于并发数,以及要不要对接口。
- 桌面客户端路线:图形界面下载、加载、对话一体,无需命令行。LM Studio 官方列出的系统要求是:苹果芯片需 macOS 14 及以上并建议 16 GB 以上内存,Windows 需支持 AVX2 指令集并建议至少 16 GB 内存、至少 4 GB 独立显存,Linux 需 Ubuntu 20.04 及以上。官方写明它可完全离线运行,也支持命令行与接口调用。
- 命令行与服务路线:适合需要接口或批量任务。Ollama 官方在 Linux 上的一键安装命令为
curl -fsSL https://ollama.com/install.sh | sh,Windows 上为 irm https://ollama.com/install.ps1 | iex,装好后接口默认在本地 11434 端口提供服务。
- 多用户高并发路线:需换成面向服务的推理引擎。vLLM 官方要求 Linux 系统、显卡计算能力 7.5 以上,并通过张量并行把模型拆到多张显卡上。官方给出的显存占用比例参数默认值为
0.92,可向下调整给其他进程留出空间。
vLLM 官方还写了两条容易漏掉的边界:它不支持原生 Windows,Windows 上得通过 WSL 跑;张量并行开启后每个进程都会读取完整模型,磁盘读取时间会随并行度一起变长。
本地部署大模型的注意事项
部署前需要确认的九件事:
- 先按显存而非 CPU 判断能不能跑,显存不足时再强的处理器也帮不上忙;
- 驱动版本要先核对,NVIDIA 需 550 及以上,计算能力 5.0 至 6.2 的卡需 570 及以上;
- Linux 挂起唤醒后若显卡消失,按官方方法重新加载显卡驱动模块即可恢复;
- 上下文与并发会叠加占用,按并发数乘以上下文长度估算,不要只算权重体积;
- 磁盘空间要预留足够余量,模型文件通常在数 GB 到数百 GB 之间,官方提示可能需要几十到几百 GB;
- 安装包本身约占 4 GB 空间,模型默认存放在用户目录下,空间紧张时先改存放路径;
- 导入 GGUF 模型前需自行完成量化,官方明确导入过程不做量化处理;
- 量化档位不是越高越好,8 位档位体积接近原始精度但生成速度明显下降;
- 对外暴露服务接口前先确认网络边界,默认只监听本机地址,改成对外监听等于把模型开放给同网段设备。
本地部署大模型常见问题
Q:本地部署大模型需要什么配置? A:按显存分档:8 GB 及以下可跑 9B 以内的 4 位量化模型,12 至 16 GB 可跑 13B 到 14B,24 至 48 GB 可跑 33B 到 70B,48 GB 以上可跑更大的模型或未量化版本。内存按官方建议,8 GB 对应 7B、16 GB 对应 13B、32 GB 对应 33B。
Q:没有独立显卡能部署吗? A:可以,走 CPU 推理,但速度差距明显。Apple 芯片的 Mac 属于核显统一内存架构,可用内存较充裕,是较常见的选择。Intel 芯片的 Mac 官方只支持 CPU 推理。
Q:装好了但显卡没被用上,怎么判断? A:先核对驱动版本是否满足官方要求。Ollama 提供了查看运行状态的命令,输出里会显示当前使用处理器还是显卡,以及实际分配的上下文长度。
Q:4 位量化会不会明显变笨? A:官方数据显示 4 位档位的精度损失通过重要性矩阵工具可以压到较小,对多数日常任务影响有限。风险更高的场景是长上下文推理与严谨的数学、代码任务,这类任务建议升到 5 位或 6 位档位。
Q:为什么模型加载完一对话就崩? A:多半是上下文与并发的叠加占用超出显存。官方给出的关系是并行请求数会让上下文按倍数增长,可先把并行数调回默认的 1,或缩短上下文长度再试。
Q:K/V 缓存量化值得开吗? A:官方标注 q8_0 约用一半内存、精度损失很小,属于推荐选项,适合显存紧张时启用。它需要先开 Flash Attention,且官方说明这是全局设置,会对所有模型生效。
Q:想给团队多人用,该怎么选路线? A:单人或少量并发用桌面客户端或命令行服务即可。多人并发场景需换成面向服务的推理引擎,用张量并行把模型拆到多张显卡,并调低显存占用比例给系统留出余量。
Q:模型文件能放到别的盘吗? A:可以,通过指定模型存放路径的环境变量修改。官方提示 Windows 下如果改过存放位置,卸载客户端时不会一并删除已下载的模型文件。
Q:本地部署和在线服务主要差在哪? A:差在数据边界与成本结构。官方对本地运行的表述是,本地运行的内容不会离开你的设备,本地模型始终免费;在线服务则按用量或订阅计费。代价是本地上限受硬件限制,机器能跑多大的模型,能力天花板就在哪。
本地部署大模型的判断顺序就三步:先量显存,再定量化档位,最后核对驱动版本。这三步走完,"装不上、跑不动、显卡没用上"里的绝大多数都能提前排掉。各家推理工具的版本要求和量化方案会有更新,本站的内容工具栏目会跟着同步整理。