ComfyUI-sol-attn:解锁 RTX 50 系列潜力的稀疏注意力优化神器

插件3个月前发布 小马良
414 0

在消费级显卡上运行长序列视频生成模型(如 MiniMax H3)时,显存瓶颈和计算延迟往往是最大的拦路虎。ComfyUI-sol-attn 是一个基于英伟达Sol-Attn Triton 参考内核构建的优化节点包,它不仅为 RTX 40/50 系列显卡提供了高效的稀疏注意力支持,更通过独特的“零拷贝”设计和前馈分块技术,显著降低了显存峰值并提升了推理速度。

  • GitHub:https://github.com/Saganaki22/ComfyUI-sol-attn

值得注意的是,该仓库是社区驱动的成果,它手动启用了英伟达官方源码中尚未支持的 SM120 (Blackwell / RTX 50 系列) 架构,让最新硬件也能即刻享受底层优化的红利。

ComfyUI-sol-attn:解锁 RTX 50 系列潜力的稀疏注意力优化神器

核心亮点:为何选择 sol-attn?

1. 极致速度与精度平衡

在 RTX 5090 上的实测显示,其在不同 token 长度下的 int8 注意力速度均处于领先地位:

  • 8K tokens: 2.56 ms
  • 16K tokens: 8.64 ms
  • 65K tokens: 108.95 ms
    同时,其采用的“仅量化 K 块内残差、保留均值项 bf16 精度”的策略,使得相对 L2 误差仅为 0.008,比全键 int8 设计接近精确路径约 3.7 倍。

2. 零拷贝设计 (Zero-Copy)

针对 MiniMax H3 模型,该节点直接读取融合 qkv 投影的跨步视图,避免了其他实现中常见的 q/k/v 连续化拷贝。在长序列下,这不仅节省了 1.3–2.7 GiB 的峰值显存,还消除了拷贝带来的时间开销。

3. 全架构支持 (SM89 – SM120)

  • SM90/100/120 (RTX 40/50 系列):使用高效的 TMA (Tensor Memory Accelerator) 描述符内核。
  • SM89 (RTX 40 系列部分型号):使用指针内核孪生版本。
  • 注:SM120 的支持是本仓库的独家改动,NVIDIA 官方源码暂未启用。

4. 智能调度与回退

  • 调度稀疏:支持在采样过程中渐变 tau 值(前期稀疏、后期致密),并提供曲线预览图,帮助用户直观调整稀疏度。
  • 诚实回退:当遇到不支持的形状或 GPU 时,自动回退到原有后端并记录原因;strict 模式则可用于验证新环境的兼容性。

主要节点详解

节点名称功能描述适用场景
Sol-Attn (稀疏注意力)通用逐模型补丁,通过钩子将任意模型的自注意力路由到 Sol-Attn。适用于所有支持的视频扩散模型。
MiniMax H3 显存高效 Sol 注意力补丁H3 专用节点,实现零 q/k/v 拷贝,并支持精确 KV 汇聚以保护提示词遵循。专为 MiniMax H3 设计,显存占用最低。
MiniMax H3 调度 Sol 注意力补丁在零拷贝基础上,支持 tau 随采样步数渐变,并输出调度曲线预览。希望精细控制稀疏度与画质平衡的高级用户。
MiniMax H3 分块前馈将 H3 的 MLP 沿序列维度分块,独立于注意力后端,可进一步压低显存峰值。配合 INT8 ConvRot 检查点使用效果最佳,MLP 峰值显存可降低 37%。

安装与前置条件

1. 硬件与软件要求

  • GPU: NVIDIA SM89, SM90, SM100 或 SM120 (RTX 40/50 系列)。
  • PyTorch: 支持 CUDA 与 bfloat16。
  • Triton: 需包含 triton.tools.tensor_descriptor (已在 3.6.0 上验证)。
  • ComfyUI: 基于 0.30.0 开发。

2. 快速安装

cd ComfyUI/custom_nodes
git clone <本仓库地址>
# 重启 ComfyUI 即可,无需额外 pip 安装依赖

使用建议与注意事项

  • A/B 测试:由于 Sol-Attn 是近似方法,输出不会与稠密注意力逐位一致。建议通过 enabled 开关进行 A/B 对比,根据画面质量判断是否接受当前的稀疏度。
  • 与 EasyCache 搭配:该包与 ComfyUI 核心的 EasyCache/LazyCache 完全兼容。EasyCache 跳过整步,Sol-Attn 加速剩余步,两者结合可实现极致的效率提升。但需注意不要同时使用过于激进的近似参数,以免画面崩坏。
  • 编译开销:Triton 会对每个新的 token 数进行 JIT 编译,首次运行会有额外开销。建议在第二次运行时测量性能。
  • H3 专用性:MiniMax H3 专用节点绕过了 ComfyUI 的标准注意力钩子,因此挂在全局钩子上的其他补丁在 Sol 激活的块上不会生效。
© 版权声明

相关文章