Project Maya:在 24GB VRAM 上运行 GLM-5.3-Flash 的开源推理引擎
24GB VRAMで GLM-5.3-Flash を動かす Project Maya の概要
总结了「Project Maya」的概要。
目次
- 1. 前言
- 2. Project Maya 的工作原理
- 2-1. 将模型分散到 VRAM、RAM 和 SSD
- 2-2. 通过 Expert 缓存实现加速
- 2-3. 通过投机式解码实现加速
- 3. 支持模型
- 3-1. 支持的LLM
- 3-2. 量化模型
- 4. Project Maya的推理性能
- 5. 所需的PC环境
1. 前言
在本地LLM中,GPU的VRAM容量是一个巨大的限制。特别是超过300B参数的模型,即使经过量化,仅靠普通GPU的VRAM也难以运行。
「Project Maya」是一个开源推理引擎,旨在利用GPU、CPU、RAM和SSD,在普通PC上运行300B至700B级别的巨型MoE模型。
它基于「Strata」构建,并针对GLM等大型模型进行了改进,以MIT许可证发布。
其主要特点如下:
・支持大型模型:可执行321B至748B规模的MoE模型
・低VRAM需求:将模型分散存储在VRAM、RAM和SSD中
・支持多GPU:最多可使用16块GPU
・加速优化:通过专家缓存和投机解码实现加速
・API兼容:提供与OpenAI/Anthropic兼容的API
2. Project Maya的工作原理
2-1. 将模型分散至VRAM、RAM与SSD
Project Maya的特点是不将整个模型加载到VRAM中,而是利用PC的全部内存。
例如,“GLM-5.3-Flash”是一个拥有321B规模的MoE(混合专家)模型,但在推理时并非使用所有专家。
Project Maya利用这一特性,将模型分散到以下三个层级:
・VRAM:放置频繁使用的专家
・RAM:保存无法放入VRAM的专家
・NVMe SSD:按需读取剩余的专家
通过测量GPU和CPU的性能以及内存容量等,根据PC环境调整配置。这使得即使在无法将整个模型保留在VRAM中的PC上也能运行大型模型。
2-2. 通过专家缓存实现加速
在MoE模型中,根据输入仅选择所需的专家。
Project Maya将常用的专家缓存到VRAM中,并将使用频率较低的专家放置在RAM或SSD上。
由于缓存在对话过程中也会更新,因此通过将常用专家保留在VRAM中,可以减少加载时间。
但是,如果频繁从SSD读取无法容纳在RAM中的专家,则SSD的速度会成为瓶颈。
2-3. 通过投机解码实现加速
Project Maya还支持“投机解码(Speculative Decoding)”。
这是一种通过预先预测多个令牌,并由主模型进行批量验证以提高生成速度的技术。
在GLM-5.3-Flash中,可以使用MTP(多令牌预测)或DFlash2等机制。但是,由于DFlash2的附加模型采用非商业许可证,因此在商业使用时需要注意。
效果因模型和GPU配置而异。
3. 支持的模型
3-1. 支持的LLM
Project Maya 主要面向以下三个模型进行开发。
・GLM-5.3-Flash:321B,活跃参数约18B
・DeepSeek-V4.1-Flash-1017:748B
・MiniMax-M3.1-Flash:428B,活跃参数约23B
针对每个模型都实现了专用的推理处理。
3-2. 量化模型
在Project Maya中,提供了根据内存容量和品质对应的量化模型。
主要模型尺寸如下:
・GLM-5.3-Flash
・Maya-S:96.5GB
・Maya-S24:94.7GB
・Maya-M:116GB
・Maya-L:156.3GB
・DeepSeek-V4.1-Flash-1017
・Maya-XS:277GB
・Maya-S:340GB
・MiniMax-M3.1-Flash
・Maya-XS:93GB
・Maya-S:122GB
原则上,量化精度越高,模型尺寸越大,所需内存容量也越大。不过,实际内存使用量会根据模型的部署方式而有所不同。
GLM-5.3-Flash 报告称,Maya 量化版保持了原始 FP8 模型零样本精度的 97.7% 至 99.2%。但这并不能保证在所有任务中都能保持同等质量。
4. Project Maya 的推理性能
GitHub上刊登了用户提供的基准测试结果。
GLM-5.3-Flash的生成速度如下:
・RTX 5090 32GB × 2 + RTX 4090 48GB × 1:148.6 tokens/s(使用Maya-S、DFlash2)
・RTX 4090 24GB × 4:118 tokens/s(Maya-S24)
・RTX 3090 24GB × 2:53.0 tokens/s(Maya-S24)
・RTX 5090 32GB × 1:30 tokens/s以上(Maya-M)
・RTX 3090 24GB × 1:26.0 tokens/s(Maya-S24)
・RTX 4090 24GB × 1:16.6 tokens/s(Maya-S24)
・DGX Spark × 1:16.5 tokens/s(Maya-S)
特别值得关注的是,即使在配备单张RTX 3090 24GB和128GB RAM的PC上,也能以约26 tokens/s的速度运行321B模型。
通过利用多GPU,也报告了超过100 tokens/s的生成速度。
不过,这些只是参考值,PC配置和量化方式各不相同,结果不仅取决于GPU性能,还会受CPU、RAM、SSD等因素影响。
5. 所需的PC环境
Project Maya的主要运行环境如下:
・GPU:NVIDIA V100 / RTX 20系列及之后等
・VRAM:没有统一的最低容量,越多越有利
・RAM:32GB起可运行。为提升速度,64~128GB以上更有利
・CPU:x86-64(推荐支持AVX2)
・存储:高速NVMe SSD
・操作系统:Linux、Windows 10 / 11(实验性支持)
・其他:CUDA 12.x、Python 3.10及以上版本
AMD GPU也已获得实验性支持。此外,面向Apple Silicon的Metal后端正在开发中,但使用GLM-5.3-Flash进行开发者侧的实际操作验证尚未完成。
5-1. RAM容量与SSD的关系
在Project Maya中,即使无法将整个模型保留在RAM中,也可以从SSD读取所需的Expert并执行。
例如,GLM-5.3-Flash的Maya-S约为96.5GB。
・RAM 32GB:需频繁从SSD读取
・RAM 64GB:可将部分Expert保留在RAM中
・RAM 128GB:更容易将Maya-S的整个模型保留在RAM和VRAM中,从而减少对SSD的访问
由于对SSD的访问越少速度越快,因此在重视实用性能的情况下,搭载更多RAM更有利。
保存模型所需的SSD容量为:GLM-5.3-Flash在Maya-S下约100GB,DeepSeek-V4.1-Flash在Maya-S下约350GB。
此外,除了模型本体外,还需要KV Cache和OS等内存。
6. Project Maya 的使用方法
在Linux上,可以通过以下命令进行设置。
git clone https://github.com/mw00/project-maya.git
cd project-maya
./setup.sh首次设置时,将选择模型和量化方式,并下载必要的文件并进行构建。
在Windows上可以使用“START-MAYA.bat”。
启动后,通过以下URL访问Web UI。
http://127.0.0.1:8080在Web UI中,除了聊天之外,还可以查看GPU、VRAM和RAM的使用情况以及令牌生成速度。
可以使用以下命令进行基准测试和硬件调整。
# ベンチマーク
./maya.sh --bench
# ハードウェアに合わせた調整
./maya.sh --calibrate7. OpenAI / Anthropic 兼容 API
Project Maya 支持 OpenAI / Anthropic 兼容 API,可用作本地 AI 服务器。
OpenAI 兼容 API 的 URL 如下所示。
http://127.0.0.1:8080/v1以下是从 Python 的 OpenAI SDK 连接的示例。
from openai import OpenAI
client = OpenAI(
base_url="http://127.0.0.1:8080/v1",
api_key="none",
)
model_id = client.models.list().data[0].id
response = client.chat.completions.create(
model=model_id,
messages=[
{
"role": "user",
"content": "Pythonでテトリスを作って"
}
],
)
print(response.choices[0].message.content)由于还支持 Anthropic Messages 兼容 API,因此可以从 Claude Code 等编码代理调用本地 LLM。
此外,它还支持最多 8 个请求的并行处理以及 OpenAI Responses API。
8. 总结
Project Maya 是一个 AI 推理引擎,通过组合 GPU、CPU、RAM 和 SSD 来运行 321B 至 748B 规模的超大规模 MoE 模型。
其主要特点如下:
・支持 321B 至 748B 的超大规模 MoE 模型
・将 Expert 分散到 VRAM、RAM 和 SSD 中
・通过 Expert 缓存和投机解码实现加速
・最多可使用 16 台 GPU
・支持 OpenAI / Anthropic 兼容 API
Strataが125B規模のQwenモデルに注力するのに対し、Project MayaはGLMやDeepSeekなど、さらに巨大なモデルを対象としています。
一般的なGPUでも321Bモデルを実行でき、複数GPUでは100 tokens/sを超える実測例もあります。
「VRAMに収まるモデルを選ぶ」から、「PC全体のリソースで巨大モデルを動かす」へ。
Project Mayaは、ローカルLLMの可能性を広げる注目のオープンソースプロジェクトです。
関連
来源:npaka · AI与游戏开发技术 · note.com