48GB Mac 跑 Qwen-Image-2.1:分阶段加载把峰值显存从 43.6GB 降到 19GB

nefayran · reddit · 2026-10-07

作者在 48GB M5 Pro Mac 上跑 Qwen-Image-2.1 时遇到内存爆炸:默认 diffusers 管线把三个模型(16.3GB 文本编码器 Qwen3-VL、13.3GB transformer、1.3GB VAE)同时驻留内存,1024px 下 VAE 解码还需约 11GB,进程峰值达 43.6GB、swap 增长 8GB 后被终止。

由于 Mac 的 CPU 与 GPU 共享同一内存,把空闲模型移到 CPU 并不能降低峰值。作者的解法是写了个小库 stageload:按管线阶段(encodeprompt、preparelatents、unpacklatents 的钩子)只加载当前阶段需要的模型,用完即释放,管线代码无需改动。

1024×1024、20 步、bfloat16 的实测结果:

代码 MIT 开源:pip install stageload,GitHub,附详细技术报告。该方案适用于任何在 Mac 上用 Python 跑多模型管线的场景。

原文链接 →

「Infra」频道最新

更多「Infra」频道 AI 资讯 →