关于 Nodegrove VRAM: can I run it?
Nodegrove VRAM 是 MCP 服务,用于估算开源权重 LLM 是否适配指定 GPU,以及有哪些可行替代模型。它依据模型和硬件规格计算显存需求与速度上限,而非采用基准测试结果。
主要功能
- 01检查模型是否适配指定 GPU
- 02比较单张 GPU 可运行的模型
- 03按量化方式和上下文估算显存
- 04读取 Hugging Face 仓库中的模型配置
- 05提供显存拆分和速度上限
适用场景
- 01部署前确认模型是否适配 GPU
- 02比较量化方式和上下文选项
- 03模型超出显存时查找替代方案
MCP 相关
该服务提供六种只读工具,用于 GPU 兼容性检查、模型查询和显存估算。可通过远程端点或本地 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 | 否 | 上下文中保留的 token 数:提示词加对话。 |
| 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 | 否 | 仅适用于非标准注意力:每组采用相同缓存方式的层对应一个条目。替代 layers × kv_heads × head_dim。 |
| architecture.fixed_state_gb | number | 否 | 线性注意力或 Mamba 层的固定循环状态,单位为 GB。 |
| architecture.native_context | integer | 否 | 模型支持的上下文窗口,单位为 token。 |
| architecture.active_params_b | number | 否 | 每个 token 读取的参数量,单位为十亿(仅适用于混合专家模型)。 |
| apple_silicon | boolean | 否 | vram_gb 表示 Apple 统一内存;默认情况下,GPU 可使用其中约 75%。 |
| bandwidth_gb_s | number | 否 | 来自制造商规格的内存带宽,单位为 GB/s,用于估算速度上限。 |
| active_params_b | number | 否 | 从 Hugging Face 读取的混合专家模型每个 token 读取的参数量,单位为十亿(取自其模型卡)。用于设定速度上限。 |
详细介绍
能运行吗?
一个 MCP 服务,可告知你的 AI 助手:开放权重大模型是否适合你的 GPU,以及有哪些更合适的选择。
这是 nodegrove.io 背后的计算方法,适用于 Hugging Face 上的任何模型和任何显卡。
我的 RTX 4090 能运行 Llama 3.3 70B 吗?
不能:Llama 3.3 70B 在 Q4_K_M 量化下,使用 8,192 个 token 的上下文需要 45.8 GB,而 RTX 4090 预留余量后有 22.8 GB。还差 23 GB。以下是可行的选择:
- 缩短上下文长度也无济于事:仅权重就需要 43.1 GB,还没开始处理一个对话 token。
- RTX 6000 Ada(48 GB)只差一点:需要 45.8 GB,而预留余量后有 45.6 GB。将 KV 缓存设为 Q8 后,需要 44.4 GB,就能运行。
- 能按要求准确运行该模型的最小显卡:A100,可用容量为 80 GB。
- 在这些设置下,你的显卡能运行的最大模型(将混合专家模型按其稠密等效规模计算):Gemma 4 31B,需要 20.9 GB,速度约为 39 token/s。
这就是该服务本身给出的答案,原文照录,使用的代码与 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 添加 URL 并选择 No Authentication,然后在聊天中通过 + → 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 显卡最适合什么模型? | 在单张显卡上检查的所有模型,包括推荐的日常选择、能容纳的最大模型、Q8 下的最佳选择,以及第一个超出容量的模型 |
estimate_vram | Qwen3 32B 在 64k 上下文下需要多少 VRAM? | 每种量化下的权重、KV 缓存和开销,以及能容纳每种配置的最小常见显卡 |
estimate_from_hf_repo | Qwen/Qwen3-Next-80B-A3B-Instruct 需要多少内存? | 任意 Hugging Face 仓库,根据其 config.json 读取注意力布局、每 1,000 个上下文 token 的开销,以及每种量化下的内存需求 |
list_models、list_gpus | 你知道哪些 GPU? | 模型和显卡及其规格、ID 和页面 |
模型可以使用人们常用的输入方式命名(“llama 3.3 70b”、Llama-3.3-70B-Instruct),也可以使用任意 Hugging Face 仓库 ID。显卡可以按名称命名(“4090”、“M4 Max”),也可以按其内存和带宽描述。每个回答都会以字段形式列出数据,附上 nodegrove.io 上的模型和显卡页面链接,以及每项数据背后的假设。所有六种工具都为只读。
数值的计算方式
- 内存由权重 + KV 缓存 + 开销组成。权重按参数量 × 每个参数在相应量化下占用的字节数计算: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)只会在少数全注意力层上增加缓存;潜在注意力则为每层存储一个压缩向量。标准 Transformer 公式在长上下文下会高估这些模型数倍。
- 能容纳是指不超过运行时可寻址内存的 95%;超过 85% 时则算勉强。Apple 芯片会为 GPU 提供约 75% 的统一内存。
- 速度按 0.7 × 内存带宽 ÷ 每个 token 读取的活跃权重字节数计算。这是单流速度上限,并非实测值;数值越高,实际运行时的速度就越低于该上限。
- 模型表根据每个模型的
config.json读取,并与 Hugging Face 数据核对。其他任何仓库都会按相同规则实时读取,这些规则能复现表格中的每一行;读取器无法建模的内容会在回答中明确指出,绝不会猜测。
完整方法及所有常量见 nodegrove.io/data。相同数据也以 CC BY 4.0 许可作为开放数据集提供:DOI 10.5281/zenodo.22966137。
将数学计算用作库
此服务是 @nodegrove/llm-math 的轻量封装,nodegrove.io 的页面和计算器都基于该包构建:
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 会短期保留标准边缘日志。每个地址每分钟最多可发出 120 个请求。当你询问 Hugging Face 仓库时,服务会获取该仓库公开的 config.json 和元数据;发送的只有仓库名称。本地版本不会联系其他任何服务,只有在你询问 Hugging Face 仓库时才会联系 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 的主仓库发布,网站也使用同一个包。欢迎在此提交问题和拉取请求;被接受的更改会应用到上游,并注明贡献者。
发现某个数值与其来源不一致?请附上模型或显卡型号及链接,提交问题。如需报告安全问题,请参阅 SECURITY.md。
许可
代码采用 MIT 许可。模型和 GPU 数据(llm-math/src/models.ts 和 llm-math/src/gpus.ts)采用 CC BY 4.0 许可:可用于任何用途,但须注明 Nodegrove(nodegrove.io)。
模型和 GPU 名称是其所有者的商标。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。