面向分布式 MoE 大模型推理的单卡显存估算与可视化工具。通过调整模型、并行策略、批量规模和缓存精度,可以快速拆解权重、KV Cache、激活值、通信缓冲区及运行时开销,辅助部署前的容量规划。
所有计算都在浏览器中完成,不需要上传配置或推理数据。
- 按模型家族选择主流 MoE 模型,并展示隐藏维度、专家数和 Top-K 等参数。
- 配置 DP、TP、EP,以及 Attention、O-Proj、Embedding、LM Head 和 Shared Expert 的独立 TP 策略。
- 估算单卡权重占用。
- 独立配置 KV Cache 与 Index Cache 的上下文长度、序列数和精度。
- 估算激活值、HCCL buffer、ACLGraph、CANN/PTA/算子与 Device OS 开销。
- 支持 MTP 层数建模,并实时展示各部分占比和总显存。
- 提供浅色/深色界面和响应式布局。
Note
模型列表覆盖多种 MoE 架构,但精细的权重与 KV Cache 拆解目前仅支持部分模型;当前默认且完整支持的是 MiniMax M3。
最终结果按单设备计算,包含:
单卡显存 = 权重 + KV/Index Cache + 激活值 + HCCL buffer
+ ACLGraph + CANN/PTA/算子 + Device OS
其中:
- 权重计算考虑 MXFP8/MXFP4 payload、分块 scale metadata,以及不同模块的并行切分方式。
- KV Cache 的基础计算复用
kv-cache-calculator。 - 激活值与 HCCL buffer 根据 token 数、并行规模、专家数量和最大 batch size 估算。
- ACLGraph、CANN 及算子开销允许手动配置;Device OS 当前按固定值计入。
- 界面使用 GiB/MiB 展示结果,内部计算保留字节精度。
本工具结果可用于开发阶段验证显存占用,以及部署阶段估算最大并发。实际占用还会受到推理框架版本和算子实现的影响,上线前请使用目标环境进行实测。
- Node.js
>=22.13.0 - npm
git clone https://github.com/Eco-Sphere/infer-memory-visualizer.git
cd infer-memory-visualizer
npm install
npm run dev开发服务器启动后会在终端输出本地访问地址。项目基于 React、TypeScript 和 vinext 构建。
npm run dev # 启动开发服务器
npm run lint # 运行 ESLint
npm test # 构建 Pages 产物并运行全部测试
npm run build # 创建生产构建
npm run build:pages # 创建 GitHub Pages 静态产物开发计算逻辑时,也可以单独运行测试文件:
node --test tests/weight-model.test.mjs
node --test tests/kv-cache-model.test.mjsapp/
├── page.tsx # 计算器界面与整体显存建模
├── models.ts # 模型参数、能力声明与数据来源
├── weight-model.ts # 权重显存计算
├── kv-cache-model.ts # KV/Index Cache 计算适配
└── globals.css # 全局样式
tests/ # 计算逻辑与渲染测试
scripts/build-pages.mjs # GitHub Pages 构建脚本
worker/ # Cloudflare Worker 入口
模型参数应优先来自模型发布方的官方配置或文档,并在 app/models.ts 中保留来源链接。修改公式或新增模型时,请同时添加覆盖关键字节数、精度和并行切分行为的回归测试。
如果你发现模型参数、计算假设或结果存在问题,欢迎提交 Issue。请附上输入配置、预期结果、实际结果和可验证的数据来源。
欢迎贡献模型支持、计算修正、测试、界面优化和文档改进。开发流程及 Pull Request 要求请参阅 CONTRIBUTING.md。
kv-cache-calculator:KV Cache 占用计算工具。vinext:基于 Vite 的 Next.js 兼容运行时。
本项目采用 MIT License 开源。
