【2026年最新】whichllmで自分のMacに最適なローカルLLMを選ぶ完全ガイド

ローカルLLMを始めようとして、最初の一歩でこう固まったことはありませんか?

  • モデルが多すぎて、結局どれを入れればいいのか分からない
  • 「VRAMに収まる一番大きいモデル」を入れたのに、遅すぎて実用にならなかった
  • Qwen、Gemma、Phi…名前は知っているが、自分のマシンでどれが”賢く動く”のか判断できない

この「最初の迷い」を、たった1コマンドで解消してくれるのが whichllm です。

ひとことで言えば、whichllm は 「あなたのPCで”とりあえず動く”のではなく”一番賢く使える”ローカルLLMを、ベンチマークスコア順にランキングしてくれるCLIツール」 です。GPU・RAMを自動検出し、HuggingFaceのライブデータと突き合わせて「あなたの環境で現実的に動く中での最善手」を提示します。

この記事では、実際に Apple M5 / 16GBのMacにwhichllmをインストールして実測し、その結果をもとに次の4点を整理します。

  • なぜ「VRAM最大=最適」が間違いなのか(最重要の誤解)
  • whichllm と Ollama の役割の違い(選ぶツール vs 動かすツール)
  • 実測ランキングの読み解き方(スコア・速度・世代・量子化)
  • 速度の推定値を鵜呑みにしないための注意点

検証環境: Apple M5 / 16GB / macOS、whichllm v0.5.12(as-of 2026-06-25)


目次

1. 【混乱の整理】「VRAM最大=最適」がなぜ間違いか

ローカルLLM選びで最も多い誤解が、これです。

「自分のVRAM(メモリ)に収まる、一番大きいモデルが一番賢い」

これは半分正しく、半分間違っています。確かにパラメータ数が多いほど賢い傾向はあります。しかし実際には、次の4つが絡み合って「実用的な賢さ」が決まります

要素何を意味するか落とし穴
ベンチスコアLiveBench / Aider 等での実力パラメータ数 ≠ スコア。小さくても高スコアのモデルがある
生成速度(tok/s)体感の速さ大きいモデルは遅い。遅すぎると実用にならない
モデル世代公開時期同サイズでも新しい世代の方が賢いことが多い
量子化(Quant)精度とサイズのトレードオフ詰め込みすぎると精度が落ちる

つまり「収まる最大モデル」を選ぶのは、速度と世代と量子化を無視した賭けにすぎません。本当に必要なのは「収まる中で、スコア・速度・世代のバランスが最も良いモデル」を選ぶことです。

この多変数の判断を、人間が毎回HuggingFaceとベンチサイトを往復してやるのは現実的ではありません。そこを1コマンドで肩代わりするのが whichllm です。


2. whichllmとは — Ollamaとの役割分担

ここで多くの人が混同するのが、whichllm と Ollama の違いです。両者は競合ではなく、役割が違います。

ツール役割ひとこと
whichllmどのモデルを動かすべきか教える(選定)「あなたのMacならコレ」を提案する案内役
Ollama / LM Studioモデルを実際に動かす(実行ランタイム)選んだモデルをダウンロードして走らせる

カーナビとクルマの関係に近いです。whichllm が「この道(モデル)が最適」と案内し、Ollama がそのモデルを実際に走らせます。併用するのが正しい使い方で、whichllm だけでは推論はできません(後述)。

whichllm は GitHub の Andyyyy64/whichllm(MITライセンス)で公開されています。NVIDIA / AMD / Apple Silicon に対応し、ベンチマークは 2026年5月時点のキュレーション済みスナップショットをベースに、到達可能なときは Artificial Analysis / LiveBench / Aider のライブデータをマージして判定します(モデル一覧は6時間、ベンチは24時間ごとに更新)。


3. インストール — 4つの方法(Python 3.11+)

前提は Python 3.11以上のみ。インストール方法は4通りあり、おすすめは追加セットアップ不要の uvx です。

# ① uvx(推奨・インストール不要で即実行)
uvx whichllm@latest

# ② uv tool(恒久インストール)
uv tool install whichllm
uv tool upgrade whichllm

# ③ Homebrew
brew install andyyyy64/whichllm/whichllm

# ④ pip
pip install whichllm

GPU検出用の nvidia-ml-py は標準で含まれ、AMD / Apple Silicon は自動検出されます。Apple Silicon Macなら追加ドライバ類は不要で、uvx whichllm@latest を打つだけで動きます。


4. 使い方 — 1コマンドでハードウェア自動検出

基本はコマンド名を打つだけです。

whichllm                      # 基本:自動検出してランキング表示
whichllm --markdown --top 12  # Markdown表で上位12件
whichllm --profile coding     # コーディング用途で最適化
whichllm --json               # JSON出力(スクリプト連携用)

実行すると、まず自分のハードウェアを検出した結果が表示されます。これは実際に M5 Mac で出力されたものです。

╭───────────────── Hardware Info ─────────────────╮
│ GPU 0: Apple M5 — 16.0 GB shared (budget 15.2 GB) — BW: 153 GB/s │
│ CPU: Apple M5 — 10 cores                                         │
│ RAM: 16.0 GB                                                     │
│ Disk free: 405.5 GB                                             │
│ OS: darwin                                                      │
│ VRAM headroom: 819 MB reserved per GPU                         │
╰─────────────────────────────────────────────────╯

16GBの共有メモリのうち、OSやアプリ用を差し引いた 実効予算は15.2GB——この「使える上限」を踏まえてランキングが組まれます。ここが「収まるかどうか」の判定基準になります。


5. 【実測】Apple M5 16GBでのランキング結果

ここが本記事の核心です。実際に whichllm --markdown --top 12 を実行した、M5 / 16GBでの一般プロファイル上位がこちらです(数値は実出力そのまま)。

#モデル量子化VRAM速度公開スコア
1Qwen/Qwen3-30B-A3BQ3_K_M13.8 GB47.8 tok/s ?2025-0479.2
2Qwen/Qwen3.6-27BQ3_K_M14.7 GB5.2 tok/s ~2026-0478.6
3google/gemma-4-26B-A4B-itQ3_K_M12.3 GB37.7 tok/s ?2026-0377.6
4openai/gpt-oss-20bQ4_K_M12.7 GB34.1 tok/s ?2025-0876.0
5Qwen/Qwen3-14BQ4_K_M10.0 GB8.3 tok/s ~2025-0470.4
8Qwen/Qwen3-8BQ6_K7.9 GB9.4 tok/s ~2025-0462.8

Apple M5 16GBで実測したローカルLLMスコアランキング(whichllm v0.5.12)
Apple M5 / 16GB での実測スコアランキング。1位 Qwen3-30B-A3B はMoEで大型でも軽量・高速。

注目すべきは 1位の Qwen3-30B-A3B。30Bという大型でありながら 13.8GB に収まり、しかも速度が突出しています。これは MoE(Mixture of Experts)モデルで、表記の「A3B」は実際に動くアクティブパラメータが約3Bという意味です。サイズの割に速いのはこのためで、「30B=重いはず」という直感を裏切ります。まさに「VRAM最大≠最適」を体現する好例です。

コーディング用途なら結果が変わる

Claude Code やエディタ補完で使うなら --profile coding を付けます。すると顔ぶれが変わります。

#モデル量子化VRAMスコア
1Qwen/Qwen3-Coder-30B-A3B-InstructQ3_K_M13.8 GB79.2
3Qwen/Qwen2.5-Coder-14B-InstructQ4_K_M10.0 GB43.5
4Qwen/Qwen2.5-Coder-7B-InstructQ4_K_M5.6 GB36.9

コーディング特化版の Qwen3-Coder-30B-A3B-Instruct が筆頭。用途を伝えるだけで「汎用で賢い」から「コードで賢い」へ最適化されるのが、whichllm の実用性です。


6. 結果の読み解き方 — 5つの列の意味

ランキングは、次の5要素を総合して並んでいます。慣れると一目で判断できます。

  • Score(スコア): ベンチマーク上の実力。高いほど賢い。まずここを見る
  • Fit / VRAM: 「Full GPU」は予算内に完全に収まる=快適に動く目安
  • Speed(速度): 体感の速さ。ただし後述の通り目安として扱う
  • Quant(量子化): Q3_K_M(軽いが精度妥協)〜 Q6_K(高精度だが重い)。同じモデルでも量子化で性格が変わる
  • Published(世代): 新しいほど一般に賢い。同スコアなら新しい方を選ぶ

実用の優先順位はシンプルです。①スコアで候補を絞り → ②速度が実用ライン(おおむね15〜20 tok/s以上が快適)か確認し → ③同条件なら新しい世代を取る。この順で見れば外しません。


7. 主要オプション7選

whichllm は素の出力だけでなく、フィルタが充実しています。よく使うものを挙げます。

オプション効果
--profile coding\|vision用途特化で最適化
--gpu-only / --fit gpuVRAMに完全に収まるモデルだけ表示
--speed usable\|fast速度でフィルタ
--gpu "RTX 4090"別GPUをシミュレート(買い替え検討に便利)
--top N上位N件に絞る
--markdown / --jsonブログ貼付やスクリプト連携用の出力
--vram-headroomメモリ余裕の設定を調整

特に --gpu "..." は、「このGPUを買ったら何が動くか」を買う前にシミュレートできる点が秀逸です。


8. 判定後どう動かすか — snippet で実行へ橋渡し

ここが見落とされがちですが重要です。whichllm は選ぶだけで、推論そのものは別ランタイムが担います。橋渡しには snippetrun を使います。

whichllm snippet "qwen3 8b"   # 実行スクリプトを生成
whichllm run "qwen 2.5 1.5b gguf"  # 直接実行

snippet は、選んだモデルを動かすための transformers のサンプルコードを出力します(実出力を要約)。

# whichllm run 'Qwen/Qwen3-8B' でも実行可
from transformers import AutoModelForCausalLM, AutoTokenizer
model_id = "Qwen/Qwen3-8B"
tokenizer = AutoTokenizer.from_pretrained(model_id, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
    model_id, device_map="auto", torch_dtype="auto", trust_remote_code=True,
)

実運用では、whichllm が出したモデル名を Ollama / LM Studio に渡して動かすのが手軽です。たとえば上位の Qwen3 系なら ollama pull qwen3:8b のように、選定結果のモデル名をそのまま自分のランタイムに流し込めば、選定から実行まで一気通貫になります。


9. やりがちなアンチパターン4選

whichllm は便利ですが、鵜呑みにすると判断を誤るポイントが4つあります。これは whichllm 自身が出力で警告している誠実な仕様でもあります。

  1. 速度の推定値を実測と勘違いする — 速度欄の ~ は推定レンジ、? は低信頼(バックエンド依存)。あなたのマシンの実測値ではありません。最終判断は自分で1回動かして確かめましょう。
  2. スコアだけで決める — 今回の1位も「top pick confidence: Low(2位と+0.6差)」と表示されました。僅差なら速度や世代で選び直すのが正解です。
  3. 量子化を無視するQ3_K_M は軽い代わりに精度を妥協しています。重要な用途では Q4 以上を選ぶなど、量子化の意味を理解して選びましょう。
  4. ベンチの鮮度を過信する — 判定は2026年5月のスナップショット+ライブマージです。ごく最新のモデルは反映が遅れることがあるため、話題の新モデルは公式情報も併せて確認を。

whichllm が「確信度: Low」と自己申告してくれる点こそ信頼に値します。断言しないツールほど、実は誠実です。


10. whichllm vs 手動選定 — 比較と実践チェックリスト

最後に、従来の「手動で選ぶ」やり方との比較です。

観点手動選定whichllm
所要時間HuggingFace+ベンチサイトを往復で数十分1コマンド・数秒
ハード適合自分でVRAM計算が必要自動検出
速度の目安不明(動かすまで分からない)推定値を提示
用途最適化手作業--profile で一発
客観性主観・印象に流れがちベンチスコア基準

実践チェックリスト

  • [ ] uvx whichllm@latest で自分のマシンのランキングを取得した
  • [ ] 用途に合わせて --profile coding 等で絞った
  • [ ] スコアだけでなく 速度と量子化も確認した
  • [ ] 確信度(confidence)が Low の場合は2位以下も検討した
  • [ ] 選んだモデルを Ollama / LM Studio で実際に1回動かして体感を確かめた

まとめ

ローカルLLM選びの「結局どれを入れれば?」は、whichllm を使えば1コマンドで客観的な答えにたどり着けます。

この記事のポイントを振り返ります。

  • 「VRAM最大=最適」は誤解 — スコア・速度・世代・量子化の4要素で決まる
  • whichllm は選ぶツール、Ollama は動かすツール — 併用が正解
  • Apple M5 / 16GBの実測では、MoEの Qwen3-30B-A3B が「大型なのに速い」筆頭だった
  • 速度は推定値であり、確信度が Low のときは自分で1回動かして確かめる

「とりあえず動く」から「一番賢く使える」へ。次にローカルLLMを入れるときは、まず uvx whichllm@latest を打ってみてください。選定にかけていた数十分が、数秒に変わります。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA


目次