ComfyUI 中的 SenseNova-U1.5 ConvRot:12GB 显卡运行 50GB 模型

ComfyUI Wikinews

ConvRot 量化在 12 GB 显卡的 ComfyUI 中运行 SenseNova-U1.5-8B-MoT:INT8 (17.6 GB) 和混合 W4A8 (13.8 GB) 模型,外加 8 步加速 LoRA。

SenseNova-U1.5-8B-MoT ConvRot 量化 (权重 | 自定义节点) 是一个社区发布版本,将 50 GB bf16 全能模型(文生图、图像编辑、多参考)带入 ComfyUI 的消费级显卡。两个 ConvRot 模型,一个 INT8 构建和一个混合 W4A8 构建,在 RTX 4070 12 GB 上以 2048×2048 运行,并包含官方的 8 步加速 LoRA。
同种子 A/B 对比:bf16 参考、INT8 ConvRot 和混合 W4A8 结果

发布内容

两个量化模型加上官方速度 LoRA:

文件大小格式备注
SenseNova-U1.5-8B-MoT-T8-int8-convrot-tagged.safetensors17.58 GiBINT8 ConvRot推荐, 最高保真度
SenseNova-U1.5-8B-MoT-T8-hybw4a8-L18-41.safetensors13.80 GiB混合 INT8 + W4A8图层 0-17 为 INT8,图层 18-41 为真实 W4A8
SenseNova-U1.5-8B-MoT-LoRA-8step-ComfyUI.safetensors0.76 GiB8 步速度 LoRA官方 LoRA 转换用于 ComfyUI

两个模型放入 ComfyUI/models/diffusion_models/SenseNovaU1.5/,LoRA 放入 ComfyUI/models/loras/。推理通过 T8 包装节点的 ConvRot 感知分支运行,该分支为 INT8 添加显式激活旋转和手动反量化,通过 Comfy-Org 的 comfy-kitchen 为 W4A8 提供内核路由,以及运行时保护以防止 ComfyUI 的重量流损坏打包的量化张量。

质量

与 bf16 原始版本进行同种子全管道 A/B 运行对比测量:

bf16 (参考)INT8 ConvRot (同种子)混合 W4A8 (同种子)
bf16 参考INT8 ConvRot混合 W4A8
参考0.43% 像素差值视觉上无法区分

INT8 变体在全管道同种子 A/B 中报告 0.43% 像素差值,每层权重重建误差远低于 2%。混合版本在其 4 比特图层上报告约 7% 相对 L2 误差(Lloyd-Max 码本,组大小 16,FP8 组缩放),但在同种子测试中与 bf16 视觉上无法区分。同种子轨迹是混乱的,因此作者将图像作为质量样本呈现,而非像素比较。

为何采用混合方案

发布背后的有趣发现:SenseNova-U1.5 容忍其后期图层的真实 W4A8 激活量化,但不容忍其最早期的图层。量化第一个 Transformer 块会破坏提示词一致性,而 18+ 图层透明地量化为 W4A8。作者通过混合模型的二分阶梯经验性地找到了边界,然后通过两个独立验证的模型进行字节级合并生成混合文件,因此在合并过程中没有任何图层被重新量化。

性能

在 RTX 4070 12 GB 上,即使权重超过 VRAM,两种变体也运行迅速:ComfyUI 按需流式传输权重,且量化格式每一步传输的字节数减少 3-4 倍,同时通过快速整数张量核心内核计算,因此溢出永远不会成为瓶颈。同一张显卡上的 bf16 每一步流式传输约 47 GB,速度慢得多。

入门

  1. 安装自定义节点:将 git clone https://github.com/Milor123/ComfyUI-SenseNova-U1.5-ConvRot 克隆到 ComfyUI/custom_nodes/,并安装 comfy-kitchen >= 0.2.31(使用 ComfyUI commit 82f839f5 测试)。
  2. 下载推荐的 INT8 模型(或混合版)到 ComfyUI/models/diffusion_models/SenseNovaU1.5/,并将速度 LoRA 下载到 ComfyUI/models/loras/
  3. 从仓库的 examples/ 文件夹运行其中一个示例工作流:

评论

使用 GitHub 登录后即可参与讨论。

评论加载中…
ComfyUI 中的 SenseNova-U1.5 ConvRot:12GB 显卡运行 50GB 模型 | ComfyUI Wiki