本地跑大模型,如何快速跑通

前言:

  想要搞清楚自己电脑,能够跑哪些模型,一般需要折腾上好一阵子。

  就算费劲找到一个能塞进显存的模型,真正让它跑起来会发现速度只有 3 tok/s,说一句话就要等上半分钟。

  又要重新找,重新下载,选择成本极高。

  这时候,一个叫 whichllm 的工具就显得很有意思了。这个 CLI 工具在 GitHub 上的星数,已悄悄涨到了 2000 多颗。

  它会根据你电脑的配置,推荐出哪些模型在你的电脑上跑的又快又好。

  说白了不只是告诉你哪些模型能跑起来,还有哪些模型在你的电脑上体验更好、性价比更高。

  再结合Ollama一个本地大模型运行工具,让你可以在自己的电脑上轻松运行Llama、Qwen、Mistral等各种开源大模型。

 

一、whichllm 效果以及安装

直接在命令行里敲入 whichllm。它就会自动检测你的硬件配置,以后输出一个推荐列表。

表格里会显示出排名、模型名称、参数量、量化方式、评分还有速度,这些信息一目了然。

image

 

你还可以借助 --status 查看更多细节,举例内存占用情况,还有 fit 类型,也就是 Full GPU、Partial Offload 或者 CPU-only。

假如你想指定使用场景,可以选用 --profile coding 或者 --profile vision,它会相应地调整评分权重,优先推荐适宜编程或者视觉任务的模型。

假如你想了解某个模型怎么运行,可以借助 whichllm snippet,它会输出一段 Ollama 或 llama.cpp 的命令片段,直接复制粘贴过去就可以跑了。

image

 

 要是想把数据导出,加上 --json 参数就能拿到完整的元数据,这样方便你写脚本来做后续处理。

再说说原理

看完这些效果。你或许会好奇它到底是怎么达成的。

01 硬件自动检测。

对于 NVIDIA 显卡,它借助 pynvml 来检测,AMD 显卡在 Linux 上,则借助 rocm-smi 来推进检测工作。

Apple Silicon 在 macOS 上,凭借 system_profiler 来实施检测,甚至连运行 Asahi Linux 的 Apple Silicon 都能识别出来。

image

 

有人要说了,我的电脑没有显卡,能不能测。

同样的它可以检测 CPU 核心数量和内存大小。

能为你推荐只使用 CPU 的方案。

02 GPU 模拟功能。

这个功能很有意思,不需要真的把显卡买回来才知道能跑什么。

很多人想在本地跑大模型,上网一查都是让买 4090,5060 显卡,也不知道能跑哪些模型。

这个时候有了whichllm。就可以用 whichllm --gpu "RTX 4090" 来模拟 4090 显卡的运行环境。

image

 

这样就能看到这张卡能跑什么样的模型,以及速度大概是多少。

03 多维度评分系统。

在评分这上,它做了证据分层。

像 direct 这种实测匹配的数据,权重最高。

而 self-reported 这类模型作者自行上报的信息,权重会低很多。

image

 

这样做的好处就是,推荐结果会更偏向真实 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”,缘由是这类场景的估算难度比较大。

image

 

而在 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原理介绍
  1. Ollama 自带一套编译好的 C/C++ 推理程序(代码本体);
  2. 启动 ollama run gemma4:12b 时:
    • 程序读取打包在镜像里的 GGUF 权重数据;
    • 按照 Transformer 标准架构代码,循环执行矩阵运算;
    • 结合分词器、对话模板,把输入文字转编码→计算→转回文字输出。

 如果需要下载对应的量化版本:

去hhttps://ollama.com上 搜索对应的模型,选择你能运行的量化版本去拉取

image

 

image

 

低显卡内存可以运行的原理

  我这边是6G显存,权重文件7.4G 被分为两部分,大头4G多进显存 剩余3G多溢出部分进「共享 GPU 内存」image

 

分层加载机制(显存不够就挪内存)

  1. 优先放独显 VRAM:模型核心权重尽量塞进 6G 物理显存;
  2. 溢出部分调用「共享 GPU 内存」:也就是借用电脑系统内存当显存用(图里共享显存总上限 15.9G)。
    当显存装不下剩余参数,系统会自动把权重丢进内存条里交换读取,代价是生成速度变慢、偶尔硬盘读写卡顿。

上下文窗口不会一次性预占全部显存

  • 对话越短,上下文缓存占用越小;
  • 只有聊天内容不断变多,才会逐步新增显存占用;
    当前仅简单问答,上下文开销极低,所以 6G 显存压力很小。

GGUF 分块按需加载

Ollama 不会一次性把整个模型文件全部读进内存:
  1. gemma4:12b 对应的 .gguf 是一个磁盘上的大文件;
  2. 推理时按层分块读取:先读前几层进显存运算,再释放旧块、从硬盘读取下一层;
  3. 哪怕前面部分已经加载过,会话重启、显存自动回收后,下一轮对话依旧要重新从磁盘拉取对应分块。
即便全程不重启对话,Ollama 也会做内存节流:空闲一段时间后自动把少用的层写回磁盘,需要时再次读取,避免长期霸占大量内存。

 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

查看模型信息示例:

image

 

逐条拆解这份 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  

image

 具体设置:

  key要随便填一个

image

 

image

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

 

image

 

   2、使用ollama launch claude

  

image

 

image

 

总结:

  装 Ollama → 装 Python→pip 装 whichllm → whichllm 查硬件选模型 →  Ollama run 模型
  
适合场景:
  • 个人开发、本地调试、本地知识库、个人 AI 助手;
  • 研发人员本机开发测试,快速验证模型效果;
  • 企业内网极小规模试用,验证业务流程,不正式上线承接流量。

 注意:

  原生裸模型只依靠内部权重知识:聊天、写作、翻译、逻辑推理、简单数学、文本总结。

  • 裸大模型 = 只会背书的学生
  • 工具层 (MCP) = 给他字典、电脑、上网权限
  • Agent 编排 (Skill / 提示词 + 流程) = 教他遇到不会的题先查资料、分步解题、整理答案 
  • 三者齐全,才是具备自主行动能力的智能体,否则只是一个对话文本生成器。

  

posted @ 2026-07-14 17:40  当下是吾  阅读(6)  评论(0)    收藏  举报