Nodegrove VRAM: can I run it? について
Nodegrove VRAMは、オープンウェイトLLMが指定GPUに収まるか、代替モデルは何かを推定するMCPサーバーです。ベンチマークではなく、モデルとハードウェアの仕様から必要メモリと速度上限を算出します。
主な機能
- 01指定GPUでのモデル適合性確認
- 02GPUごとに収まるモデルを比較
- 03量子化とコンテキスト別のVRAM推定
- 04Hugging Faceリポジトリのモデル設定読み込み
- 05メモリ内訳と速度上限の提示
活用シーン
- 01導入前にGPUでモデルが動くか確認
- 02量子化方式とコンテキスト設定を比較
- 03GPUメモリを超えるモデルの代替を探す
MCP 対応
GPU適合性の確認、モデル検索、VRAM推定を行う6種類の読み取り専用ツールを提供します。リモートエンドポイントまたはローカルのstdioサーバーとして利用できます。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://mcp.nodegrove.io/mcpclaude mcp add --transport http io-nodegrove-vram https://mcp.nodegrove.io/mcp{"mcpServers":{"io-nodegrove-vram":{"type":"http","url":"https://mcp.nodegrove.io/mcp"}}}Cursor で開く{"servers":{"io-nodegrove-vram":{"type":"http","url":"https://mcp.nodegrove.io/mcp"}}}VS Code で開く{"mcpServers":{"io-nodegrove-vram":{"type":"http","url":"https://mcp.nodegrove.io/mcp"}}}{"mcpServers":{"io-nodegrove-vram":{"serverUrl":"https://mcp.nodegrove.io/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
6| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| gpu | string | いいえ | list_gpus の GPU(id または名前。例: "rtx-4090"、"4090"、"M4 Max")。 |
| model | string | いいえ | list_models にあるモデル(ID または名前。例:"llama-3.3-70b"、"Llama 3.3 70B")、または任意の Hugging Face リポジトリ ID(例:"Qwen/Qwen3-8B")。config.json からライブで読み取ります。 |
| quant | enum | いいえ | 重みの量子化:fp16(FP16 / BF16)、q8(Q8_0)、q6(Q6_K)、q5(Q5_K_M)、q4(Q4_K_M)、q3(Q3_K_M)。一般的なデフォルトは q4 です。fp16 | q8 | q6 | q5 | q4 | q3 |
| context | integer | いいえ | コンテキスト内に保持するトークン数:プロンプトと会話の合計。 |
| vram_gb | number | いいえ | list_gpus にないカードのメモリ(GB)。Mac の場合はユニファイドメモリを指定し、apple_silicon: true にします。 |
| kv_cache | enum | いいえ | KV キャッシュの精度。ほとんどのランタイムでは fp16 が使われます。q8 ではキャッシュが半分になります。fp16 | q8 |
| architecture | object | いいえ | 名前ではなく、config.json の値でモデルを記述します。 |
| architecture.layers | integer | はい | num_hidden_layers |
| architecture.head_dim | integer | はい | head_dim、または hidden_size ÷ num_attention_heads |
| architecture.kv_heads | integer | はい | num_key_value_heads |
| architecture.params_b | number | はい | 総パラメーター数(十億単位)。混合エキスパートモデルでは、すべてのエキスパートを含みます。 |
| architecture.kv_groups | array | いいえ | 標準以外のアテンションの場合のみ:同じ方法でキャッシュするレイヤー群ごとに 1 項目を指定します。layers × kv_heads × head_dim の代わりに使用します。 |
| architecture.fixed_state_gb | number | いいえ | 線形アテンションまたは Mamba レイヤーの固定リカレント状態(GB)。 |
| architecture.native_context | integer | いいえ | モデルがサポートするコンテキストウィンドウ(トークン数)。 |
| architecture.active_params_b | number | いいえ | トークンごとに読み取るパラメーター数(十億単位、混合エキスパートモデルのみ)。 |
| apple_silicon | boolean | いいえ | vram_gb は Apple のユニファイドメモリを指します。デフォルトでは、GPU はその約 75% を使用できます。 |
| bandwidth_gb_s | number | いいえ | 速度上限の推定に使用する、メーカー仕様のメモリ帯域幅(GB/s)。 |
| active_params_b | number | いいえ | Hugging Face から読み取った混合エキスパートモデルについて、トークンごとに読み取るパラメーター数(十億単位、モデルカードから取得)。速度上限を設定します。 |
詳細
実行できますか?
お使いの GPU でオープンウェイト LLM を実行できるか、また代わりにどのモデルなら実行できるかを AI アシスタントに伝える MCP サーバーです。
nodegrove.io の計算ロジックを、Hugging Face 上のあらゆるモデルとあらゆるカードで利用できます。
RTX 4090 で Llama 3.3 70B を実行できますか?
いいえ。コンテキスト長 8,192 トークンの Llama 3.3 70B を Q4_K_M で実行するには 45.8 GB が必要ですが、RTX 4090 でヘッドルームを確保した後に使えるのは 22.8 GB です。23 GB 足りません。代わりに実行できるものは次のとおりです。
- コンテキスト長を短くしても解決しません。会話のトークンを 1 つも追加する前に、重みだけで 43.1 GB 必要です。
- RTX 6000 Ada(48 GB)なら、ぎりぎり収まる見込みです。ヘッドルーム確保後の 45.6 GB に対して必要量は 45.8 GB です。KV キャッシュを Q8 にすると 44.4 GB となり、収まります。
- 指定どおりに実行できる、この中で最小のカードは、使用可能容量 80 GB の A100 です。
- エキスパート混合モデルは密モデル相当として計算した場合、これらの設定で実行できるカード最大のモデルは Gemma 4 31B です。必要量は 20.9 GB、速度は約 39 トークン/秒です。
これは、nodegrove.io のGPU 互換性チェッカーと同じコードから出力されたサーバー自身の回答を、一字一句そのまま掲載したものです。すべての数値は、モデルの config.json とカードの公開仕様に基づく計算式から導かれています。ベンチマークも推測もありません。無料で読み取り専用、アカウントやキーも不要です。
接続
リモート:インストール不要
https://mcp.nodegrove.io/mcp
# Claude Code (add --scope user to have it in every project)
claude mcp add --transport http nodegrove-vram https://mcp.nodegrove.io/mcp
# Codex CLI
codex mcp add nodegrove-vram --url https://mcp.nodegrove.io/mcp
# Gemini CLI
gemini mcp add -s user --transport http nodegrove-vram https://mcp.nodegrove.io/mcp
- Claude(claude.ai およびデスクトップアプリ):Customize → Connectors → Add → Add custom connector を選択します。名前に
Nodegrove VRAMを入力し、URL を貼り付けて、No sign-in を選択します。その後、チャットで + → Connectors から有効にします。 - ChatGPT: Settings → Security and login で Developer mode をオンにします。chatgpt.com/plugins で No Authentication を選択して URL を追加し、チャットで + → Developer mode から選択します。
その他のクライアントの多くは、mcp.json に設定を記述します。Cline、Zed、Open WebUI、Devin Desktop などの設定手順については、nodegrove.io/mcp をご覧ください。
{ "mcpServers": { "nodegrove-vram": { "url": "https://mcp.nodegrove.io/mcp" } } }
ローカル:stdio 経由
Node.js 20 以降が必要です。
{
"mcpServers": {
"nodegrove-vram": {
"command": "npx",
"args": ["-y", "@nodegrove/vram-mcp"]
}
}
}
ツール
| ツール | 尋ねること | 回答内容 |
|---|---|---|
can_i_run | RTX 4090 で、コンテキスト長 32k の Llama 3.3 70B を実行できますか? | 実行可能か、余裕が少ないか、不可か、メモリの割り当て、速度の上限、収まる最長のコンテキスト長、そして実行不可の場合は収まるようにするための変更点すべて |
what_fits | 16 GB のカードに最適なモデルは何ですか? | 1 枚のカードで確認した全モデル、おすすめの日常使いモデル、収まる最大のモデル、Q8 で最適なモデル、そして容量が足りずに収まらない最初のモデル |
estimate_vram | Qwen3 32B は 64k でどれくらいの VRAM が必要ですか? | 各量子化での重み、KV キャッシュ、オーバーヘッド、およびそれぞれを収容できる一般的な最小サイズのカード |
estimate_from_hf_repo | Qwen/Qwen3-Next-80B-A3B-Instruct にはどれくらいのメモリが必要ですか? | Hugging Face リポジトリを問わず、config.json から読み取ったアテンション構成、コンテキストを 1,000 トークン増やすごとのコスト、各量子化でのメモリ使用量 |
list_models, list_gpus | 対応している GPU を教えてください。 | スペック、ID、ページへのリンク付きのモデルとカード |
モデル名は、一般的な入力方法(「llama 3.3 70b」、Llama-3.3-70B-Instruct)でも、任意の Hugging Face リポジトリ ID でも指定できます。カード名(「4090」、「M4 Max」)のほか、メモリと帯域幅で説明することもできます。すべての回答には数値がフィールドとして含まれ、nodegrove.io のモデルページとカードページへのリンク、および各数値の前提が記載されます。6 つのツールはすべて読み取り専用です。
数値の算出方法
- メモリは、重み+KV キャッシュ+オーバーヘッドです。重みは、量子化ごとのパラメーター数×1 パラメーターあたりのバイト数で、FP16 は 2.00、Q8_0 は 1.06、Q6_K は 0.82、Q5_K_M は 0.71、Q4_K_M は 0.58、Q3_K_M は 0.47 です。オーバーヘッドは 0.5 GB に重みの 4% を加えた値です。
- KV キャッシュは各モデルのキャッシュ方式に合わせて計算します。 スライディングウィンドウ層はウィンドウサイズで上限に達し、ハイブリッドモデル(線形アテンションまたは Mamba)は少数のフルアテンション層でのみキャッシュが増え、潜在アテンションでは層ごとに圧縮ベクトルを 1 つ保存します。標準的なトランスフォーマーの計算式では、コンテキスト長が大きい場合、これらのモデルの値が何倍にも過大評価されます。
- 収まるとは、ランタイムがアドレス指定できるメモリの 95% 以下に収まることを意味します。85% を超える場合は余裕が少ない状態です。Apple シリコンでは、ユニファイドメモリの約 75% を GPU が使用できます。
- 速度は、メモリ帯域幅 × 0.7 ÷ トークンごとに読み込むアクティブな重みのバイト数です。これは単一ストリームの上限であり、実測値ではありません。数値が大きいほど、実際のランタイムでの速度はこの値を大きく下回ります。
- モデル表は各モデルの
config.jsonから読み取り、Hugging Face と照合しています。その他のリポジトリは、同じルールに基づいてその場で読み取ります。このルールで表のすべての行が再現されます。読み取り側でモデル化できない内容は、推測せず回答で明示します。
すべての定数を含む計算方法の全文は、nodegrove.io/data にあります。同じ数値は CC BY 4.0 のオープンデータセットとして公開されており、DOI 10.5281/zenodo.22966137 から入手できます。
ライブラリとしての計算処理
サーバーは、nodegrove.io のページや計算ツールの基盤となっているパッケージ @nodegrove/llm-math の薄いラッパーです。
npm install @nodegrove/llm-math
import { modelById, estimate } from '@nodegrove/llm-math';
estimate({ ...modelById('llama-3.3-70b')!, quant: 'q4', context: 8192 }).totalGb; // 45.77
プライバシー
リモートサーバーは Cloudflare Workers 上で実行されます。Nodegrove はリクエストログを保存せず、質問内容の記録も残しません。各リクエストには、新しいステートレスなインスタンスが応答し、その後は破棄されます。Cloudflare は、他のウェブサイトと同様に、標準的なエッジログを短期間保持します。リクエストは、アドレスごとに 1 分あたり 120 件までに制限されます。Hugging Face のリポジトリについて質問すると、サーバーはそのリポジトリの公開 config.json とメタデータを取得します。送信されるのはリポジトリ名のみです。ローカル版は huggingface.co 以外には接続せず、同サイトへの接続も、そこでリポジトリについて質問した場合に限られます。詳細:nodegrove.io/privacy。
自分で実行する
リモートエンドポイントは mcp/src/worker.ts です。Cloudflare アカウントにコピーをデプロイするには、mcp/wrangler.jsonc のルートを変更してから、次を実行します。
cd mcp && npm install && npx wrangler deploy
開発
cd llm-math && npm install && npm test
cd mcp && npm install && npm test && npm run build
llm-math/ は数式とデータのパッケージです。mcp/ はサーバーで、stdio エントリ(src/stdio.ts)、Worker(src/worker.ts)、ツール(src/tools.ts)が含まれています。このリポジトリは、サイトでも同じパッケージを使用している Nodegrove のメインリポジトリから公開されています。Issue やプルリクエストを歓迎します。採用された変更は上流に適用され、貢献者としてクレジットされます。
参照元と一致しない数値を見つけましたか?モデル名またはカード名とリンクを添えて、Issue を作成してください。セキュリティ上の問題を報告する場合は、SECURITY.mdをご覧ください。
ライセンス
コードはMITライセンスです。モデルと GPU のデータである llm-math/src/models.ts および llm-math/src/gpus.ts はCC BY 4.0ライセンスです。自由に利用できますが、Nodegrove(nodegrove.io)をクレジットしてください。
モデル名と GPU 名は、それぞれの所有者の商標です。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。