动态VRAM在ComfyUI中:拯救RAMmageddon的本地模型

CN
2026-03-26 02:10:25

持续的内存硬件成本激增,已对所有用户造成了挑战。为此,ComfyUI现已推出动态显存——我们自适应记忆增强框架。

该平台始终为运行扩散模型提供了最流畅的方法,现在得到了显著升级。我们的目标仍然是扩大对最广泛的开源模型的可访问性。

现已适用于Windows和Linux(不包括WSL)上的Nvidia系统的ComfyUI稳定版本,此优化显著降低了系统RAM消耗,同时加快了工作流处理速度。动态VRAM转换模型权重管理,确保在内存有限的设备上实现无缝运行。关键增强功能包括:

  • 降低系统RAM需求显著降低了复杂任务的传统RAM要求。

  • OOM错误消除: 完全解决由于权重卸载不足引起的崩溃。

  • 加速初始化: 在特定场景下,模型和LoRA加载时间显著加快。

  • 无分页依赖: 在没有慢系统页面文件的情况下运行超过物理RAM的模型。

  • 增强VRAM使用:更高的GPU内存利用率表示优化性能(预期行为)。

  • 简化开发预测内存释放的内存预测现在是不必要的。

Windows任务管理器洞察:如果有足够的内存,RAM使用率可能不会立即下降;ComfyUI缓存权重以实现速度和无页文件依赖。内存会在其他应用程序要求时立即释放。

性能指标

ComfyUI保持行业领先的效率为消费者硬件,但现在实现了可衡量的速度提升:

视频分析(WAN2.2双14B fp16/fp8模型,320x320x81f)
Windows,RTX 5060,32GB/64GB RAM

Subgraph Parameter Panel

总扩散模型大小:56GB(2×28GB fp16权重)。

Flux 2 Dev 默認工作流程(bf16 文本/扩散)
Linux,Blackwell 6000 Pro

Subgraph Parameter Panel

内部工作原理:AI 模型动态卸载器(aimdo)

动态 VRAM 通过自定义 PyTorch 分配器在系统压力下处理模型权重:

  1. VBAR 创建: 模型建立虚拟基址寄存器区域——消耗零物理 VRAM,只有 GPU 虚拟空间。 未分配的张量在过早访问时触发故障。

  2. 故障() API:张量在毫秒级别的计算需求时分配物理VRAM。

  3. 内存响应

  • 可用VRAM:权重永久加载,直到系统压力需要释放。

  • VRAM不足:临时GPU张量执行操作时不会崩溃。

  1. 优先级水印:较新的VBAR拥有最高优先级。低优先级权重的强制驱逐将水印设置为跳过冗余的分配尝试。

更新的内存策略

ComfyUI绕过权重卸载到RAM。相反:

  • safetensors loader通过指针将文件映射到未提交的内存(禁用深度复制)。

  • Windows可能会报告高RAM使用率;权重在需要时立即释放。

  • Linux由于非提交分配将其归类为磁盘缓存。

开发路线图

当前的努力重点是:

  • 解决性能回归。

  • 添加AMD硬件兼容性。

  • 削减内存占用(实验性)--fp16-中间体优化)

  • 为NVMe配置加速磁盘加载。
    请在GitHub上报告问题,包括完整的日志、工作流和硬件规格。 在benchmark中,优先考虑工作流的总执行时间,而不是每秒迭代次数。