用 whichllm 3 秒找到你最该跑的那个本地模型
为什么要用这个工具?
装了一堆模型,跑起来不是显存爆了就是慢得发指——这是每个想在本地跑 LLM 的开发者的日常。参数数量 ≠ 实际性能,尤其在不同 GPU 上,同一个 7B 模型的速度可能差 5 倍。
whichllm 就是来解决这个问题的:一条命令,自动在你本地跑基准测试,然后给出针对你硬件的排名。今天它新增了 3402 stars,说明需求真实存在。
工作原理:为什么它比参数数量更靠谱
传统的选模型方式:看参数量 → 看社区评测 → 自己试。问题是:
- Q4 量化后的 13B 和 FP16 的 7B 哪个更快?
- MMLU 分数和实际生成速度哪个更重要?
whichllm 的做法是:在你的机器上真的跑一遍。它内置了统一的评测脚本,测试三项:
- 吞吐量(tokens/s)
- 首 token 延迟(ms)
- 生成质量(基于参考回答的匹配度/困惑度)
这些测试会按近期提交的基准数据(recency-aware)加权,避免你还在用两个月前的旧量化版本。
实测:一条命令能得到什么
安装:
bash
1
2
3
pip install whichllm
# 或者直接拉仓库
whichllm run
运行后会依次加载不同模型并报告结果。示例输出(基于 RTX 4090 24GB,Q4_K_M 量化):
| 模型 | 参数 | 吞吐量 | 首 Token 延迟 | 综合评分 |
|---|---|---|---|---|
| Qwen2.5-7B-Instruct | 7B | 82.3 t/s | 92 ms | 9.1 |
| Llama-3.2-3B-Instruct | 3B | 145.1 t/s | 45 ms | 8.7 |
| Mistral-7B-v0.3 | 7B | 76.8 t/s | 105 ms | 8.5 |
| Phi-3-mini-4k | 3.8B | 122.4 t/s | 68 ms | 8.3 |
| CodeLlama-13B-Python | 13B | 34.5 t/s | 210 ms | 7.1 |
(数据基于 whichllm v0.3 默认测试,仅作示意)
可以看到:3B 模型吞吐量远超 13B,但综合评分还考虑了质量(CodeLlama 在代码任务上质量更高,但通用问答差一些)。
横向对比:同类工具谁更好
| 工具 | 方式 | 优点 | 缺点 |
|---|---|---|---|
| whichllm | 本地真实跑分 | 结果直接贴你硬件,无需手动配置 | 测试模型名单固定,不能自选 Prompt |
| ollama list + 手动测 | 命令行 + 自己测试 | 灵活,可调参数 | 麻烦,需写脚本 |
| lm-eval-harness | 标准评测集 | 覆盖全面的质量得分 | 不测速度,要自己拼 latency |
我的观点:whichllm 最适合“我没时间一个个试,就想知道哪个模型跑得又快又不会胡说八道”的场景。如果你需要深度的多维评测(比如数学推理 vs 创意写作),还是用 lm-eval-harness 配合速度测试更靠谱。
适用场景与不适用场景
适用场景:
- 本地首次部署一个模型,想快速选出最优的量化版本和参数量组合。
- 硬件是消费级显卡(RTX 3060/4060/4090),内存 ≤32GB。
- 基础问答、代码生成等通用任务。
不适用场景:
- 需要评估特定领域(法律、医学、多轮对话角色扮演)—— whichllm 的生成质量测试太简单。
- 多 GPU 分布式推理——工具未覆盖。
- 量化方式不止一种(GGUF/F16/AWQ)——它默认只测 GGUF Q4_K_M,其他格式需要手动 hf 加载。
综合评价
whichllm 填补了一个真实空白:让参数不重要,让你的硬件说话。它不会让你选到绝对最好的模型(因为质量测试很粗糙),但能让你在 5 分钟内排除掉 80% 跑不动的选项。对于想快速落地本地 LLM 的开发者,值得装一个。

最后一句:别再看参数数量了,跑一下就知道好不好。