【Show HN】WhichLLM:根据基准测试排名,为你的硬件找最适合的本地 LLM
导语:本地跑 LLM 最头疼的不是装不上,而是不知道自己的显卡到底能跑哪个模型。RTX 4060 能跑 Qwen3-235B 吗?8GB VRAM 选 Q4 还是 Q8?Mac M4 Pro 和 RTX 4090 跑同一个模型差多少?这些问题以前只能一个个试,试一次就是几十分钟的下载+加载。WhichLLM 直接帮你把答案算好——自动检测硬件、查询基准测试、排名推荐模型,一条命令出结果。项目在 Hacker News 上拿到 116 点热度,社区对"本地 LLM 到底能跑啥"这个痛点的共鸣,比任何功能介绍都有说服力。
文章目录
- 【Show HN】WhichLLM:根据基准测试排名,为你的硬件找最适合的本地 LLM
- 一、痛点:本地跑 LLM,选模型比跑模型还难
- 二、WhichLLM 是什么?
- 2.1 核心能力
- 2.2 工作流程
- 三、核心原理:VRAM 是王道
- 3.1 为什么 VRAM 决定一切?
- 3.2 WhichLLM 的匹配逻辑
- 四、基准测试排名:数据说话
- 4.1 不同硬件的推理速度对比
- 4.2 质量 vs 速度的 Pareto 前沿
- 五、5 分钟上手
- 5.1 安装
- 5.2 基础用法
- 5.3 输出示例
- 5.4 与 Ollama 联动
- 六、不同硬件的推荐方案
- 6.1 硬件-模型匹配决策树
- 6.2 四档硬件推荐清单
- 🏆 顶级显卡(24GB+ VRAM)
- 🥇 中高端显卡(16GB VRAM)
- 🥈 主流显卡(8GB VRAM)
- 🥉 纯 CPU(32GB+ RAM)
- 七、进阶用法
- 7.1 自定义权重排序
- 7.2 批量对比硬件
- 7.3 Python API
- 7.4 CI/CD 集成
- 八、同类工具对比
- 九、本地 LLM 选型的五个忠告
- 忠告一:VRAM 是硬约束,算力不是
- 忠告二:Q4_K_M 是默认选择
- 忠告三:小模型 + 好量化 > 大模型 + 差量化
- 忠告四:Mac 的统一内存是双刃剑
- 忠告五:先测再买
- 十、总结
一、痛点:本地跑 LLM,选模型比跑模型还难
2026 年了,本地跑 LLM 已经不是什么新鲜事。Ollama 一行命令就能拉模型,llama.cpp 编译完就能推理。但问题来了——你知道你的显卡该跑哪个模型吗?
看看这些常见问题:
| 问题 | 典型场景 |
|---|---|
| “RTX 4060 8GB 能跑 Qwen3-235B 吗?” | 答案:不能,至少需要 Q2 量化 + CPU offload,但质量惨不忍睹 |
| “24GB VRAM 选 Q4 还是 Q8?” | Q4 能跑 235B,Q8 只能跑 70B,但 Q8 质量明显更好 |
| “Mac M4 Pro 48GB 和 RTX 4090 24GB 哪个快?” | 统一内存大但带宽低,跑大模型 M4 Pro 赢,跑小模型 4090 赢 |
| “纯 CPU 32GB RAM 能跑什么?” | 1-3B 小模型可以,7B 就很勉强了 |
以前解决这些问题靠什么?靠试。下载一个 40GB 的模型,加载 5 分钟,发现 VRAM 不够 OOM 了,删掉换一个再试。时间成本极高。
WhichLLM 的价值就是把"试"变成"算"——一条命令,秒出答案。
二、WhichLLM 是什么?
WhichLLM 是一个开源命令行工具,核心功能就一句话:根据你的硬件配置,推荐最适合的本地 LLM。
项目地址:github.com/Andyyyy64/whichllm
2.1 核心能力
| 能力 | 说明 |
|---|---|
| 硬件自动检测 | 自动识别 GPU 型号/VRAM、CPU 核数/频率、RAM 大小 |
| 基准测试排名 | 查询 HuggingFace / llama.cpp / Ollama 的公开基准数据 |
| 量化方案匹配 | 根据可用 VRAM 自动推荐 Q2/Q4/Q5/Q8/F16 |
| 推理速度预估 | 基于基准数据预估 tokens/s |
| Ollama 集成 | 直接输出ollama pull命令,一键安装 |
2.2 工作流程
三步走:
- 硬件检测:扫描 GPU/CPU/RAM,获取 VRAM 大小、算力指标
- 基准查询:从 HuggingFace 排行榜、llama.cpp benchmark 数据库中拉取模型性能数据
- 排名推荐:按硬件适配度排序,标注量化方案和预估速度
三、核心原理:VRAM 是王道
3.1 为什么 VRAM 决定一切?
本地 LLM 推理的性能瓶颈不是算力,而是显存带宽。模型权重必须全部加载到 VRAM 中才能高效推理,一旦超出 VRAM 需要 offload 到系统 RAM,速度直接掉 5-10 倍。
模型所需 VRAM 的计算公式:
VRAM required ≈ N params × B per_param × 1.2 \text{VRAM}_{\text{required}} \approx N_{\text{params}} \times B_{\text{per\_param}} \times 1.2VRAMrequired≈Nparams×Bper_param×1.2
其中N params N_{\text{params}}Nparams是参数量,B per_param B_{\text{per\_param}}Bper_param是每个参数占用的字节数(取决于量化方案),1.2 是 KV Cache 和运行时开销的系数。
| 量化方案 | 每参数字节数 | 7B 模型 VRAM | 70B 模型 VRAM | 235B 模型 VRAM |
|---|---|---|---|---|
| Q2_K | ~0.3 bytes | ~2.5 GB | ~25 GB | ~85 GB |
| Q4_K_M | ~0.5 bytes | ~4.2 GB | ~42 GB | ~141 GB |
| Q5_K_M | ~0.6 bytes | ~5.0 GB | ~50 GB | ~169 GB |
| Q8_0 | ~1.0 bytes | ~8.4 GB | ~84 GB | ~282 GB |
| F16 | ~2.0 bytes | ~16.8 GB | ~168 GB | ~564 GB |
关键洞察:量化方案每降一级,VRAM 需求几乎减半,但质量损失不是线性的。Q4 → Q8 质量提升明显,Q8 → F16 提升很小。所以Q4_K_M 是大多数人的最佳平衡点。
3.2 WhichLLM 的匹配逻辑
WhichLLM 的核心算法:
# 伪代码:WhichLLM 匹配逻辑defrecommend_models(hardware):results=[]formodelinALL_MODELS:forquantin[Q4_K_M,Q5_K_M,Q8_0,F16]:vram_needed=model.params*quant.bytes_per_param*1.2ifvram_needed<=hardware.vram*0.9:# 留10%余量speed=estimate_speed(model,quant,hardware)quality=get_benchmark_score(model,quant)results.append({'model':model,'quant':quant,'vram':vram_needed,'speed':speed,'quality':quality,'score':quality*0.6+speed_score*0.4# 加权排序})returnsorted(results,key=lambdax:x['score'],reverse=True)排序权重:质量 60% + 速度 40%。这个权重可以通过参数调整——如果你更看重速度,可以把速度权重调高。
四、基准测试排名:数据说话
4.1 不同硬件的推理速度对比
几个关键发现:
- RTX 4090 是本地推理的性价比之王:24GB VRAM + 936 GB/s 带宽,跑 Q4 量化的 70B 级模型速度可达 15-20 tok/s
- 8GB VRAM 是分水岭:低于 8GB 只能跑 7B 级模型,8GB 以上才能跑 14-32B
- Mac 统一内存的优势在大模型:M4 Pro 48GB 统一内存能跑 235B Q2(虽然慢),RTX 4090 24GB 反而跑不了
- 纯 CPU 推理只适合小模型:32GB RAM 跑 7B Q4 只有 3-5 tok/s,勉强能用
4.2 质量 vs 速度的 Pareto 前沿
右图展示了 RTX 4090 上各模型的"质量-速度"分布。Pareto 前沿上的模型是最优选择——没有其他模型能在同速度下提供更高质量,或在同质量下提供更快速度。
WhichLLM 的推荐逻辑就是帮你找到你硬件上的 Pareto 前沿。
五、5 分钟上手
5.1 安装
# 方式一:pip 安装(推荐)pipinstallwhichllm# 方式二:从源码安装gitclone https://github.com/Andyyyy64/whichllm.gitcdwhichllm pipinstall-e.5.2 基础用法
# 自动检测硬件并推荐模型whichllm# 指定 GPU 型号whichllm--gpurtx4090# 指定 VRAM 大小(GB)whichllm--vram24# 指定用途(代码/对话/推理)whichllm --use-case coding# 只看能跑的模型(排除需要 offload 的)whichllm --gpu-only# 输出 JSON 格式(方便脚本处理)whichllm--json5.3 输出示例
$ whichllm --gpu rtx4090 Hardware Detected: GPU: NVIDIA RTX 4090 (24GB VRAM) RAM: 64GB DDR5 CPU: AMD Ryzen 9 7950X (16 cores) Top 5 Recommended Models: ┌────┬─────────────────────────┬─────────┬───────────┬─────────┐ │ # │ Model │ Quant │ VRAM │ Speed │ ├────┼─────────────────────────┼─────────┼───────────┼─────────┤ │ 1 │ Qwen3-235B │ Q4_K_M │ 18.2 GB │ 12 tok/s│ │ 2 │ DeepSeek-V3 │ Q4_K_M │ 16.8 GB │ 15 tok/s│ │ 3 │ Llama4-Maverick-17B │ Q8_0 │ 19.5 GB │ 28 tok/s│ │ 4 │ Qwen3-32B │ Q8_0 │ 20.1 GB │ 22 tok/s│ │ 5 │ Gemma3-27B │ F16 │ 22.8 GB │ 18 tok/s│ └────┴─────────────────────────┴─────────┴───────────┴─────────┘ Install with Ollama: ollama pull qwen3:235b-q4_K_M ollama pull deepseek-v3:q4_K_M ollama pull llama4-maverick:17b-q8_05.4 与 Ollama 联动
WhichLLM 最实用的功能之一是直接输出 Ollama 安装命令:
# 推荐模型 + 一键安装whichllm--gpurtx4060--install# 输出:# Best fit: Qwen3-7B Q8_0 (6.8GB VRAM, 22 tok/s)# Running: ollama pull qwen3:7b-q8_0六、不同硬件的推荐方案
6.1 硬件-模型匹配决策树
6.2 四档硬件推荐清单
🏆 顶级显卡(24GB+ VRAM)
| 推荐模型 | 量化 | VRAM 占用 | 预估速度 | 适用场景 |
|---|---|---|---|---|
| Qwen3-235B | Q4_K_M | ~18 GB | 12 tok/s | 通用最强 |
| DeepSeek-V3 | Q4_K_M | ~17 GB | 15 tok/s | 推理/数学 |
| Llama4-Maverick | Q8_0 | ~20 GB | 28 tok/s | 高质量对话 |
| Qwen3-32B | F16 | ~22 GB | 18 tok/s | 代码生成 |
🥇 中高端显卡(16GB VRAM)
| 推荐模型 | 量化 | VRAM 占用 | 预估速度 | 适用场景 |
|---|---|---|---|---|
| Qwen3-32B | Q4_K_M | ~8 GB | 25 tok/s | 通用首选 |
| Llama4-17B | Q8_0 | ~10 GB | 22 tok/s | 高质量对话 |
| Gemma3-27B | Q4_K_M | ~7 GB | 20 tok/s | 多语言 |
| DeepSeek-V3 | Q2_K | ~12 GB | 8 tok/s | 推理(质量有损) |
🥈 主流显卡(8GB VRAM)
| 推荐模型 | 量化 | VRAM 占用 | 预估速度 | 适用场景 |
|---|---|---|---|---|
| Qwen3-7B | Q8_0 | ~7 GB | 22 tok/s | 通用首选 |
| Phi-4 | Q4_K_M | ~4 GB | 35 tok/s | 轻量推理 |
| Mistral-7B | Q4_K_M | ~4 GB | 38 tok/s | 对话/摘要 |
| Qwen3-14B | Q4_K_M | ~8 GB | 12 tok/s | 质量+速度平衡 |
🥉 纯 CPU(32GB+ RAM)
| 推荐模型 | 量化 | RAM 占用 | 预估速度 | 适用场景 |
|---|---|---|---|---|
| Qwen3-1.5B | Q8_0 | ~2 GB | 15 tok/s | 极轻量 |
| Phi-3.5-mini | Q4_K_M | ~2 GB | 12 tok/s | 基础对话 |
| Qwen3-7B | Q4_K_M | ~4 GB | 3 tok/s | 勉强可用 |
七、进阶用法
7.1 自定义权重排序
# 更看重质量(质量权重 80%)whichllm--gpurtx4090 --quality-weight0.8--speed-weight0.2# 更看重速度(速度权重 80%)whichllm--gpurtx4060 --quality-weight0.2--speed-weight0.8# 只看代码能力whichllm--gpurtx4090 --use-case coding--benchmarkhumaneval7.2 批量对比硬件
# 对比不同显卡的推荐结果whichllm--comparertx4090,rtx4060,mac-m4pro# 输出对比表格:# Model | RTX 4090 | RTX 4060 | M4 Pro# Qwen3-235B Q4 | 12 tok/s | N/A | 5 tok/s# Qwen3-32B Q8 | 22 tok/s | N/A | 8 tok/s# Qwen3-7B Q8 | 55 tok/s | 22 tok/s | 18 tok/s7.3 Python API
fromwhichllmimportWhichLLM# 初始化wllm=WhichLLM(gpu="rtx4090",vram=24,ram=64)# 获取推荐recommendations=wllm.recommend(top_k=5)forrecinrecommendations:print(f"{rec.model}({rec.quant})")print(f" VRAM:{rec.vram_required:.1f}GB")print(f" Speed:{rec.estimated_speed:.1f}tok/s")print(f" Quality:{rec.quality_score}/100")print(f" Install: ollama pull{rec.ollama_tag}")print()# 检查特定模型能否运行can_run=wllm.check_model("qwen3-235b",quant="q4_k_m")print(f"Can run:{can_run.feasible}")# True/Falseprint(f"VRAM needed:{can_run.vram_required:.1f}GB")7.4 CI/CD 集成
在部署脚本中自动选择最优模型:
#!/bin/bash# deploy_local_llm.sh# 检测硬件并获取最佳模型BEST_MODEL=$(whichllm--json|jq-r'.recommendations[0].ollama_tag')echo"Deploying:$BEST_MODEL"ollama pull"$BEST_MODEL"# 启动推理服务ollama serve"$BEST_MODEL"--host0.0.0.0--port11434八、同类工具对比
| 维度 | WhichLLM | llm-checker | whatllm.org | Ollama Benchmark |
|---|---|---|---|---|
| 硬件自动检测 | ✅ | ✅ | ❌ 手动选择 | ❌ |
| 基准测试排名 | ✅ 多源数据 | ⚠️ 有限 | ✅ 手动维护 | ✅ 自测 |
| 量化方案推荐 | ✅ | ✅ | ⚠️ 部分 | ❌ |
| 推理速度预估 | ✅ | ❌ | ⚠️ 估算 | ✅ 实测 |
| Ollama 集成 | ✅ | ✅ | ❌ | ✅ 原生 |
| CLI 工具 | ✅ | ✅ | ❌ 网页 | ✅ |
| Python API | ✅ | ❌ | ❌ | ❌ |
| 批量硬件对比 | ✅ | ❌ | ❌ | ❌ |
| 开源 | ✅ MIT | ✅ MIT | ❌ | ✅ MIT |
WhichLLM 的差异化优势:多源基准数据 + 推理速度预估 + 批量硬件对比 + Python API。其他工具要么只做硬件检测,要么只做模型排名,WhichLLM 把两者串起来了。
九、本地 LLM 选型的五个忠告
忠告一:VRAM 是硬约束,算力不是
模型跑不动 99% 是因为 VRAM 不够,不是因为算力不够。先看 VRAM 够不够,再看速度够不够。一个 Q4 的 70B 模型在 RTX 4090 上跑 15 tok/s 完全可用,但同样的模型 offload 到 RAM 后只有 2 tok/s,体验天差地别。
忠告二:Q4_K_M 是默认选择
除非你有明确的理由,否则选 Q4_K_M。它在质量和大小之间取得了最佳平衡。Q2 质量损失太大,Q8 质量提升有限但 VRAM 翻倍。Q4_K_M → Q5_K_M 是性价比最高的升级路径。
忠告三:小模型 + 好量化 > 大模型 + 差量化
RTX 4060 上跑 Qwen3-7B Q8_0 的体验,远好于跑 Qwen3-70B Q2_K。后者虽然参数多,但 Q2 量化把知识都压没了。在 VRAM 受限时,优先保证量化质量,而不是追求参数量。
忠告四:Mac 的统一内存是双刃剑
M4 Pro/Max 的统一内存确实能跑大模型(48-192GB),但内存带宽只有 400-800 GB/s,远低于 RTX 4090 的 936 GB/s。跑 7-14B 小模型 Mac 慢于 RTX,跑 70B+ 大模型 Mac 反而能跑(因为 VRAM 够)。
忠告五:先测再买
如果你正在考虑买显卡跑本地 LLM,先用 WhichLLM 的--compare功能对比不同显卡的推荐结果。RTX 3090 24GB 二手价 3000 元,性价比远超 RTX 4070 12GB 新卡 4000 元。VRAM 比 generation 更重要。
十、总结
WhichLLM 解决的核心问题是信息差——本地 LLM 的模型选择是一个硬件×模型×量化×用途的四维决策空间,人工试错成本极高。WhichLLM 用基准测试数据把这个四维空间变成了一个排序问题,一条命令出答案。
核心价值公式:
WhichLLM = 硬件检测 + 基准排名 + 量化匹配 + 速度预估 \text{WhichLLM} = \text{硬件检测} + \text{基准排名} + \text{量化匹配} + \text{速度预估}WhichLLM=硬件检测+基准排名+量化匹配+速度预估
四个能力缺一个都不完整——只有硬件检测不知道哪个模型好,只有基准排名不知道你能不能跑,只有量化匹配不知道跑起来多快。WhichLLM 把四者串起来,给出的是针对你硬件的最优推荐,而不是泛泛的"这个模型不错"。
116 个 Hacker News 点赞说明了一件事:"我的显卡能跑什么"是一个被严重低估的痛点。WhichLLM 给了一个简洁而有效的答案。
项目地址:github.com/Andyyyy64/whichllm
如果觉得这篇推荐对你有帮助,欢迎点赞 + 收藏 + 关注,你的支持是我持续创作的动力!