IDE 激活

开源项目|本地跑大模型,选型这件事终于有人管了

终码一生 · 2026-10-16

点击“终码一生”,关注,置顶公众号 每日技术干货,第一时间送达! 前阵子给一台旧机器装本地模型,3060 12G的卡,心想跑个7B总够用了吧。Qwen 2.5 7B能跑,Llama 3 8B也没问题。 然后人就飘了,下了一个14B的GGUF Q4KM。跑起来一秒蹦三个字,那感觉就像买了张4090回家发现打游戏还得开最低画质。 比这更烦的是选型本身。 看到某个模型排名靠前,去Hugging Face找GGUF,挑一个看着顺眼的量化版本,下载,跑起来——要么龟速要么爆显存,删掉。这套流程今年我至少走了三遍,每次删掉的都是“别人说好但我跑不动”的模型。 最近发现一个项目whichllm,专门解决这个问题。 01 项目介绍 用法很简单:跑一条命令,它扫描你的GPU、CPU和内存,再去Hugging Face拉取模型列表,按评分从高到低排序,告诉你哪些能跑、大概能跑多快。 MIT协议,Python写的,作者是GitHub上的Andyyyy64,德国人,本职工作是产品经理。仓库今年三月建的,目前6.8k Star,最近还在持续提交。 02 两个判断,让它和显存计算器拉开了差距 “帮你选模型”这句话听起来很简单,市面上做这件事的工具也不少。但whichllm真正拉开差距的地方,在于它做了两个额外判断。 第一个判断:它不看模型大小,看模型好不好 多数显存计算器的逻辑是:你有多少显存、用哪种量化、最大能塞多大参数,就推那个。至于这个模型本身行不行,它不管。 whichllm的做法是合并真实榜单数据来打分,来源包括LiveBench、Artificial Analysis、Aider、多模态与视觉、Chatbot Arena ELO和Open LLM Leaderboard。 所以它经常会在同一张卡上推荐一个参数量更小的新型号——因为新版跑分比老版高,架构更新、训练更好,花差不多的显存和时间能拿到更好的回答。 它还做了时效衰减:过期的榜单分会沿模型族谱被降权,让老一代模型没法靠一份旧分数排到当代模型前面。每次排名的下方会打印榜单快照日期,推荐有没有过期,一眼就能看出来。 第二个判断:它知道哪些评分能信,哪些不能信 每条评测数据都带来源标签,从direct到variant到base到interpolated再到self-reported,分五级并做置信度折扣。 结果里分数前面带~或者一个标记,就说明这个分可能有水分。跑几次会发现,不少看起来很能打的模型前面都挂着~,点进去一看果然是家族插值算出来的。 更狠的是跨家族继承检查。有人在Hugging Face上fork一个70B,改出个小变体,宣称继承了原版的评测分数。它对比参数量,发现差距到两倍以上,直接把这条数据拒掉。 顺带说一句,显存估算也没有偷懒。显存的组成包括权重、KV缓存、激活和额外开销几块。速度按带宽受限来算,还要算上每种量化的效率、不同后端的系数,以及MoE的激活与总量拆分。统一内存和独立显卡部分卸载这两种情况也是分开建模的。 03 买卡之前,先模拟一遍 它有几条子命令,用法都很直接。 买卡之前摸底: whichllm --gpu "RTX 5090" 可以模拟目标显卡,看上面能跑什么。有人据此判断升到更大显存后能上更高的量化档,实测那一档在逻辑推理题上确实更稳。值不值一万多块另说,至少知道钱花在哪。 选模型之前快速验证: whichllm plan "llama 3 70b" 不是每个模型都值得花半小时下载。这条命令会告诉你跑它需要什么硬件。想试更大的模型之前先跑一遍,能省掉几次白下载。 写代码集成: whichllm snippet "qwen 7b" 直接输出一段Python代码,用llama-cpp-python加载模型,复制粘贴就能跑,比自己翻文档快。 还有一条whichllm run,会自动隔离环境、装依赖、下载模型然后进入对话,相当于一个零配置的本地模型启动器。习惯用Ollama管模型的人可能用不上,但对不想配环境的人很友好。 另外几个开关值得知道: --fit full-gpu:只显示能完全装进显存的候选 --speed usable:按阈值过滤掉太慢的行 --vram-headroom和--ram-budget:用来避开贴边的估算 --markdown:输出可以直接粘到文档里的表格 多卡可以写成2x RTX 4090这种形式 04 安装使用 前提是Python 3.11以上,命令只有一行: uvx whichllm@latest 不需要预先安装,第一次跑会自动拉下来,跑完即走。 想常驻就换成常驻安装: uv tool install whichllm uv tool upgrade whichllm 另外还有两条路:pip install whichllm,macOS上可以用brew install andyyyy64/whichllm/whichllm。 05 还不够好的地方 三件事值得提前知道。 断网就废了一半。 数据走Hugging Face API实时拉取,本地虽然有缓存,但模型列表6小时过期、评测数据24小时过期。没网的时候只能看缓存,新模型压根不知道。 默认输出是为终端观感做的表格。 想喂给脚本必须加--json,不加的话标准输出只是展示,管道里接不上。 最后一条更根本。 它告诉你哪个模型在榜单上分高,不等于这个模型在你的具体任务上表现好。写代码和写小说要的肯定不是同一个。它支持按画像过滤,目前覆盖通用、编码、视觉和数学四类,粒度还是偏粗。要是以后能像竞技场那样把编程、绘图、文本分开排,就好用多了。 06 最后 本地跑大模型,真正费时间的不是下载,是不知道哪个模型能在自己机器上好好干活。 它不能替你选出最好的那个,但能让你别选到最烂的那个。省下来的时间,刷点什么不好。 开源地址:https://github.com/Andyyyy64/whichllm —END— PS:防止找不到本篇文章,可以收藏点赞,方便翻阅查找哦。 往期推荐 公司新来一个技术总监,把支付系统设计得炉火纯青,那叫一个优雅,佩服! 全新的分布式锁,几行代码搞定,简单且强大 全网显示 IP 归属地,准确率 99.9%,这个开源的 API 离线库强大到离谱! 微信为什么使用SQLite保存聊天记录? 微服务+多级缓存,性能起飞! 夯爆了!66k+ Star 的开源神器,一键抓取小红书、抖音、B 站等多个平台公开数据

查看完整内容

更多文章