HuggingFace镜像/Qwen3-VL-32B-Ultra-Heretic-H3-ComfyUI-INT8-ConvRot
模型介绍
文件和版本
分析

Qwen3-VL-32B Ultra Uncensored Heretic — H3 ComfyUI 编码器 + 生成尾部

本仓库包含 ComfyUI H3 条件编码器和可选的 Qwen3-VL-32B 生成尾部。条件编码器基于 llmfan46/Qwen3-VL-32B-Instruct-ultra-uncensored-heretic 构建。

  • BF16 和 INT8 ConvRot 变体的 H3 文本/视觉条件编码器,包含语言层 0–49;以及
  • 仅用于生成的尾部,包含层 50–63、最终归一化层和 LM 头,提供 BF16、INT8 ConvRot 和 NVFP4/AWQ 格式。

H3 接收语言层 49 之后未归一化的隐藏状态。因此,此检查点包含 Qwen3-VL 嵌入、语言层 0–49 以及完整的视觉塔。它有意省略了语言层 50–63、最终语言归一化层和 LM 头。

H3 条件编码器 — BF16

qwen3vl_32b_h3_ultra_uncensored_heretic_bf16.safetensors

  • 大小:51,506,295,440 字节(47.97 GiB)
  • SHA-256: bbcd92a732e911cfafd86960e0e26aacc6efe949e02f16a9641f201c62984860
  • 902 个张量,均为 BF16
  • Qwen3-VL 嵌入和语言层 0–49
  • 完整的视觉塔
  • 有意排除层 50–63、最终语言归一化层和 LM 头

这是用于创建以下 ConvRot 版本的全精度源文件。

H3 条件编码器 — INT8 ConvRot

qwen3vl_32b_h3_ultra_uncensored_heretic_int8_convrot.safetensors

  • 大小:26,363,476,151 字节(24.55 GiB)
  • SHA-256: d84547412144b7c50a6ec77437a889b869d3ace88da77ef1775d3d2a4901c192
  • 1,604 个张量
  • 350 个学习型行向 INT8 ConvRot 语言矩阵
  • 每个学习型语言矩阵的 ConvRot 分组大小为 256
  • 1 个简单的张量向 INT8 令牌嵌入
  • 551 个张量保留为 BF16,包括完整的视觉塔和所有归一化层
  • 351 个 FP32 权重缩放因子和 351 个 ComfyUI 量化描述符

在内存允许的情况下使用 BF16。INT8 ConvRot 版本适用于 47.97 GiB 条件编码器过大的系统。

生成尾部

每个尾部包含 Qwen3-VL 语言层 50–63、最终语言归一化层和语言模型头。尾部并非独立的 CLIP:它复用了来自所连接的 H3 条件编码器的分词器、嵌入层、视觉塔以及 0–49 层。

文件源系列格式大小
qwen3vl_32b_h3_generation_tail_50_63_int8_convrot.safetensorsUltra HereticINT8 ConvRot7,609,128,707 字节
qwen3vl_32b_h3_ultra_uncensored_heretic_generation_tail_50_63_bf16.safetensorsUltra HereticBF1615,208,606,776 字节
qwen3vl_32b_h3_instruct_generation_tail_50_63_int8_convrot.safetensorsQwen3-VL-32B-InstructINT8 ConvRot7,609,128,659 字节
qwen3vl_32b_h3_instruct_generation_tail_50_63_bf16.safetensorsQwen3-VL-32B-InstructBF1615,208,606,744 字节
qwen3vl_32b_h3_instruct_generation_tail_50_63_nvfp4_awq.safetensorsQwen3-VL-32B-InstructNVFP4/AWQ(含 BF16 归一化层和语言模型头)5,396,902,102 字节

INT8 ConvRot 尾部详情

qwen3vl_32b_h3_generation_tail_50_63_int8_convrot.safetensors

  • 大小:7,609,128,707 字节(7.09 GiB)
  • SHA-256: b5bb9bb8dc87cf11cbee241a2d95d6d42fe52cf695ed26c093ac321f31160b20
  • 354 个张量
  • 包含语言层 50–63、最终语言归一化层和语言模型头
  • 98 个学习到的行式 INT8 ConvRot 矩阵
  • 一个简单的行式 INT8 ConvRot 语言模型头,由节点分块进行评估
  • ConvRot 组大小 256
  • 57 个张量以 BF16 格式精确保留

尾部不会重复存储令牌嵌入层或视觉塔。它会被临时加载,生成完成后卸载,而所连接的条件 CLIP 保持不变。

ComfyUI 安装

将所选的条件编码器和可选的尾部放置在:

ComfyUI/models/text_encoders/H3/

在 CLIPLoader 中选择它,并使用 H3 兼容的文本编码器类型。使用当前的 ComfyUI 检出版本及其固定的 comfy-kitchen 依赖项。

关于提示词增强:

  1. 使用 H3 兼容的文本编码器类型,通过 ComfyUI 的标准 CLIPLoader 加载 0–49 条件 checkpoint。
  2. 将该 CLIP 连接到 H3 Prompt Enhancer (optional CLIP tail)。
  3. 在节点的 clip_tail 下拉菜单中选择 50–63 tail。
  4. 将 enhanced_prompt 和返回的、未更改的 clip 发送到常规的 H3 guide 节点。

如果连接的 CLIP 已是完整的生成模型,请将 clip_tail 保留为 [none — connected CLIP is already complete]。此时,增强器将调用所连接 CLIP 的常规 generate() 路径,无需加载或要求此 tail。

这些是 ComfyUI checkpoint,而非完整的 Transformers 生成仓库。

独立文本与视觉语言生成

安装 ethanfel/ComfyUI-H3-Qwen3VL-TextGen,以将 H3 0–49 条件编码器与本仓库中的任何兼容 tail 结合使用,作为独立的、通用的本地 Qwen3-VL 文本和视觉语言生成器。它不需要单独的 H3 prompt-guide 节点包。

Load CLIP (H3 0–49 encoder) ── clip ──────┐
                                          ├─ H3 Qwen VL Generate Text (Standalone)
H3 Qwen VL Generation Tail Loader ─ tail_clip ─┘
Optional IMAGE batch ───────────── image ─┘
  1. 在 ComfyUI/custom_nodes 目录下安装或链接 TextGen 仓库。
  2. 将 H3 条件编码器和所选的 generation_tail_50_63 文件放置在 ComfyUI/models/text_encoders 目录下。
  3. 使用 ComfyUI 的标准 Load CLIP 节点加载条件编码器。
  4. 通过 H3 Qwen VL Generation Tail Loader 选择尾部文件。
  5. 将两个输出连接到 H3 Qwen VL Generate Text (Standalone)。

独立节点支持可编辑的系统/用户提示词、可选的图像批次、确定性或采样解码以及 Qwen 思考模式。基础 CLIP 会被保留;生成完成后仅显式卸载临时尾部。

运行时验证

条件检查点和增强器通过了实际运行时测试:

  • ComfyUI 提交版本:14b05228cef127ce529bc0c08660770d4af3e9a8
  • comfy-kitchen==0.2.26
  • comfy-aimdo==0.4.11
  • PyTorch 2.8.0+cu128
  • NVIDIA GeForce RTX 5090,32 GB 显存
  • 检测到 H3 兼容的文本编码器模型类
  • 有限条件输出:(1, 12, 5120)
  • 正确的模态标记标签:(12,)
  • 编码后显存:约 24.7 GiB 已分配 / 26.1 GiB 已保留
  • 标准 CLIPLoader 加载了包含恰好 50 个语言层且无最终归一化层或语言模型头的条件模型。
  • 可选尾部路径通过所有 64 层生成了一个标记,返回了完全相同的 CLIP 对象,然后将其保留为恰好 50 层且无归一化层/头。
  • 尾部卸载后,返回的 CLIP 成功编码了 H3 条件:有限的 (1, 4, 5120) 输出及标记标签。
  • 无尾部路径使用完整的 Qwen3-VL-4B ComfyUI CLIP 进行了测试,在不加载 H3 尾部的情况下成功生成。
  • NVFP4/AWQ 尾部在 NVIDIA RTX PRO 6000 Blackwell 上与匹配的 0–49 NVFP4/AWQ 编码器进行了测试。它通过所有 64 个语言层生成,干净卸载,将基础层保留为恰好 50 层,并在之后生成了有限的 (1, 7, 5120) H3 条件。

本地 CUDA 12.8 PyTorch 构建使用了回退操作,因为此 comfy-kitchen 版本推荐使用 CUDA 13.0+ 以获得其优化内核。尽管如此,编码仍成功完成。建议使用带有推荐 PyTorch 构建的当前 ComfyUI 环境。

来源说明

固定的上游来源:

repository: llmfan46/Qwen3-VL-32B-Instruct-ultra-uncensored-heretic
revision:   c44b949b30d111666a5ed9851c5cd633ed39b070

两个上游 BF16 分片均在此修订版本下载,并在打包前根据其 Hugging Face LFS SHA-256 值进行了验证。

源模型卡片显示,Heretic v1.2.0 ARA 编辑针对语言层 31–40 中的 attn.o_proj。所有这些经过编辑的层均位于 H3 保留的 0–49 范围内,因此此检查点中包含了去审查编辑。源报告显示,与原始模型的 99/100 相比,拒绝率为 4/100,KL 散度为 0.0421,PIQA 为 92.87%,MMLU 为 79.87%。

消除操作会减少拒绝行为,但不能保证所有拒绝或安全行为都被移除,并且可能会影响模型质量。

转换

H3 BF16 包使用 silveroxides/convert_to_quant 1.3.1 进行转换。成功的构建采用了 AdamW AdaRound 优化和平台期早停策略,而非简单的四舍五入:

env PYTHONPATH=.deps python .deps/bin/ctq \
  -i qwen3vl_32b_h3_ultra_uncensored_heretic_bf16.safetensors \
  -o qwen3vl_32b_h3_ultra_uncensored_heretic_int8_convrot.safetensors \
  --int8 \
  --scaling_mode row \
  --convrot \
  --convrot-group-size 256 \
  --comfy_quant \
  --save-quant-metadata \
  --custom-layers '^model\.embed_tokens\.weight$' \
  --custom-type int8 \
  --custom-scaling-mode tensor \
  --custom-simple \
  --exclude-layers '^visual\.' \
  --low-memory \
  --device cuda \
  --manual-seed 42 \
  --num-iter 4000 \
  --optimizer adamw \
  --verbose NORMAL

语言块矩阵使用经过学习的 ConvRot。仅词嵌入采用简单的张量级 INT8,因为 ComfyUI 嵌入查找需要该布局。视觉塔完全保留为 BF16 格式。

生成尾部从相同的固定源代码打包而来,并单独进行了转换:

env PYTHONPATH=.deps .deps/bin/ctq \
  -i qwen3vl_32b_h3_generation_tail_50_63_bf16.safetensors \
  -o qwen3vl_32b_h3_generation_tail_50_63_int8_convrot.safetensors \
  --int8 \
  --scaling_mode row \
  --convrot \
  --convrot-group-size 256 \
  --comfy_quant \
  --save-quant-metadata \
  --low-memory \
  --device cuda \
  --manual-seed 42 \
  --num-iter 4000 \
  --optimizer adamw \
  --verbose NORMAL \
  --layer-config tools/qwen3vl32b_generation_tail_quant.json \
  --fullmatch

98 个 transformer 矩阵采用了经过训练的 AdamW ConvRot。LM 头使用简单的行式 ConvRot,这样增强器就能以小批量计算其 151,936 个输出行,避免出现数吉字节的临时反量化峰值。

验证

完成的文件通过了对每个张量、数据类型、形状、缩放因子、每层描述符以及全局量化元数据条目的结构验证。所有 551 个受保护的 BF16 张量均与打包的 BF16 源进行了逐字节比较,结果未发生任何变化。

尾部也通过了精确的结构验证:保留的 57 个 BF16 张量(304,128 字节)与源文件完全一致;其 99 个 INT8 权重、缩放因子、描述符和全局量化元数据均与声明的布局相匹配。将基础源拓扑(902 个张量)与尾部源拓扑(156 个张量)相结合,可重构完整模型的全部 1,058 个张量,且无键冲突。

致谢

  • 未审查的源文件和评估: llmfan46/Qwen3-VL-32B-Instruct-ultra-uncensored-heretic
  • 原始模型: Qwen/Qwen3-VL-32B-Instruct
  • 量化工具: silveroxides/convert_to_quant