![]()
之前寫本地部署相關的文章
留言區經常有人問我一個問題:老章,我這個設備能不能跑某某模型
這個問題看起來簡單,真回答起來很麻煩
同一個模型,換顯卡、換量化、換推理框架、換 prompt 模板,速度和效果都可能不一樣
所以今天聊一個特別對癥的工具:BenchLoop
它的目標很明確:把本地大模型評測這件事,做成可以復現、可以留檔、可以發榜的工具
簡單說,你也可以擁有一個跑在自己機器上的 Leaderboard
BenchLoop 簡介
BenchLoop 是一個本地優先的 CLI + Web App,用來評測跑在自己硬件上的 LLM
官方給它的定位是:Benchmark local LLMs by what actually matters
這句話很準
很多托管榜單回答的是「哪個模型在別人家的服務器上跑得最好」
BenchLoop 更關心的是:
模型 + 推理服務 + prompting harness + 我的硬件,這個組合今天到底能不能用
這才是本地部署玩家真正要的答案
![]()
BenchLoop 跑分截圖
它的核心特點我總結成 4 個:
本地優先 :無需賬號、無需 API key,模型跑在你自己的機器上
可復現 :任務集凍結,scorer 確定性,每次跑完都有記錄
指標完整 :輸出、延遲、token 數、機器信息、suite 得分都會落盤
帶公開榜單 :完成后的 benchmark 默認會提交到 bench-loop.com/leaderboard
目前它覆蓋 7 套 suite:
speed:延遲、吞吐、TTFT、生成速度toolcall:結構化工具調用正確性,包含天氣、股票、郵件、搜索等任務coding:Python 可執行任務,放到沙盒子進程里驗證dataextract:從混亂自然語言里抽取 JSON / 結構化信息instructfollow:約束跟隨、格式控制、精確輸出reasonmath:小型推理和數學任務agent:多輪 Agent 工具調用,模型發工具調用,BenchLoop 本地執行,再把結果喂回模型
我比較喜歡 agent 這一項
很多模型聊天看著挺聰明,一到工具調用就開始放飛自我
BenchLoop 這里會看最終答案是否正確、調用是否高效、有沒有亂編工具、要求調用的工具有沒有都調用到
這比單純跑一個 tok/s 有用多了
看榜單
我看官方 leaderboard 的公開 API 時,已經有 126 條提交
前排數據大概長這樣:
qwen3:8b / qwen harness
Overall 95.9,RTX PRO 6000 Blackwell,215.3 tok/s
qwen3.5:9b / raw harness
Overall 94.1,RTX PRO 6000 Blackwell,165.2 tok/s
google_gemma-4-26B-A4B-it-IQ4_XS.gguf / raw harness
Overall 86.1,RTX 4080,90.3 tok/s,Full benchmark
Qwen3.6-35B-A3B-UD-Q2_K_XL.gguf / raw harness
Overall 85.7,RTX 4080,154.7 tok/s,Full benchmarkqwen3.6:latest / raw harness
Overall 83.9,RTX PRO 6000 Blackwell,143.9 tok/s,Full benchmark
這里有兩個細節很關鍵
第一,榜單會標注 FULL 和 PARTIAL
只跑一部分 suite 的成績,和完整 benchmark 的成績混在一起看,容易誤判
第二,harness 也會影響成績
同一個模型走 raw、hermes、qwen、pi,工具調用格式和思考標簽處理不一樣,最終分數可能明顯變化
這也是 BenchLoop 的價值:它把「模型怎么被調用」這件事擺上了臺面
![]()
安裝
推薦用 pipx 安裝
pipx install benchloop-cli
benchloop --version
也可以直接用 pip
pip install benchloop-cli
寫稿時 PyPI 最新版本是 0.2.3,需要 Python 3.10+
這里有個小坑:PyPI 包名叫 benchloop-cli
因為裸的 benchloop 包名已經被一個無關的數據集庫占了
但安裝后的命令還是這兩個:
benchloop
bench-loop
如果想從源碼安裝:
git clone https://github.com/outsourc-e/bench-loop
cd bench-loop
pip install -e .
使用先確保你本地有模型服務在跑
Ollama 最簡單:
ollama pull qwen3:8b
ollama serve
然后跑一遍默認 benchmark:
benchloop run \
--model qwen3:8b \
--endpoint http://localhost:11434 \
--provider ollama
它會跑默認 suite,輸出控制臺報告,并把完整結果保存到:
~/.bench-loop/runs/
如果只是想快速試試,可以跑子集:
benchloop run --model qwen3:8b --suites speed,agent
本地推理服務支持這些常見形態:
Ollama:
http://localhost:11434LM Studio:
http://localhost:1234MLX / Osaurus:
http://localhost:8000vLLM、Jan、llama-server 等 OpenAI-compatible endpoint
新版本對一部分常見端口做了自動識別,比如 LM Studio 的 1234、Jan 的 1337
我個人還是建議把 --provider 寫清楚,排查問題時省心
LM Studio 這類 OpenAI 兼容服務可以這樣跑:
benchloop run \
--model qwen3:8b \
--endpoint http://localhost:1234 \
--provider openai_compat
Harness 很重要BenchLoop 支持 4 種 prompting harness
benchloop run --model qwen3:8b --harness raw
benchloop run --model qwen3:8b --harness hermes
benchloop run --model qwen3:8b --harness qwen
benchloop run --model qwen3:8b --harness pi
大概可以這樣理解:
raw:原生工具調用hermes:{...}格式qwen:{...}格式pi:...+ Hermes 標簽
為什么這東西重要
因為很多本地模型的能力差異,出在調用格式、工具協議和模板適配上
同一個底座模型,換一種 harness,Agent 任務的通過率可能就變了
這也是我覺得 BenchLoop 比普通測速腳本更有意思的地方
評分邏輯
BenchLoop 的總分公式是:
Overall = 0.55 × quality + 0.20 × speed + 0.25 × reliability
幾個分項含義:
Quality:非 speed suite 的平均分Speed:根據 tok/s 用12.54 × log2(tok/s) + 0.9轉成 0-100 分Reliability:所有任務的通過率Agent:最終答案、效率、工具幻覺、必需工具覆蓋,各 25 分
這個權重我覺得挺合理
本地大模型不能只看快
一個模型 200 tok/s,但是工具調用經常亂來,實際做 Agent 也很難放心
反過來,一個模型質量很好,速度慢到等得心焦,也很難日常使用
BenchLoop 至少把這個權衡攤開了
本地 Dashboard
v0.2.0+ 開始,BenchLoop 把 FastAPI + React dashboard 打包進 wheel 里
安裝完之后直接運行:
benchloop dashboard
終端會提示本地訪問地址,README 里新命令提示常見是:
http://127.0.0.1:8877
dashboard 里有 Models、Benchmark、Leaderboard、Compare、Chat、agent trace viewer 這些頁面
對比不同模型、不同 harness、不同硬件時,比盯著控制臺舒服很多
![]()
BenchLoop 詳細頁面
如果想讓 dashboard 脫離當前終端,也能直接打印服務模板:
benchloop dashboard --service-template launchd
benchloop dashboard --service-template systemd
benchloop dashboard --service-template windows-task
自動發布要注意BenchLoop 默認會把完成的 benchmark 發到公開 leaderboard
提交接口是:
https://api.bench-loop.com/submit
這點我覺得有利有弊
好處是社區榜單能不斷積累真實硬件數據
注意點是,公開數據里會帶模型名、provider、harness、機器信息、GPU、顯存、系統、endpoint 等元信息
如果你在公司內網、客戶機器、私有模型上測試,建議先關掉自動提交:
export BENCHLOOP_NO_SUBMIT=1
也可以只導出本地快照:
benchloop export --output my-runs.json
通過隧道跑遠程機器時,還建議手動寫清楚硬件信息:
benchloop run \
--model qwen3:8b \
--endpoint http://localhost:11435 \
--hardware "NVIDIA RTX 4090 24GB" \
--gpu "NVIDIA RTX 4090" \
--gpu-memory-gb 24
否則榜單里可能顯示的是發起 benchmark 那臺機器的硬件信息,讀者看起來會有點迷糊
我怎么看
我挺喜歡 BenchLoop 的方向
它解決的是本地大模型圈一個長期痛點:大家都在曬跑分,但跑法經常對不齊
有人只測速度,有人測首 token,有人測固定 prompt,有人測一堆主觀題
最后就變成一堆很熱鬧的數字,很難橫向比較
BenchLoop 至少給了一個統一框架:
同一批任務
同一套 scorer
同一份機器信息
同一套結果收據
同一個公開榜單入口
我尤其建議這幾類人試試:
本地部署玩家 :換模型、換量化、換推理框架時,跑一遍心里有數
顯卡 / 工作站用戶 :4090、5090、Mac Studio、RTX PRO,別只看顯存,直接跑數據
模型量化作者 :同一個模型不同量化包,速度和質量可以一起展示
MaaS / 私有化團隊 :內部選型時,比只看宣傳頁靠譜
Agent 開發者 :重點看
toolcall和agent,這兩個更接近真實工作流
當然,它現在仍然是 beta 階段
README 里也寫了幾個路線圖:OpenAI-compatible provider 的 streaming TTFT 還在完善,任務 fixtures 目前偏小,后續 provider adapter 也會繼續擴展
所以我的建議是:把它當成本地選型和橫向對比工具,非常合適
如果要得出嚴肅結論,最好自己固定模型、固定硬件、固定 harness,多跑幾輪再看
總結
BenchLoop 這類工具會越來越重要
未來本地大模型的爭論,光說「這個模型能跑」「那個模型很快」已經不夠了
更有價值的問題是:
在我的硬件上快不快
在我的推理框架里穩不穩
工具調用靠不靠譜
同一個模型換 harness 會不會崩
這個量化包到底有沒有損失能力
BenchLoop 剛好把這些問題放到一個可以復現的框架里
本地部署大模型的兄弟,值得裝一個
制作不易,如果這篇文章覺得對你有用,可否點個關注,給我個三連擊:點贊、轉發和在看,若可以再給我加個,謝謝你看我的文章,我們下篇再見!
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.