ComfyUI v0.24.0更新全解析:Ideogram 4正式接入,DINOv3与BiRefNet精度修复,MultiGPU中断卡死问题解决,工作流模板同步升级
2026/6/5 15:04:37 网站建设 项目流程

2026年6月4日,ComfyUI 发布了 v0.24.0 最新版本。从这次发布说明和代码变更来看,v0.24.0 是一次非常典型的“稳定性修复 + 新模型接入 + 推理链路优化”更新:一方面,多个模型相关的 cast、dtype、推理精度与显存使用问题被集中修复;另一方面,Ideogram 4 支持正式进入核心代码,PiD 也新增了对 SDXL 和 QwenImage 的支持;同时,多 GPU 场景下手动终止冻结的问题被修正,工作流模板也更新到了新版本。

值得注意的是,这还是一个不可变发布版本,说明其发布包本身固定,只有发布标题和说明可以修改。这种发布方式通常意味着版本内容已经明确冻结,用户在升级时可以更聚焦于发布说明和实际变更点。

如果你正在关注 ComfyUI 核心更新,尤其是模型兼容性、推理稳定性、显存控制以及新模型生态接入,那么 v0.24.0 这次更新非常值得仔细看。下面就根据本次发布说明与给出的代码改动,做一篇完整、详细、可直接用于技术传播的深度解读。

一、版本基础信息

版本号:v0.24.0
发布时间:2026年6月4日
发布类型:Latest
版本特征:不可变发布,仅允许修改发布标题和发布说明

从版本定位来看,v0.24.0 并不是简单的小修小补,而是一次包含 16 次提交、60 个文件变更、1060 行新增、262 行删除、10 位贡献者参与的中等规模更新。这意味着它既有功能补充,也有内部结构调整,还有一定程度的底层推理逻辑修正。

二、本次更新到底改了什么

根据发布说明,本次更新主要包含以下内容:

  1. 修复 birefnet 和 dino3 模型中的部分 cast 与 dtype 问题
  2. 修复 triposplat 预览与旧 offloading 模式相关问题
  3. 将 tripo dinov3 推理切换为 fp32
  4. 修复 Math Expression 节点在大整数结果下未捕获的 OverflowError
  5. 恢复 partner nodes 分类
  6. Radiance 支持带非零 txt_ids 的变体
  7. 修复 MultiGPU CFG Split 场景下手动中止导致冻结的问题
  8. PiD 新增 SDXL 和 QwenImage
  9. 移除旧的无用 no comfy kitchen 回退逻辑
  10. comfy-aimdo 更新到 0.4.8
  11. Partner Nodes 新增 Ideogram V4 节点
  12. 核心新增 Ideogram4 模型支持
  13. 将 DualModelGuider 标记为 experimental
  14. 工作流模板更新到 v0.9.94
  15. 非动态显存模式下,增加 ideogram 4 的显存使用因子
  16. 发布 ComfyUI v0.24.0 版本提交

如果只看这一串更新项,很多人会觉得信息碎片化。但如果结合具体代码变更来看,其实可以归纳为四条主线:

第一条主线,是模型精度与类型转换稳定性修复,核心集中在 BiRefNet 与 DINOv3。
第二条主线,是新模型生态扩展,尤其是 Ideogram 4 进入核心支持。
第三条主线,是推理和运行时稳定性增强,包括 MultiGPU 手动终止冻结、Math Expression 大整数溢出、旧回退逻辑清理等。
第四条主线,是周边能力补齐,包括 PiD 扩展、Partner Nodes 分类调整、工作流模板更新和显存参数适配。

三、提交与改动规模解读

本次版本对比信息显示:

16 次提交
60 个文件发生变化
10 位贡献者参与
总代码变更为 1060 行新增、262 行删除

从这个规模可以看出,v0.24.0 不是单点补丁,而是一次面向多个模块同步推进的综合更新。尤其是新增了一个接近 300 行的 Ideogram4 核心模型文件,这意味着它不是简单接个壳,而是已经进入到 ComfyUI 模型基座的正式实现层。

从提交时间看,这些改动主要集中在 6 月 2 日、6 月 3 日和 6 月 4 日三天内完成,说明这是一次连续推进、密集合并的版本迭代。

四、源码层面的重点变化详解

接下来,重点结合给出的代码 diff 来看本次版本真正“值钱”的地方。

一是 BiRefNet 的 cast 与 dtype 修复

变更文件:comfy/background_removal/birefnet.py

在 forward 中,relative_position_bias 的处理逻辑发生了一处关键修改。原来是:

relative_position_bias = relative_position_bias.permute(2, 0, 1).contiguous()

更新后变成:

relative_position_bias = comfy.ops.cast_to_input(relative_position_bias.permute(2, 0, 1).contiguous(), attn)

这说明什么?

它说明这里不再只是简单调整张量维度和内存连续性,而是显式将 relative_position_bias 的数据类型与 attn 输入对齐。也就是说,更新后的逻辑更加重视实际参与计算的输入 dtype,而不是默认沿用原张量状态。

这类修复在混合精度、半精度、不同设备推理中非常重要。因为 attention 路径里如果 bias 张量和主张量 dtype 不一致,轻则触发隐式转换,影响性能;重则造成数值不稳定,甚至在某些设备和算子路径上直接报错。

因此,这一处改动虽然只有一行,但本质是一次针对 BiRefNet 推理稳定性的精度一致性修复,对背景移除这类对边缘细节敏感的任务来说非常关键。

二是 CLIP Vision 中移除了 DINOv3 的 fp16 特判逻辑

变更文件:comfy/clip_vision.py

这部分代码删除了 torch 依赖引入,同时删除了 DINOv3 在 float16 下优先切到 bfloat16 的特殊判断逻辑。

原逻辑大意是:

如果模型类型是 dinov3,且 dtype 为 float16,那么因为 DINOv3 的 activation 在 fp16 下比较勉强,所以如果设备支持 bf16,就优先改成 bf16,以获得更好的稳定性。

现在这段逻辑被删掉了。

这个删除本身不能孤立理解,必须结合发布说明中的另一条:“Do tripo dinov3 inference in fp32”,以及后面的 dino3 编码器改动一起看。

也就是说,ComfyUI 在 v0.24.0 中不再通过原先这种在 text encoder 设备路径中做 fp16 到 bf16 的折中策略去兜底,而是转向了更直接、更明确的处理方式:在实际 DINOv3 推理链路中进行更严格的数据类型控制,甚至直接切到 fp32 路线。这样做的好处是逻辑更统一,也更容易减少某些边缘场景的类型不一致问题。

三是 DINOv3 编码器中的 dtype 和输入转换逻辑被重新整理

变更文件:comfy/image_encoders/dino3.py

这是本次更新里非常值得关注的一块。主要变化有三类。

第一类变化,是 patch embedding 输入不再提前转 dtype:

原来:
patch_embeddings = self.patch_embeddings(pixel_values.to(dtype=target_dtype))

更新后:
patch_embeddings = self.patch_embeddings(pixel_values)

同时,在外层 forward 里也删除了:
pixel_values = pixel_values.to(self.embeddings.patch_embeddings.weight.dtype)

这说明 DINOv3 的像素输入不再在进入 embedding 前强行转换到权重 dtype,而是交给内部逻辑按实际需求处理。这种调整往往是为了避免过早降精度,或者避免输入数据在某些路径下被转换到不理想的类型。

第二类变化,是 mask token 改成通过 cast_to_input 对齐输入:

原来:
mask_token = self.mask_token.to(patch_embeddings.dtype)

更新后:
mask_token = comfy.ops.cast_to_input(self.mask_token, patch_embeddings)

这说明新的实现不只是对齐 dtype,还更强调和当前输入张量的完整计算环境一致,包括设备、精度以及潜在的操作包装逻辑。

第三类变化,是 cls token 和 register tokens 也都改成了 cast_to_input:

原来是 expand 后只 to(device)
更新后是通过 cast_to_input 与 patch_embeddings 对齐

也就是说,DINOv3 在 token 拼接之前,所有关键 token 张量都会主动适配当前输入的真实计算状态。这是非常标准、也非常稳妥的混合精度兼容修复思路。

结合发布说明里“Some cast/dtype fixes for the birefnet and dino3 models”与“Do tripo dinov3 inference in fp32”这两条信息,可以明确看出:v0.24.0 对 DINOv3 的重点就是稳定性优先,减少不必要的半精度风险和隐式类型切换。

四是 Radiance 支持非零 txt_ids 变体

变更文件:comfy/ldm/chroma_radiance/model.py

这里新增了一个参数:

use_sequential_txt_ids: bool

并在模型初始化时,如果这个参数为真,就注册一个名为sequential的 buffer。

更关键的变化在 forward 内部。原来 txt_ids 是这样初始化的:

txt_ids = torch.zeros((bs, context.shape[1], 3), device=x.device, dtype=x.dtype)

更新后新增逻辑:

Radiance 在 2026-05-22 之后使用顺序 txt_ids 而不是全零
如果 use_sequential_txt_ids 为真,那么:
txt_ids[:, :, 0] = torch.arange(context.shape[1], device=x.device, dtype=x.dtype).unsqueeze(0).expand(bs, -1)

这意味着 Radiance 模型现在支持一种新的文本位置标识变体:不再全部用零填充,而是用顺序编号。这个变化虽然看上去很小,但它直接影响文本 token 的位置编码或条件组织方式。

从发布说明“Radiance: support variant with nonzero txt_ids”可以确认,这一改动的核心目标就是兼容新变体。也就是说,ComfyUI v0.24.0 已经考虑到了 Radiance 模型不同版本之间的输入差异,并通过参数化方式做了向前适配。

五是移除旧的无用 no comfy kitchen 回退逻辑

变更文件:comfy/ldm/flux/math.py

这里的变动非常明确:原来 apply_rope 和 apply_rope1 外围包了一层 try/except,用于在无法导入 comfy.quant_ops 时回退到旧实现,并且还会打印一条警告:

No comfy kitchen, using old apply_rope functions.

v0.24.0 中,这整套 fallback 逻辑被直接删掉,改成了更直接的实现:

非训练状态下,直接调用 comfy.quant_ops.ck.apply_rope
训练状态下,使用原始 Python 路径

这对应发布说明里的“Remove old useless no comfy kitchen fallback”。

这类调整说明了两件事:

第一,项目当前已经不再认为旧 fallback 逻辑有继续保留的必要。
第二,推理路径正在进一步收敛到统一的量化或优化算子实现上。

对于用户来说,这通常意味着运行时分支更少,行为更可预期,维护成本也更低。但同时也意味着环境要求会更加明确,旧兼容兜底减少了。

六是 Ideogram 4 正式进入核心模型层

变更文件:comfy/ldm/ideogram4/model.py
新增代码:297 行

这可以说是 v0.24.0 最重磅的核心技术更新。

从文件头部注释就能看出它的定位:
Ideogram 4 transformer 属于 NextDiT 和 Lumina2 家族的单流模型,使用 Qwen3-VL 的隐藏状态特征,将文本 token 与图像 token 打包为一个序列,并配合分段注意力和三维交错 MRoPE 处理。

这段描述已经给出了非常多的关键信息。接下来我们按结构来看。

  1. 定义了序列角色标识

代码中定义了多个指示值:

SEQUENCE_PADDING_INDICATOR = -1
OUTPUT_IMAGE_INDICATOR = 2
LLM_TOKEN_INDICATOR = 3
IMAGE_POSITION_OFFSET = 65536

这说明 Ideogram 4 模型在一个统一序列里,同时区分填充、图像输出 token 和 LLM 文本 token,并且图像位置坐标做了偏移,避免与文本位置冲突。

  1. 新增 Ideogram4Attention

该注意力模块包含 qkv 线性层、q 与 k 的 RMSNorm、输出线性层,并在前向过程中调用 apply_rope 与 optimized_attention_masked。也就是说,这不是简单复用旧模块,而是为 Ideogram 4 的 packed sequence 结构专门组织了一套注意力执行路径。

  1. 新增 Transformer Block

每个块中包含:
注意力层
前馈层
多组 RMSNorm
AdaLN 调制层

同时在 forward 中,scale_msa、gate_msa、scale_mlp、gate_mlp 会从 adaln_modulation 结果中拆分出来,对注意力和 MLP 分支进行动态调制。说明这个模型在时序条件注入上采用了比较明确的门控和缩放机制。

  1. 新增标量时间嵌入模块

Ideogram4EmbedScalar 会将输入标量先映射为正弦位置嵌入,再经过两层线性映射。这里用于处理 timestep 条件,并最终进入 adaln 路径。

  1. 新增最终输出层

Ideogram4FinalLayer 使用 LayerNorm、线性层和 AdaLN 调制,将最终隐藏状态投影回输出通道。说明整个模型从输入投影到最终 token 重建,形成了完整闭环。

  1. 实现单流主干 Transformer

Ideogram4Transformer 内部包含:

输入投影
LLM 条件归一化与投影
时间嵌入
AdaLN 投影
图像指示 embedding
多层 TransformerBlock
最终输出层

尤其值得注意的是,它将文本条件和图像 latent 都组织进同一条 backbone,这与传统 cross-attention 型结构不同,更接近单流统一建模思路。

  1. 支持条件与无条件两种运行方式

Ideogram4Transformer2DModel 中,分别实现了:

_run_conditional
_run_image_only

当 context 为 None 时,走 image-only 无条件路径;否则走 packed 的 text + image 条件路径。并且在 forward 中统一走包装执行器,这说明它已经完整接入 ComfyUI 的扩展包装体系。

  1. 支持图像 token 与图像坐标组织

模型内部实现了:
图像到 token 的重排
token 回图像的反变换
图像位置 id 构造
文本与图像位置拼接
分段 mask 的构造

其中 block-diagonal 的 attention mask 说明文本与图像在 packed sequence 中并不是简单全连通,而是通过 segment id 去建立结构化注意力关系。

综合来看,这 297 行代码不是“加个接口”,而是 ComfyUI 已经把 Ideogram 4 的核心单流 DiT 结构、条件组织、位置编码、mask 机制和输出路径,真正实现到了底层模型层里。

七是 model_base 正式注册 Ideogram4 模型类型

变更文件:comfy/model_base.py

这里有两部分关键变化。

第一部分,是新增模块导入:

import comfy.ldm.ideogram4.model

这代表 Ideogram4 已经进入基础模型体系。

第二部分,是新增 Ideogram4 类:

class Ideogram4(BaseModel):
definit(self, model_config, model_type=ModelType.FLOW, device=None):
super().init(model_config, model_type, device=device, unet_model=comfy.ldm.ideogram4.model.Ideogram4Transformer2DModel)

def extra_conds(self, **kwargs): out = super().extra_conds(**kwargs) attention_mask = kwargs.get("attention_mask", None) if attention_mask is not None: if torch.numel(attention_mask) != attention_mask.sum(): out['attention_mask'] = comfy.conds.CONDRegular(attention_mask) cross_attn = kwargs.get("cross_attn", None) if cross_attn is not None: out['c_crossattn'] = comfy.conds.CONDRegular(cross_attn) return out

这段代码说明了两件事:

第一,Ideogram4 在 ComfyUI 中被归类为 BaseModel 体系下的一个正式模型类型。
第二,它支持 extra_conds 方式接收 attention_mask 与 cross_attn 条件。

尤其是 attention_mask 的处理很有意思:只有当 attention_mask 不是“全 1”状态时,才会加入条件。这说明开发逻辑里对无填充、全可见序列进行了条件省略优化。

结合发布说明中的两条内容——“新增 Ideogram V4 节点”和“新增 Ideogram4 模型支持”——可以看出,v0.24.0 不是只在界面层加了节点,而是核心模型和节点生态两边一起到位。

五、发布说明中其他更新点逐条解析

除了代码里明确展示的部分,本次发布说明还有一些重要更新,虽然没有展开具体 diff,但仍然必须完整纳入理解。

  1. 修复 triposplat 预览与旧 offloading 模式问题

这说明在 triposplat 的预览功能和旧 offloading 模式组合场景下,之前存在兼容性问题。v0.24.0 已经进行修正。对于依赖旧显存卸载路径的用户来说,这是实打实的稳定性改进。

  1. tripo dinov3 推理改为 fp32

这与前面 dino3 的代码修复形成闭环。说明在 tripo 相关推理场景中,DINOv3 已经明确采用 fp32 执行。这是一个典型的“以稳定性换取精度安全”的调整,目的很明确,就是减少半精度带来的激活边界问题和异常行为。

  1. 修复 Math Expression 节点大整数未捕获 OverflowError

这是一个非常典型的边缘稳定性修复。以前如果 Math Expression 节点计算出非常大的整数结果,可能抛出未捕获的 OverflowError。现在这个问题已被修正,意味着节点在大数表达式场景下会更稳。

  1. 恢复 partner nodes 分类

这表示 partner nodes 的分类结构做了回退或修复。对于节点浏览、分类展示和组织逻辑来说,这是一次界面层与生态层的整理。

  1. 修复 MultiGPU CFG Split 手动中止冻结问题

这是实用价值很高的一项修复。多 GPU 下本来就存在更多并发与同步复杂度,而在使用 MultiGPU CFG Split 时,如果用户手动终止任务出现冻结,会非常影响工作流体验。v0.24.0 针对这个问题完成修复,意味着中断流程更安全。

  1. PiD 新增 SDXL 和 QwenImage

这说明 PiD 模块的模型支持面扩大了,新增了 SDXL 和 QwenImage 两类适配。这是典型的生态补强更新。

  1. comfy-aimdo 升级到 0.4.8

这是一个组件版本同步类更新。虽然发布说明没有展开具体内容,但至少说明相关依赖或集成模块已经跟进到新版本。

  1. Partner Nodes 新增 Ideogram V4 节点

这一项和核心 Ideogram4 模型支持形成呼应。前者偏节点侧,后者偏核心模型侧,两者合在一起,意味着用户从可视化节点到底层模型都可以使用 Ideogram 4。

  1. 将 DualModelGuider 标记为 experimental

这不是简单的功能增删,而是产品状态标记调整。它意味着该功能仍可用,但官方更明确地提醒用户:这是实验性能力,不宜默认视为完全稳定模块。

  1. 工作流模板更新到 v0.9.94

工作流模板更新往往对新用户和工作流复用用户非常重要,因为模板层通常会同步适配新模型、新节点以及新的参数组织方式。升级到 v0.9.94,说明模板生态也随版本一起前进。

  1. 非动态显存模式下,增加 ideogram 4 的显存使用因子

这项改动非常有针对性。说明在非 dynamic vram 模式下,Ideogram 4 的显存占用评估或管理策略做了调整。其目的显然是让显存估算和运行行为更符合模型实际需要,减少错误判断或资源分配偏差。

六、为什么说 v0.24.0 是一次“稳定性优先”的重要版本

如果把这次更新所有内容放在一起看,会发现它的总体气质非常清晰:稳定性优先,兼容性并进,新模型接入同步推进。

第一,模型类型一致性修复很集中。
BiRefNet、DINOv3、Tripo DINOv3、Radiance 都涉及实际推理输入、dtype、位置标识或执行精度问题,这些都不是表面改动,而是直接关系到模型能否稳定跑通的底层因素。

第二,老旧回退逻辑开始清理。
Flux 数学模块移除了旧 fallback,说明项目内部依赖链和运行路径正在进一步收敛,不再无限制保留历史兼容包袱。

第三,新模型不是“挂名支持”,而是深入到底层。
Ideogram 4 的新增不只是多了个节点名字,而是完整增加了核心模型实现、基础模型注册、条件处理支持。这说明 ComfyUI 对新模型生态的接入已经进入真正可运行、可扩展的阶段。

第四,运行时体验问题得到照顾。
无论是 MultiGPU 手动终止冻结,还是 Math Expression 大整数异常,都是那种用户一旦踩到就会非常难受的问题。这次版本把这些问题一并处理,说明更新目标不仅是“新”,也是“能稳定用”。

七、结语:ComfyUI v0.24.0 值不值得更新

代码地址:github.com/Comfy-Org/ComfyUI

如果你的使用场景涉及以下任一项,那么 v0.24.0 非常值得关注:

需要更稳定的 BiRefNet 或 DINOv3 推理
使用 tripo 或 triposplat 相关能力
在多 GPU 环境下运行复杂工作流
需要 PiD 对 SDXL、QwenImage 的新支持
关注 Ideogram 4 的核心接入与节点可用性
依赖工作流模板快速搭建流程
希望减少老旧回退逻辑带来的行为不确定性

从这次发布内容来看,ComfyUI v0.24.0 的价值不在于“堆了多少新名词”,而在于它把模型支持、推理精度、显存管理、节点生态和工作流模板这些关键层面一起往前推了一步。

最后,再用一句话总结这次版本:

ComfyUI v0.24.0 是一次以稳定性修复为底,以 Ideogram 4 接入为亮点,以多模型兼容与运行体验优化为核心目标的重要更新版本。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询