本文旨在为希望在个人电脑上本地部署大语言模型的开发者、技术爱好者和初学者提供一份详实的实践指南。无论你是想体验最新AI技术、进行本地化AI应用开发,还是希望在不依赖网络的情况下使用大模型,本文都将为你提供清晰的路径。
准备工作
电脑性能评估
https://www.canirun.ai
通过该网站,可以看到当下主流的大模型需要的环境条件,以及自己电脑配置下,可以运行哪些大模型
相关概念解释
- 模型名称及厂商:不同厂商会发布自己训练蒸馏的大模型,比如OpenAI的GPT,阿里的Qwen,深度求索的Deepseek等
- 模型版本:模型名字后面一般都会带有版本号,如Qwen2.5、Qwen3.5、Qwen3.6等,一般的同一个模型新版的能力会比旧版有所提升,具体的可以查看模型厂商的官网
- 模型规模:一般的模型名字后面携带的671B、70B、14B等指的就是模型训练的参数量,模型训练用到参数越多,模型的推理能力会越强,所以同一个模型,参数量越大,模型能力越强,推理准确度更高,但同样对电脑性能的要求也越高
- 量化:把模型参数从原来的高精度(如 FP16,每个数占16位)转成低精度(如 4-bit,每个数占4位),从而大幅减少显存和硬盘占用。通俗点说就是:一种给AI模型“瘦身”的压缩技术。它把模型里一些不那么重要的高精度小数“四舍五入”,换成低精度的小数,从而大幅减小文件体积,让模型在普通电脑上也能跑起来,同时尽量不影响智商
- K-quants:llama.cpp 项目开发的一种量化方法
- GGUF:一种专为大语言模型(LLM) 设计的二进制文件格式。它的全称是 GPT-Generated Unified Format,由 llama.cpp 项目创造。是当前本地运行量化大模型最主流的“打包格式”,它让几十 GB 的大模型可以压缩到十几 GB 并在普通电脑上流畅运行
K-quants 家族量化基准
| 量化等级 | 平均位数 | 说明 |
|---|---|---|
| F16 / F32 | 16 / 32 bits | 原始精度,但体积最大,基本只用于模型训练或精度要求极高的场景 |
| Q8_0 | 8 bits | 精度极高,几乎无损,体积依旧不小 |
| Q6_K | ~6 bits | 精度依然很高,质量和体积之间取得了很好的平衡 |
| Q5_K_M | ~5 bits | 质量很高,并且体积得到了很好的压缩,性价比极高 |
| Q5_K_S | ~5 bits | 比M版更激进一些,牺牲少量质量换来更小的体积 |
| Q4_K_M | ~4 bits | 最推荐的黄金平衡点,在体积、速度和质量上都表现优秀,通用性最强 |
| Q4_K_S | ~4 bits | 比M版更激进一些,牺牲少量质量换来更小的体积 |
| Q3及以下 | <3 bits | 精度损失较多,质量不友好,不推荐 |
新一代量化技术IQ-quants家族
压缩时,它会先生成“重要性矩阵”。在压缩过程中,智能地给“知识核心区”分配更高的存储精度,而“边缘区域”则采用更激进的压缩策略,从而进一步压缩模型体积。
| 量化等级 | 对比K-quants | 说明 |
|---|---|---|
| IQ4_XS | Q4_K_M | 体积小于Q4_K_M,甚至小于Q4_K_S,质量略微低于Q4_K_M |
| IQ4_NL | Q4_K_S | 体积接近Q4_K_S,但是质量欠佳,新手不友好,不推荐 |
总结:家用电脑自己部署,最推荐的选择是Q4_K_M,显存有富裕可以考虑Q5_K_M甚至更高,如果只是想在极限状态下把更高参数级的模型运行起来,可以考虑IQ4_XS或者更激进的压缩等级,但是会牺牲模型的性能并且对电脑不友好。
部署方案
现在比较主流本地化部署的方案有2种
- 基于Ollama平台:该方式有图形化界面,对于新手友好,但是会略微占用一部分电脑性能。这个方式会后续单独出文章介绍。
- 基于llama.cpp:C/C++语言编写,性能更好,但是只有命令行操作,个人比较推荐这种方式,本文主要介绍该方式的部署方案
给新手的话:
大家不要一看到 “命令行”、“无图形操作页面” 等字眼就害怕,其实整个过程核心命令只有1条,剩下的都是跟调优与配置相关的,可以后续感兴趣的话慢慢学习,并且我会详细解释每个命令的含义以及如何使用,所以不用担心。并且既然已经决定尝试学习计算机相关的内容了,命令行操作是一个永远绕不开的技能,躲是躲不掉的,所以不如就从简单的开始练习。
同时我个人推荐llama.cpp这种方式,是因为家用电脑本身性能有限,我们不能再在其他地方浪费电脑性能,必须把算力花在刀尖上。(查过部分资料,不知道准确与否,可以做个参考,llama.cpp要比用Ollama平台,性能提升15%左右)
安装llama.cpp
llama.cpp是一个大模型运行框架。如果把大模型比作是一段视频,llama.cpp就是播放器,用来播放视频的程序。
新版的llama已经是编译后的压缩包,直接解压即用,方便了很多,网上很多教程提到的编译等操作的其实都是旧版或者是专业开发者,有能力调优cpp源代码的,我们其实直接用现有压缩包的就行。
下载地址:https://llama-cpp.com/download
根据自己系统选择安装包
点击后会进入gitHub仓库,里面有不同版本、不同操作系统的安装文件,以Windows操作系统为例
注意雷区:一般家用电脑部署大模型,都是希望吃到显卡的算力,而不是纯CPU运算,所以在下载时,需要注意选择的llama.cpp是需要带有显卡优化的,N卡优先选择(CUDA),A卡选择(HIP)或者(Vulkan)
可以在自己电脑先查看自己的处理器类型,现在一般多数都是x64架构的
选择好自己需要的文件之后点击下载,等待下载完成即可
由于gitHub是国外服务器,网站加载速度较慢并且经常会出现登不上去的情况,不用太着急,多试几次就好了,同时下载速度也很慢,需要在时间充裕的时候后台下载最好
这里推荐几个方式加快下载速度
1.查找国内镜像或者网盘等资源,但是一般会比较难找,而且不一定有需要的版本
2.使用代理:https://gh-proxy.com/访问该网站,将下载链接复制进去,可以转换成对应的代理链接,下载速度会有所提升
3.使用迅雷,安装迅雷下载,将下载链接放入迅雷或者安装迅雷浏览器插件,打开网站点击下载时会自动弹出迅雷下载的操作窗口
获取大模型文件
对于llama.cpp方式,我们需要GGUF架构的大模型文件,也就是.gguf尾缀的文件
前文如果将llama.cpp比作视频播放器,那么GGUF文件就是播放器可以播放的视频格式比如.mp4
下载地址
- Hugging Face:https://huggingface.co 全球最大的模型库,几乎所有主流模型的GGUF版都能在这里找到,但是国内访问速度极慢
- 国内镜像:https://hf-mirror.com/
- ModelScope:https://www.modelscope.cn/home 推荐,国内用户的优选,由阿里云发起,国内下载体验非常出色
以ModelScope为例
在【模型库】中选择GGUF文件,找到自己需要的模型后进入
选择的建议
这里会出现同一个模型的多个文件,因为是不同公司或者团队对同一个模型进行处理后得到的GGUF文件,就像是同样的4090显卡,有华硕的有七彩虹的等等。下载时候优先选择官方厂商的或者是选择下载量高的
选择自己需要下载的版本进行下载,这里不同量化版本的区别上文已经解释过,这里就不过多赘述
部署和运行
llama.cpp下载后是一个压缩包,将其解压,存放位置根据自己情况而定,路径最好是全英文
解压的时候注意一下有的解压软件不会创建新文件夹进行解压,解压后文件全部散落到当前文件夹下了,非常乱,所以需注意一下,解压时设置好解压路径和目标文件。
在解压后的文件夹中,新建一个models文件夹,用来存放大模型文件
将下载的GGUF文件放入models文件夹
在llama.cpp文件目录下,在路径地址栏执行cmd命令
在命令行窗口中输入llama-server -m models/“大模型gguf文件名” -ngl 99命令即可运行大模型了
例如:
llama-server-mmodels/Qwen3.5-9B-Q8_0.gguf-ngl99命令解释:llama-server -mllama的核心指令,用来启动和运行大模型(其实我们在llama的文件夹中就可以看到有一个叫 llama-server 的应用程序,就是这个程序来帮助我们的运行)/models/Qwen3.5-9B-Q8_0.gguf大模型文件的位置,用来指定要运行哪个文件-ngl 99GPU卸载层数,通俗来说就是要把多少内容由GPU也就是显卡来处理,数字越大交由显卡负责的内容越多,主要用来权衡CPU和GPU的工作性能,如果在选择llama.cpp文件时选择的纯CPU方案,则不需要该参数,去掉即可
运行成功的话,会显示一个本地地址,我们可以通过浏览器访问这个本地地址(一般访问http://localhost:8080 即可),能进入到一个简易的对话UI界面
到这里就已经部署完毕了,我们可以通过这个页面进行对话和相关的操作
在命令窗口按住键盘Ctrl+C就可以停止大模型运行
常见问题及解决方案
如何选择模型和量化等级
这个其实不用过分纠结,通过最前面给出的网站,确定一个大致方向,然后可以多下载几个模型文件,然后都运行一下自己比较即可
如何切换模型或者新增模型
这个很简单,只需要将新下载的模型文件,放入models文件夹中,然后将启动命令里面的文件名称改为新的文件名字即可
雷区:下载的是特殊GGUF文件,例如MTP等,正常命令无法运行
该GGUF文件一般是对大模型进行了优化后的文件,MTP 可在不损失精度的情况下实现约 1.5-2 倍的推理加速。除了MTP也可能有其他的特殊字样,这个在你下载GGUF文件时,一般会有介绍,需要先了解清楚具体含义和用法再去下载。一般在模型介绍中也会列出这种带有特殊字样的文件需要哪些额外操作。
以MTP为例,需要在正常启动命令后面增加--spec-type draft-mtp就可以正常运行了
llama-server-m/models/Qwen3.5-9B-Q8_0.gguf-ngl99--spec-type draft-mtp雷区:大模型处理时没有用到显卡加速
这个一般可以通过响应速度和任务管理器查看,如果大模型处理问题时GPU毫无波动,并且处理速度极慢<10 t/s ,也可以通过命令llama-server --list-devices查看可用的装置,如果列表中没有你显卡相应的信息,大概率就是没有用到显卡。
排查方向:
- 检查显卡驱动,保证驱动正常可用
- 检查自己下载的llama.cpp文件是否是兼容显卡加速的,如果只是纯CPU的版本,则无法启用显卡的算力,具体可参考上文
- 检查自己显卡的厂商和下载文件是否匹配,例如N卡尽量选择CUDA文件,A卡选择HIP和Vulkan
- A卡兼容性和便捷性确实不如N卡,因为CUDA是N卡官方自己的架构优化策略,而A卡没有自己的优化框架,HIP和Vulkan并不是单纯为AMD显卡服务的,他们都只是提供了一个虚拟架构让更多的主流设备能够有一个优化框架,所以不是所有的AMD显卡型号都能兼容。对于AMD显卡用户,HIP和Vulkan两个方式都要尝试,不一定哪个能好用,优先级的话,先尝试HIP再尝试Vulkan
AMD显卡兼容性问题
可以参考上一条问题,HIP和Vulkan两个方式都要尝试
使用HIP方式的时候,如果不成功,可以尝试检查一下llama.cpp是不是缺少显卡驱动文件,HIP方式的llama.cpp目录下有一个rocblas/library文件夹,里面一般会包含大部分主流显卡的驱动文件,检查一下里面是否有自己显卡的架构型号对应文件(例如:TensileLibrary_lazy_gfx1030),显卡的架构型号(gfx1030)可以直接上网搜自己显卡对应的型号,如果缺少的话,可以去AMD官网先现在驱动文件,然后将文件复制到rocblas/library文件夹进行尝试