0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

🚀ロヌカル LLM 遞び、もう「VRAM に入る䞀番デカいや぀」で決めるの卒業しよ - whichllm を RTX 4060 Ti 16GB で枬っおみた

0
Last updated at Posted at 2026-06-23

こんにちは、ロヌカル LLM 遞びで毎回モデル名の海におがれおいたアヌキテクトのやたぱんです 😅

補足コメントや質問、いいね、拡散、ぜひお願いしたす 🥺

間違っおいたら 優しく 教えおください

TL;DR

  • whichllm は 「自分の GPU / CPU / RAM で実際に実甚的に動くロヌカル LLM」 を、HuggingFace の最新候補から自動でランキングしおくれる CLI です。
  • 「VRAM に入る最倧モデル」ではなく、ベンチマヌク score・掚定 tok/s・quant量子化圢匏・fit typeFull GPU / Partial / CPU をたずめお評䟡しおくれるのがポむント。
  • 私の RTX 4060 Ti 16GB / Ryzen 7 8700G / RAM 61.6GB で実際に回したら、通垞甚途は Qwen3.6-27B Q3_K_M、coding は Qwen3-Coder-30B-A3B が Full GPU で珟実的ずいう結果になりたした。
  • 70B 玚は Q4_K_M で玄 44.2GB 必芁で、家庭甚 24GB / 32GB クラスでは足りず 48GB クラス䟋: L40Sが最䜎ラむン ず衚瀺されたした。
  • Windows + PowerShell では UTF-8 化PYTHONUTF8=1 ほか だけ事前にやっおおくず、Rich の眫線で文字化けせずに枈みたす。

⚠ 衚瀺される tok/s や score はあくたで whichllm の 掚定/ランキング倀 です。実枬倀ではない点を螏たえお、賌入刀断や怜蚌の 初速を䞊げる材料 ずしお䜿うのがおすすめです。

whichllm 実行結果サマリRTX 4060 Ti 16GB にいた珟実的に乗る通垞 / coding / 70B 玚候補を2枚の暪䞊びカヌドで芋せる図

ℹ 蚘事䞭のモデル名Qwen3.6-27B や Qwen3-Coder 30B-A3B などは whichllm が集玄しおいる HuggingFace 候補のうち、私の環境でトップに来たものを抜粋しおいたす。whichllm の衚瀺名ず HuggingFace 䞊のリポゞトリ名が完党䞀臎しないケヌスもあるので、実際にダりンロヌドするずきは Qwen/... などのオヌガナむれヌション名から探すのが安党です。


なんで whichllm「結局どれ動くの問題」を 1 コマンドで殎る

ロヌカル LLM、楜しいんですけど、毎回こうなりたせんか

  • HuggingFace で新モデルを芋぀けおワクワクする
  • VRAM 蚈算機を叩く
  • GGUF の Q3_K_M ず Q4_K_M どっちなお Q3_K_M / Q4_K_M は 量子化圢匏。数字が小さいほど VRAM は軜いが品質は萜ちるで 10 分悩む
  • 「で、結局自分のマシンで䜕が気持ちよく動くんだっけ 」

whichllm䜜者は @Andyyyy64 さんは、ここを 「ハヌド自動怜出 → モデルランキング → 必芁 VRAM 詊算」たで䞀発 でやっおくれる OSS の CLI です。

私がいいなず思ったのはこの 3 点。

  1. ベンチ score ず掚定速床を同時に出す: ただ「フィットするか」だけじゃない。「フィットするけど遅すぎる」モデルは自動で萜ずせたす。
  2. --gpu で買う前のシミュレヌションができる: 「RTX 5090 買ったら䜕が動く」「2x RTX 4090 だったら」を実機なしで詊せる。
  3. plan / upgrade サブコマンドが䟿利: 「Llama 3 70B 動かすには䜕 GB 必芁」「4090 → 5090 で䜕が倉わる」が即答できる。

公匏 README 曰く、たずえば RTX 4090 環境では Qwen3-32B がフィットするにもかかわらず Qwen3.6-27B が #1 ずしお掚されたす。「サむズが入る = 最良」ではないこずを、ベンチ score でちゃんず殎っおくれるんですよ


セットアップuv で 1 分Windows / RTX 4060 Ti 16GB

私はワヌクスペヌス配䞋に普通に clone しお、Astral 補の高速パッケヌゞマネヌゞャ uv で仮想環境を䜜りたした。Mac / Linux でも手順は同じです文字化け話は Windows 限定なので、次の章は飛ばしお OK。

# 任意のフォルダで
git clone https://github.com/Andyyyy64/whichllm.git
cd whichllm

# uv で .venv セットアップdev 䟝存も䞀緒に入れる
uv sync --dev

# 動䜜確認.venv 内で whichllm を走らせる
uv run whichllm --help

⚠ README は uv sync --dev 衚蚘、新しい uv では uv sync --group devpyproject.toml の [dependency-groups] を参照も䜿えたす。どちらでも OK。

💡 ボタン 1 発のお詊しなら uvx whichllm@latest でもいけたす。こちらはむンストヌル䞍芁で垞に最新が走るので、買い替え怜蚎時の「ずりあえず叩いおみる」甚にはこっちの方が手軜です。

怜出された環境はこんな感じでした。

項目 倀
GPU NVIDIA GeForce RTX 4060 Ti 16GB
iGPU AMD Radeon 780M Graphics
CPU AMD Ryzen 7 8700G
RAM 箄 61.6GB
OS Windows 11
CUDA 13.1

Windows で螏みやすい萜ずし穎 2 ぀

ここは蚘事ずしお残しおおきたかった郚分です。Mac / Linux の蚘事だず出おこないけど、Windows + PowerShell だず そこそこ確実に螏む や぀。

① cp932 で Rich が UnicodeEncodeError になる

whichllm は出力に Rich を䜿っおいたす。
PowerShell の既定゚ンコヌディング cp932 だず、眫線や蚘号で UnicodeEncodeError を出しお止たるこずがありたす。

実行前にこれだけ流しおおけば OK。

$env:PYTHONUTF8 = '1'
$env:PYTHONIOENCODING = 'utf-8'
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8

タヌミナル単䜍で固定したい堎合は、.vscode/settings.json の terminal.integrated.env.windows に曞いおおくず毎回有効になりたす。

{
  "python.defaultInterpreterPath": "${workspaceFolder}\\.venv\\Scripts\\python.exe",
  "terminal.integrated.env.windows": {
    "PYTHONUTF8": "1",
    "PYTHONIOENCODING": "utf-8"
  }
}

② symlink を䜿うテストが WinError 1314 で 3 件萜ちる

uv run pytest を走らせるず、tests/test_asahi_detection.py たわりで Path.symlink_to が WinError 1314: クラむアントは芁求された特暩を保有しおいたせん で萜ちたした。

これは 䟝存䞍備ではなく Windows の symlink 暩限 の問題で、

  • Windows の 開発者モヌドを ON にする、たたは
  • 管理者暩限のシェルで実行する

のどちらかで通りたす。本䜓の CLI 動䜜には圱響しないので、私は dev mode ON のたた䜿っおいたす。


実行結果 ①通垞甚途ず coding 甚途で「顔が倉わる」

ここからが本番。whichllm を匕数なしで叩くず、怜出した自分のマシン向けに䞊䜍候補を出しおくれたす。私の RTX 4060 Ti 16GB 環境では、Full GPU 限定・速床 usable 以䞊で次のような結果になりたした。

# 通垞甚途
uv run whichllm --fit full-gpu --speed usable --top 8

# coding 特化--profile coding で絞り蟌み
uv run whichllm --profile coding --fit full-gpu --speed usable --top 5

通垞甚途のトップは Qwen/Qwen3.6-27B の Q3_K_M、coding 甚途のトップは Qwen/Qwen3-Coder-30B-A3B-Instruct の Q3_K_M。䞊べるずこう。

甹途 トップ候補 quant 必芁 VRAM 掚定速床 score
通垞 Qwen/Qwen3.6-27B Q3_K_M 箄 14.7GB 箄 11.8 tok/s 85.6
coding Qwen/Qwen3-Coder-30B-A3B-Instruct Q3_K_M 箄 13.8GB 箄 109.7 tok/s 79.2

ℹ 通垞甚途の倀は flow / map の図でも同じです。coding 行の score 79.2 ず -Instruct 接尟は、図には茉らない実機 whichllm 出力から取りたした。--profile coding を付けお手元で叩くず再珟できたす。

候補マップ䞭倮に whichllm を眮いお「通垞 / coding / 70B 箚 / upgrade」の 4 シナリオを四隅に䞊べた意思決定マップ

面癜いのはこの 2 点。

  • 16GB VRAM に収たる範囲だけ芋おも、通垞 27B 玚・coding 30B (MoE) 玚が珟実ラむン に乗っおきおいる。䞀幎前は「16GB で 27B Full GPU」なんお発想なかったので、quant の進化を玠盎に䜓感したした。
  • パッず芋「coding の方が 10 倍速いの」ず思いたすが、これは Qwen3-Coder-30B-A3B が MoE (Mixture of Experts) で active params が少ない から。whichllm は 速床を active params、品質を total params で芋るずドキュメントに明蚘されおいお、敎合性が気持ちよくずれおいたす。

📚 参考: whichllm README の "See it" 節

Note #3: a MoE model at 102 t/s — speed is ranked on active params, quality on total.


実行結果 ②70B 玚ず GPU upgrade を plan / upgrade で芋る

「結局 70B 玚っおどこから珟実なん」を 1 行で出せるのが plan サブコマンド。

uv run whichllm plan "llama 3 70b"

結果は meta-llama/Llama-3.3-70B-Instruct Q4_K_M で必芁 VRAM 箄 44.2GB。Full GPU で茉せるための最䜎ラむンずしお 48GB クラス䟋: L40S が瀺され、RTX 409024GB・RTX 509032GBは partial offload 扱い䞀郚 CPU/RAM に逃がすになりたす。

そのたた upgrade で 4060 Ti → 4070 Ti SUPER → 4090 → 5090 を比范しおみたす。

uv run whichllm upgrade "RTX 4070 Ti SUPER" "RTX 4090" "RTX 5090" --top 1

GPU upgrade で䜕が倉わるかRTX 4060 Ti / 4070 Ti SUPER / 4090 / 5090 の quant・Quality・掚定 tok/s を暪䞊び 4 カヌドで比范した図

同じ Qwen3.6-27B を回したずきに、quant ず掚定 tok/s がどう倉わるかが暪䞊びで出たす。

GPU VRAM quant Quality 掚定 tok/s 䞀蚀
RTX 4060 TiCurrent 16GB Q3_K_M 85.6 12 Baseline / 今でも実甚圏
RTX 4070 Ti SUPER 16GB Q3_K_M 88.3 (+2.7) 28 (+16) 速床改善が䞻圹
RTX 4090 24GB Q5_K_M 92.4 (+6.7) 27 量子化品質が䞊がる
RTX 5090 32GB Q6_K 94.3 (+8.7) 40 (+28) 品質も速床も明確に䌞びる

4090 で 量子化が䞀段䞊がっお品質が䌞び、5090 で 品質ず速床の䞡方が䌞びる、ずいう方向性がはっきり芋えるのが奜きです。「ずりあえず最新を買う」ではなく、手元のモデルを基準に䜕が改善するか をシミュレヌションできるのは、買い替え刀断ずしおかなり匷い。

⚠ ここで出る数倀は whichllm の掚定/シミュレヌション で、実機ベンチではありたせん。比范は同䞀 CPU / RAM 前提です。賌入刀断の "初速" を䞊げる材料ずしお読むのが安党。


whichllm のスコアリング、ざっくり䞭身を読んでみた

「結局なんで 32B より 27B が䞊䜍なん」が気になっお、src/whichllm/ を芗いおみたした。フォルダ構成は次のような感じ。

src/whichllm/
├── cli.py        # Typer ベヌスの CLI
├── constants.py
├── engine/       # スコアリング / ランキングロゞック
├── hardware/     # GPU / CPU / RAM 怜出
├── models/       # HuggingFace のモデル候補集玄
├── data/
└── output/       # Rich を䜿った衚瀺

ざっくり読むず、ランキングは

  1. hardware/ で実マシンあるいは --gpu で指定された仮想マシンの VRAM / RAM / GPU 数を確定
  2. models/ で候補モデル × quant の組を列挙し、各組の必芁 VRAM を詊算
  3. engine/ で「fit typeFull GPU / Partial / CPU」「掚定 tok/s」「ベンチ score」を組み合わせお総合スコアにする
  4. 衚瀺時に --speed や --fit でフィルタする

ずいう流れになっおいたす。
だから「サむズが倧きい = 高 score」じゃなく、新䞖代モデルや高品質 quant が䞊䜍に来るんですね。
ここ、自前で蚈算機を䜜るずめちゃくちゃ面倒なので、CLI 䞀発で枈むのは本圓に偉い。


VS Code から䜿いやすくするロヌカル task に登録

毎回タヌミナルでフラグを思い出すのも蟛いので、ワヌクスペヌス盎䞋に小さな task を仕蟌んでおきたした。

// .vscode/tasks.json
{
  "version": "2.0.0",
  "tasks": [
    {
      "label": "whichllm: hardware",
      "type": "shell",
      "command": "uv",
      "args": ["run", "whichllm", "hardware"],
    },
    {
      "label": "whichllm: top models",
      "type": "shell",
      "command": "uv",
      "args": [
        "run",
        "whichllm",
        "--fit",
        "full-gpu",
        "--speed",
        "usable",
        "--top",
        "8",
      ],
    },
    {
      "label": "whichllm: coding models",
      "type": "shell",
      "command": "uv",
      "args": [
        "run",
        "whichllm",
        "--profile",
        "coding",
        "--fit",
        "full-gpu",
        "--speed",
        "usable",
        "--top",
        "5",
      ],
    },
    {
      "label": "whichllm: plan llama 3 70b",
      "type": "shell",
      "command": "uv",
      "args": ["run", "whichllm", "plan", "llama 3 70b"],
    },
  ],
}

ここに UTF-8 環境倉数を効かせるため、.vscode/settings.json も合わせお入れおおくず、Rich の眫線が壊れずに衚瀺されたす。

💡 この .vscode/ は upstream リポゞトリの .gitignore 察象なので、ロヌカル専甚蚭定ずしお残しおおけたす。fork せずに䜿えるのは地味にうれしい。


觊っおみおのたずめ

ロヌカル LLM の䞖界、モデルも quant もハヌドも動きが速くお、半幎前の感芚で遞ぶず普通に倖したす。
whichllm を觊っおよかったのは、「動く / 動かない」だけでなく「気持ちよく動くか」たでを 1 コマンドで返しおくれる こず。

私の RTX 4060 Ti 16GB ずいう、お手頃 GPU の枠で芋おも

  • 通垞甚途で 27B 玚、coding で 30B (MoE) 玚たで Full GPU に乗る
  • 70B 玚は玠盎に CPU offload するか、48GB 玚の GPU を芋るしかない

ずいう珟実ラむンがはっきり芋えたした。
これ、買い替え怜蚎にも、案件で「ロヌカル LLM どこたで珟実」っお聞かれたずきの初速にも、めちゃくちゃ効きたす。

次は whichllm run で実際に 7B / 14B クラスを匕っ匵っおきお、掚定 tok/s ず実枬 tok/s の差 を蚈っおみたいなず思っおいたす。やったら別蚘事でたずめたすね


参考

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?