sparkle/models/README.md
fiser_jun 4745f264b2
2026-08-04 14:34:00 +08:00

2.3 KiB
Raw Blame History

模型与专家数据(不入库,请本机下载/生成)

为什么要做

目标不是「把 80B 常驻塞进 64G」而是用本机 64G 统一内存 做压力验证:把约 77G 专家权重 以流式专家池压到约 33G 常驻,在 8bit 下跑通 Qwen3-Next-80B-A3B。

验证点对应下游的 黄金拐点Qwen3 30B 8bit A3B 一类模型,用同一套流式装载思路,能放进 32G / 16G 统一内存机器,相对「整模进内存」可 节省 50% 以上统一内存。本仓库的 80B @ 64G 是这条路径的上限探针;量产形态落在更小机型上的 30B 拐点模型。


运行依赖版本

权重本身不绑版本,但本仓库预编译扩展与锁文件对齐如下(换版本可能无法 import native_moe_ext 或加载 8bit

要求 / 已验证
Python 3.14.*(已验证 3.14.6;须匹配 native_moe_ext.cpython-314-darwin.so
mlx >=0.31(锁文件 0.31.2
mlx-lm >=0.31(锁文件 0.31.3
numpy >=2.0(锁文件 2.4.6
fastapi >=0.115(锁文件 0.140.0
uvicorn >=0.30(锁文件 0.51.0
textual >=0.80(锁文件 8.2.8

安装:在仓库根目录 uv sync(或使用已有 .venv)。完整约束见根目录 pyproject.toml / uv.lock。换 Python 小版本需 make -C native/ext native_moe_ext 重编 .so

权重体积约 160GB,不进 Git。按下面准备后目录应类似

models/
├── Qwen3-Next-80B-A3B-Instruct-MLX-8bit/   # ~79GB 主模型
├── experts_8bit_g64/                         # ~77GB 专家 blob运行时常驻约 33G
└── qn_mtp_weights.safetensors                # ~3.1GB MTP

下载NAS

全部模型与专家数据从 NAS 共享下载:

解压/放置到本仓库 models/ 下,目录结构与上文一致即可。

说明:本仓库当前跑通的是 80B 探针;包内若含 Qwen3-30B-A3B-Instruct-2507-MLX-8bit,供下游 16G/32G 机型对照,不替代本机 80B 数据准备。

可选

prefix_snapshots/ 会在首次跑通后自动生成,可不预置。