本地跑大模型,如何快速跑通
前言:
想要搞清楚自己电脑,能够跑哪些模型,一般需要折腾上好一阵子。
就算费劲找到一个能塞进显存的模型,真正让它跑起来会发现速度只有 3 tok/s,说一句话就要等上半分钟。
又要重新找,重新下载,选择成本极高。
这时候,一个叫 whichllm 的工具就显得很有意思了。这个 CLI 工具在 GitHub 上的星数,已悄悄涨到了 2000 多颗。
它会根据你电脑的配置,推荐出哪些模型在你的电脑上跑的又快又好。
说白了不只是告诉你哪些模型能跑起来,还有哪些模型在你的电脑上体验更好、性价比更高。
再结合Ollama一个本地大模型运行工具,让你可以在自己的电脑上轻松运行Llama、Qwen、Mistral等各种开源大模型。
一、whichllm 效果以及安装
直接在命令行里敲入 whichllm。它就会自动检测你的硬件配置,以后输出一个推荐列表。
表格里会显示出排名、模型名称、参数量、量化方式、评分还有速度,这些信息一目了然。

你还可以借助 --status 查看更多细节,举例内存占用情况,还有 fit 类型,也就是 Full GPU、Partial Offload 或者 CPU-only。
假如你想指定使用场景,可以选用 --profile coding 或者 --profile vision,它会相应地调整评分权重,优先推荐适宜编程或者视觉任务的模型。
假如你想了解某个模型怎么运行,可以借助 whichllm snippet,它会输出一段 Ollama 或 llama.cpp 的命令片段,直接复制粘贴过去就可以跑了。

要是想把数据导出,加上 --json 参数就能拿到完整的元数据,这样方便你写脚本来做后续处理。
再说说原理
看完这些效果。你或许会好奇它到底是怎么达成的。
01 硬件自动检测。
对于 NVIDIA 显卡,它借助 pynvml 来检测,AMD 显卡在 Linux 上,则借助 rocm-smi 来推进检测工作。
Apple Silicon 在 macOS 上,凭借 system_profiler 来实施检测,甚至连运行 Asahi Linux 的 Apple Silicon 都能识别出来。

有人要说了,我的电脑没有显卡,能不能测。
同样的它可以检测 CPU 核心数量和内存大小。
能为你推荐只使用 CPU 的方案。
02 GPU 模拟功能。
这个功能很有意思,不需要真的把显卡买回来才知道能跑什么。
很多人想在本地跑大模型,上网一查都是让买 4090,5060 显卡,也不知道能跑哪些模型。
这个时候有了whichllm。就可以用 whichllm --gpu "RTX 4090" 来模拟 4090 显卡的运行环境。

这样就能看到这张卡能跑什么样的模型,以及速度大概是多少。
03 多维度评分系统。
在评分这上,它做了证据分层。
像 direct 这种实测匹配的数据,权重最高。
而 self-reported 这类模型作者自行上报的信息,权重会低很多。

这样做的好处就是,推荐结果会更偏向真实 benchmark,避免被模型宣传描述所误导。
它还会考量 benchmark 分数、量化质量、速度估算以及硬件适配程度。
比方说,你的 RTX 4090 有 24GB 显存,理论上可以运行 32B 的模型。
whichllm 可能会建议你去跑 27B 的 Q5_K_M,理由是它的 benchmark 分数更高,跑的又快又好。
04 量化惩罚机制。
量化等差越低,模型也就被压缩得越厉害,显存是省了,但回答质量也会打折扣。
像 Q2_K 的质量损失会比较明显,而 Q5_K_M 基本上,已经接近原模型的效果了。
除了核心推荐功能,还有一些好的细节
速度估算带置信度。
whichllm 会估算每个模型在你硬件上的运行速度,它给出的并非单一数值,而是一个带有置信度标记的区间。
一个 MoE 模型在 Apple Silicon 上运行时,速度估算可能是 4-15 tok/s,置信度标记为“low”,缘由是这类场景的估算难度比较大。

而在 NVIDIA 显卡上,估算往往更准,置信度标记为“medium”。
这比起那些仅仅给出一个“大概 20 tok/s”的工具。要准确得多。
实时数据更新。
它从 HuggingFace API 实时抓取数据,所以不怕找不到最新的模型。
不像 LLMFit 那样。它使用的是一套静态数据库,仅仅预先整理好了 206 个模型,新模型一定要等待更新之后才能加入进去。
看完这些功能,相信各位已经迫不及待了
安装只需要一行命令:pip install whichllm。
运行也非常简单:直接敲入 whichllm,它就会自动检测你的硬件,接着输出推荐列表。
到这里缺点也给大家提提
说到底,whichllm 所给出的速度数据仅仅是估算值,并不是实际测量的结果。它借助 GPU 带宽和参数量来进行推算。
它所提供的数据很可能存在一定的误差。
在 Windows 平台上。AMD GPU 的检测没有 Linux 那么精准,还得靠 WMI 和 registry fallback 来补全。
碰上 Apple Silicon 芯片,或者只有 CPU 的运行环境,它就会只推荐 GGUF 格式,为了兼容性以及稳定性。
如果系统是Linux ,恰好有 NVIDIA 显卡,它也会推荐 AWQ 或 GPTQ这两种。
p.s
以前有朋友问我,想在本地跑大模型,但是不知道该选哪个。其实这里面有两个问题,一个是显卡的问题,一个是跑哪个模型的问题。
我就上网查了查,翻了好些网页,最后也问了 AI 。说实话,每一个回答都有差异。
我就手动整合了一个版本,发过去了。信息的获取上,确实花了点时间。有了 whichllm,几分钟把这个事情就搞定了。
二、安装Ollama 用来运行大模型
项目简介
Ollama 是一个本地大模型运行工具,让你可以在自己的电脑上轻松运行Llama、Qwen、Mistral等各种开源大模型。
它的设计理念是"像Docker一样简单"——一行命令拉取模型,一行命令运行。
GitHub地址:https://github.com/ollama/ollama
Star数:175K+
⭐ 核心功能
1. 一键运行
一行命令就能运行大模型,不需要复杂的环境配置。
2. 模型管理
像Docker管理镜像一样管理模型:拉取、列表、删除。
3. 多模型支持
支持Llama、Qwen、Mistral、Phi、Gemma等主流开源模型。
4. API接口
提供兼容OpenAI的API接口,可以无缝对接各种应用。
5. 自定义模型
支持通过Modelfile自定义模型参数和系统提示词。
📦 安装教程
macOS/Linux:
curl-fsSL https://ollama.com/install.sh | sh
Windows:
从 https://ollama.com 下载安装包,双击安装即可。
Docker:
docker run -d--gpus=all -v ollama:/root/.ollama -p11434:11434 ollama/ollama
🚀 使用方法
运行模型:
# 运行gemma4:12b
ollama run gemma4:12b
#ollama run原理介绍
- Ollama 自带一套编译好的 C/C++ 推理程序(代码本体);
- 启动
ollama run gemma4:12b时:- 程序读取打包在镜像里的 GGUF 权重数据;
- 按照 Transformer 标准架构代码,循环执行矩阵运算;
- 结合分词器、对话模板,把输入文字转编码→计算→转回文字输出。
如果需要下载对应的量化版本:
去hhttps://ollama.com上 搜索对应的模型,选择你能运行的量化版本去拉取


低显卡内存可以运行的原理:
我这边是6G显存,权重文件7.4G 被分为两部分,大头4G多进显存 剩余3G多溢出部分进「共享 GPU 内存」
分层加载机制(显存不够就挪内存)
- 优先放独显 VRAM:模型核心权重尽量塞进 6G 物理显存;
- 溢出部分调用「共享 GPU 内存」:也就是借用电脑系统内存当显存用(图里共享显存总上限 15.9G)。
当显存装不下剩余参数,系统会自动把权重丢进内存条里交换读取,代价是生成速度变慢、偶尔硬盘读写卡顿。
上下文窗口不会一次性预占全部显存
- 对话越短,上下文缓存占用越小;
- 只有聊天内容不断变多,才会逐步新增显存占用;
当前仅简单问答,上下文开销极低,所以 6G 显存压力很小。
GGUF 分块按需加载
gemma4:12b对应的.gguf是一个磁盘上的大文件;- 推理时按层分块读取:先读前几层进显存运算,再释放旧块、从硬盘读取下一层;
- 哪怕前面部分已经加载过,会话重启、显存自动回收后,下一轮对话依旧要重新从磁盘拉取对应分块。
p.s
gemma4:12b等价于该模型官方推荐默认量化:gemma4:12b-q4_K_M
体积~7.5GB,属于均衡精度 + 体积的官方默认版,自动拉取 Q4_K_M 量化 GGUF,不会下原版几十 GB 未量化权重。
模型管理:
# 查看已下载的模型
ollama list
# 拉取模型
ollama pull gemma4:12b
# 删除模型
ollama rm gemma4:12b
# 查看模型信息
ollama show gemma4:12b
查看模型信息示例:

逐条拆解这份 ollama show 信息
一、核心模型基础信息
模型架构为 Google 最新一代 Gemma4 大模型
architecture: gemma4
参数量约 120 亿参数,就是 gemma4:12b 名称的由来。
parameters: 11.9B
原生最大上下文窗口 262144 Token(256K),可以一次性读取几十万字长文档、整本 PDF 做总结问答。
context length: 262144
箭头标注项:当前就是 Q4_K_M 量化版本,体积 7G 左右。
quantization: Q4_K_M
要求 Ollama 版本最低不能低于 0.30.5
requires: 0.30.5
二、Capabilities 模型能力
completion:文本续写、对话问答(基础文字功能)
vision:✅ 支持多模态识图,可以直接上传图片提问看图说话
audio:暂不支持音频输入
tools:支持工具调用、函数调用,可以对接联网搜索、插件、RAG 知识库
thinking:内置深度推理能力,适合逻辑、计算、方案撰写
三、Projector 投影头(多模态模块)
clip 是图像编码器,就是专门用来解析图片的权重文件,
参数 52.38M 体积很小,不会额外占用大量硬盘,所以这个镜像文本 + 看图一体打包,不用额外下载 mmproj 文件。
四、生成采样参数(默认超参)
top_k 64:候选词汇池数量
top_p 0.95:核采样,控制文本多样性
temperature 1:创意程度,数值越高回答越发散、脑洞越大;
想要回答严谨、固定答案,可以在启动时手动调低,例如 temperature 0.1。
五、License
Apache 2.0 开源协议,个人商用都合规无限制。
API调用:
# 兼容OpenAI的API格式 curl http://localhost:11434/v1/chat/completions \ -H "Content-Type: application/json" \ -d '{ "model": "llama3.1", "messages": [{"role": "user", "content": "你好"}] }'
Python调用:
import requests response = requests.post( "http://localhost:11434/api/chat", json={ "model": "llama3.1", "messages": [{"role": "user", "content": "你好"}], "stream": False }) print(response.json()["message"]["content"])
claude接入:
1、使用cc-switch

具体设置:
key要随便填一个


注意:Claude 官方原生 Anthropic 专属协议,Ollama 只兼容OpenAI 标准接口格式, 所以我们api格式要选OpenAI Compatible(OpenAI 兼容格式);然后记得开启路由即可

2、使用ollama launch claude


总结:
- 个人开发、本地调试、本地知识库、个人 AI 助手;
- 研发人员本机开发测试,快速验证模型效果;
- 企业内网极小规模试用,验证业务流程,不正式上线承接流量。
注意:
原生裸模型只依靠内部权重知识:聊天、写作、翻译、逻辑推理、简单数学、文本总结。
- 裸大模型 = 只会背书的学生
- 工具层 (MCP) = 给他字典、电脑、上网权限
- Agent 编排 (Skill / 提示词 + 流程) = 教他遇到不会的题先查资料、分步解题、整理答案
- 三者齐全,才是具备自主行动能力的智能体,否则只是一个对话文本生成器。

浙公网安备 33010602011771号