なぜ WhichLLM が必要なのか?

ローカルで大規模言語モデル(LLM)を実行することは、開発者にとって新しい日常になりました。Ollama で Qwen を実行したり、llama.cpp で GGUF を調整したり、LM Studio でモデルを読み込んだりする場合でも、開発者は共通の課題に直面しています:

自分のハードウェアでどのモデルを動かせるのか?どのモデルが自分のデバイスで最もパフォーマンスが良いのか?

HuggingFace には数十万ものモデルがあり、仕様は 1.5B から 72B まで様々です。量子化方式も Q4_K_M、Q5_K_M、Q8_0 などがあります。盲目的に 70B モデルをダウンロードしても、半日待った後に VRAM が不足していることが分かり、時間を無駄にしてしまいます。

WhichLLM は、この痛点を解決するために生まれました。ハードウェア構成を自動検出し、実際のベンチマークデータ(パラメータ数ではなく)を比較して、一秒以内にハードウェアに最も適したモデル推奨を提示します。

主要機能一覧

機能 説明
自動検出 NVIDIA/AMD/Apple Silicon/CPU 構成を自動識別
スマートランキング 実際のベンチマーク(LiveBench、Aider、Open LLM Leaderboard など)に基づく、パラメータ数だけの堆積ではない
时效感知 古いモデルが歴史的高得点のために新しいモデルの前に並ぶことはない
GPU シミュレーション グラフィックカードを交換する前にパフォーマンスを予測:whichllm --gpu "RTX 5090"
ワンクリックチャット 推奨後にダウンロードしてインタラクティブな対話を開始
コードスニペット 直接実行可能な Python 推論コードを生成
アップグレード計画 現在のマシンと候補となるアップグレードとの差異を比較

インストール方法

WhichLLM は複数のインストール方法を提供しており、uv または Homebrew の使用を推奨します:

方法一:uv(推奨、インストール不要で直接実行)

BASH
# 一回限りの実行(インストールしない)
uvx whichllm@latest

# グローバルにインストール
uv tool install whichllm

# 更新
uv tool upgrade whichllm

方法二:Homebrew

BASH
brew install andyyyy64/whichllm/whichllm

方法三:pip

BASH
pip install whichllm

インストール完了後、whichllm を直接実行すれば使用できます。

クイックスタート

自動検出とモデル推奨

設定不要で、直接実行:

BASH
whichllm

出力例:

#1 Qwen/Qwen3.6-27B 27.8B Q5_K_M  score 92.8  27 t/s
#2 Qwen/Qwen3-32B  32.0B Q4_K_M  score 83.0  31 t/s
#3 Qwen/Qwen3-30B-A3B 30.0B Q5_K_M  score 82.7  102 t/s

WhichLLM は GPU/CPU/RAM を自動検出し、最も適したモデルを推奨して総合得点でソートしました。3位は MoE(混合エキスパート)モデルであることに注意してください——総パラメータ数は大きいですが、アクティブなパラメータが少ないため、速度がはるかに速いです。

ハードウェア情報の表示

BASH
whichllm hardware

出力例:

GPU: NVIDIA RTX 4090 (24 GB VRAM)
CPU: AMD Ryzen 9 7950X (16 cores)
RAM: 64 GB

これは、特に GPU モデルと VRAM サイズが不明な場合に、自分のハードウェア構成を理解するのに役立ちます。

高度な機能

GPU シミュレーション:グラフィックカード購入前にテスト

RTX 5090 へのアップグレードを検討していますが、どのようなモデルを動かせるか知りたいですか?WhichLLM は任意の GPU をシミュレートできます:

BASH
# RTX 5090 をシミュレート
whichllm --gpu "RTX 5090"

# RTX 4060 をシミュレート
whichllm --gpu "RTX 4060"

# カスタム VRAM
whichllm --gpu "RTX 5060 16"

出力例:

#1 Qwen/Qwen3.6-27B 27.8B Q6_K    score 94.7  ~40 t/s
#2 Qwen/Qwen3-32B  32.0B Q5_K_M  score 88.0  ~38 t/s

これはハードウェア購入前の意思決定に非常に実用的です。

アップグレード計画:アップグレードによる利益を比較

RTX 4090 から RTX 5090 へのアップグレードでどれだけ向上するか知りたいですか?

BASH
whichllm upgrade "RTX 4090" "RTX 5090" "H100"

出力は各構成での推奨モデル、得点、速度を表示し、一目瞭然です。

逆計画:特定のモデルを動かすのに必要な GPU は?

BASH
# Llama 3 70B を動かすのにどんなグラフィックカードが必要?
whichllm plan "llama 3 70b"

# Qwen2.5-72B の Q8_0 量子化バージョンを動かす
whichllm plan "Qwen2.5-72B" --quant Q8_0

# 長いコンテキストシナリオ
whichllm plan "mistral 7b" --context-length 32768

出力は、必要な VRAM、推奨される GPU、達成可能なパフォーマンスレベルを教えてくれます。

ワンクリックチャット:推奨後すぐに使用

モデルを推奨された後、直接対話を開始できます:

BASH
# 指定されたモデルをダウンロードしてチャット
whichllm run "qwen 2.5 1.5b gguf"

# 最適なモデルを自動選択してチャット
whichllm run

WhichLLM は隔離環境を自動作成し、モデルをダウンロードし、インタラクティブな対話を開始します。

Python コードスニペットの生成

アプリケーションで特定のモデルを使用したい場合、WhichLLM は直接実行可能な Python コードを生成できます:

BASH
whichllm snippet "qwen 7b"

出力:

PYTHON
from llama_cpp import Llama

llm = Llama.from_pretrained(
    repo_id="Qwen/Qwen2.5-7B-Instruct-GGUF",
    filename="qwen2.5-7b-instruct-q4_k_m.gguf",
    n_ctx=4096,
    n_gpu_layers=-1,
    verbose=False,
)

output = llm.create_chat_completion(
    messages=[{"role": "user", "content": "Hello!"}],
)
print(output["choices"][0]["message"]["content"])

コピー&ペーストするだけで使用でき、ドキュメントを読む時間を省けます。

高度な構成オプション

ユースケースによるフィルタリング

WhichLLM はタスクタイプによるモデルのフィルタリングをサポートしています:

BASH
# プログラミングに最も適したモデルを選択
whichllm --profile code

# 一般的な対話
whichllm --profile general

# 数学的推論
whichllm --profile math

# ビジュアル/マルチモーダル
whichllm --profile vision

量子化精度によるフィルタリング

BASH
# Q4_K_M 量子化のみを推奨
whichllm --quant Q4_K_M

# より多くの結果を表示
whichllm --top 20

# 最小速度要件
whichllm --min-speed 30

エビデンスレベル制御

WhichLLM は各モデルの得点にエビデンス等級を付与しており、推奨の信頼度を制御できます:

BASH
# 厳格モード:直接ベンチマークデータがあるモデルのみを推奨
whichllm --evidence strict

# ベースモード:同シリーズモデルの世代横断的マッチングを許可
whichllm --evidence base

JSON 出力:スクリプト統合

WhichLLM を自動化ワークフローに統合:

BASH
# 最佳モデルの HuggingFace ID を取得
whichllm --top 1 --json | jq -r '.models[0].model_id'

# 最佳コーディングモデルの完全情報を取得
whichllm --profile code --top 3 --json | jq '.models[] | {name: .model_id, score: .score, speed: .estimated_tok_per_sec}'

出力例:

JSON
{
  "models": [
    {
      "model_id": "Qwen/Qwen3.6-27B-GGUF",
      "score": 92.8,
      "estimated_tok_per_sec": 27.3,
      "speed_confidence": "high",
      "quant": "Q5_K_M"
    }
  ]
}

スコアリングメカニズムの詳細

WhichLLM のスコアリングメカニズムはその核心であり、单独で説明する価値があります。

データソース

WhichLLM は以下のベンチマークデータを集約しています:

  • LiveBench — リアルタイム生成の最新評価
  • Artificial Analysis — サードパーティ独立テストプラットフォーム
  • Aider — AI プログラミングアシスタントベンチマーク
  • Chatbot Arena ELO — LMSYS のクラウドソーシング评分
  • Open LLM Leaderboard — HuggingFace 公式ランキング
  • マルチモーダル/ビジュアル評価 — 該当する場合

スコアリングルール

  1. 大きいほど良いわけではない:27B モデルがより高い得点を得れば、32B モデルの前に並びます
  2. 时效減衰:2024年のモデルが歴史的高得点のために2026年の新モデルを圧迫することはありません
  3. 信頼度階層:各スコアにはエビデンス等級が付与されています: - direct — そのモデル、その量子化方式に直接ベンチマークデータがある - variant — 同型番異なる量子化バージョンのデータ - base — ベースモデルのデータ(世代横断的推論) - interpolated — 補間估算 - self-reported — 開発者自行報告のデータ
  4. 偽造防止メカニズム:信頼できない虚偽のアップロードデータを拒否し、小型の魔改モデルが大モデルのスコアを借用することを防止

実測:異なるハードウェアの最佳選択

WhichLLM の最新データ(2026年6月)によると、異なるハードウェア構成の推奨は以下の通りです:

ハードウェア VRAM 最佳推奨 速度
RTX 5090 32 GB Qwen3.6-27B Q6_K (score 94.7) ~40 t/s
RTX 4090 / 3090 24 GB Qwen3.6-27B Q5_K_M (score 92.8) ~27 t/s
RTX 4060 8 GB Qwen3-14B Q3_K_M (score 71.0) ~22 t/s
Apple M3 Max 36 GB Qwen3.6-27B Q5_K_M (score 89.4) ~9 t/s
純 CPU 実行 — gpt-oss-20b (MoE) Q4_K_M (score 45.2) ~6 t/s

💡 注意:MoE(混合エキスパート)モデルのアクティブなパラメータは総パラメータよりもはるかに少ないため、同等のハードウェアで速度が速くなります。WhichLLM のスコアリングメカニズムはこの点を考慮しています。

類似ツールとの比較

機能 WhichLLM Ollama LM Studio LocalAI
自動で最佳モデルを推奨 ✅ ❌ ❌ ❌
GPU シミュレーション ✅ ❌ ❌ ❌
ベンチマークデータランキング ✅ ❌ ❌ ❌
アップグレード計画 ✅ ❌ ❌ ❌
コードスニペット生成 ✅ ❌ ❌ ❌
ワンクリックチャット ✅ ✅ ✅ ✅
JSON 出力 ✅ ✅ ❌ ❌
CLI 軽量 ✅ ✅ ❌ ✅

Ollama は依然としてモデルを実行するための良い選択肢ですが、WhichLLM はモデルを選択するという問題を解決します——これら2つは実は補完関係にあります:WhichLLM で最佳モデルを見つけ、Ollama や他のツールで実行します。

実践シナリオ

シナリオ一:新規グラフィックカードの購入決定

RTX 3060 からアップグレードしたいが、予算は RTX 5070 または RTX 4090 の中古を購入できる程度:

BASH
# 現在のハードウェアをシミュレート
whichllm --gpu "RTX 3060"

# アップグレードオプションをシミュレート
whichllm upgrade "RTX 3060" "RTX 5070" "RTX 4090"

出力結果を比較し、各カードがどのようなモデルを動かせるか、速度はどうかなどを確認し、理性的に決定します。

シナリオ二:プロジェクトへのモデル選択アドバイス

チームがローカル RAG システムを開発し、推論モデルを選択する必要があります:

BASH
# CI サーバー構成でテスト
whichllm --gpu "RTX 4090" --profile code --json | jq

JSON 出力を直接使用して決定文書に統合します。

シナリオ三:エッジデバイスでのデプロイ

BASH
# CPU only モード
whichllm --cpu-only --top 10

IoT や組み込みシナリオ向けに、CPU 推論に最も適した小型モデルを見つけます。

よくある質問

Q: WhichLLM はモデルをローカルにダウンロードしますか?

A: 默认情况下、whichllm は HuggingFace API とローカルキャッシュデータを照会するだけで、モデルをダウンロードしません。whichllm run コマンドのみがモデルをダウンロードします。

Q: モデルデータを更新するにはどうすればよいですか?

BASH
whichllm --refresh

キャッシュを強制更新し、HuggingFace 上の最新モデルを取得します。

Q: ネットワーク環境がない場合はどうすればよいですか?

A: WhichLLM にはキャッシュメカニズムが組み込まれており、オフライン状態では事前にキャッシュされたスナップショットデータを使用します。

Q: AMD グラフィックカードをサポートしていますか?

A: はい、WhichLLM は NVIDIA、AMD、Apple Silicon、純 CPU モードをサポートしています。

まとめ

WhichLLM は、ローカル LLM 開発者が直面する核心的な痛点を解決しました:大量のモデルの中から自分のハードウェアに最も適したものを見つけること。その亮点は以下の通りです:

  1. エビデンスに基づくスマートランキング——単純にパラメータサイズでソートするのではなく、実際のベンチマークデータと时效性を総合的に考慮
  2. GPU シミュレーション機能——ハードウェア購入前にパフォーマンスをテストし、衝動買いを回避
  3. ワンクリック統合——推奨、チャット、コード生成まで、一つのツールで全て解決
  4. スクリプト化可能——JSON 出力により、自動化ワークフローへの統合が容易

ローカル LLM に入門したばかりの開発者であろうと、生産環境を構築しているチームであろうと、WhichLLM は数時間の試行錯誤時間を節約してくれます。


プロジェクト情報: - GitHub: github.com/Andyyyy64/whichllm - ライセンス: MIT - インストール: pip install whichllm または brew install andyyyy64/whichllm/whichllm