PRX 第三部分 -- 24小时内训练一个文本到图像模型!

Hugging Face:Blog(RSS)·2026-03-04 00:50·177天前
AI 导读

Photoroom团队在Hugging Face上发布博客,宣布成功在24小时内完成一个文本到图像模型的训练。这一突破将此类模型的典型训练周期从数周大幅缩短至仅一天。实现的关键在于采用了名为PRX的高效训练方法,该方法优化了计算资源分配与数据处理流程。此举显著降低了模型训练的时间与成本门槛,为快速迭代和部署高质量的图像生成AI模型提供了新的可能性。

Hugging Face:Blog(RSS)
精选
70AI 编辑部评分,满分 100

PRX 第三部分 -- 24小时内训练一个文本到图像模型!

2026-03-04 00:50· 177天前
AI 导读

Photoroom团队在Hugging Face上发布博客,宣布成功在24小时内完成一个文本到图像模型的训练。这一突破将此类模型的典型训练周期从数周大幅缩短至仅一天。实现的关键在于采用了名为PRX的高效训练方法,该方法优化了计算资源分配与数据处理流程。此举显著降低了模型训练的时间与成本门槛,为快速迭代和部署高质量的图像生成AI模型提供了新的可能性。

推荐理由

Photoroom 分享 24h 内训练文生图模型的实战路径,想快速复现的团队可直接参考

正文 · AI 翻译

引言

欢迎回来 👋

在之前的两篇文章(第一部分和第二部分)中,我们探讨了扩散模型在架构和训练技巧方面的广泛内容。我们尝试孤立地评估每个想法,测量吞吐量、收敛速度和最终图像质量,并试图理解哪些因素真正起到了关键作用。

在这篇文章中,我们想回答一个更实际的问题:

当我们把所有有效的技巧结合起来时,会发生什么?

我们不再一次只优化一个维度,而是将最有前景的要素叠加在一起,看看在严格的计算预算下,能将性能推到何种程度。

为了具体说明,我们进行了一次 24 小时极速挑战:

  • 32 块 H200
  • 总计算预算约 1500 美元(每 GPU 每小时 2 美元)

这与早期扩散模型时代相去甚远,当时训练有竞争力的模型可能需要花费数百万美元。这里的目标是展示该领域已经取得了多大的进步,以及通过精心的工程设计,在仅仅一天的训练中能取得怎样的成果。

这次极速挑战不仅仅是一个有趣的实验。它很可能将成为我们未来大规模训练方案的基础。

除了结果之外,我们还开源了我们的代码(GitHub 链接),其中包含:

  • 本次极速挑战使用的训练代码
  • 上一篇博文中的实验框架

这样你就可以自行复现、修改和扩展所有内容。


训练方案

现在让我们来详细看看这次 24 小时运行中包含了哪些内容。

X 预测与像素空间训练

我们使用了来自《回归基础:让去噪生成模型去噪》[Li and He, 2025] 的 x 预测公式。如第二部分所述,这可以直接在像素空间中进行训练,并完全消除了对 VAE 的需求。我们使用 32 的补丁大小,并在初始 token 投影层中使用 256 维的瓶颈。这种设计将序列长度控制在合理范围内,使得即使在更高分辨率下,像素空间训练在计算上也是可行的。

在 512 像素下,序列长度为:

$$ \left(\right. 512 / 32 \left.\right)^{2} = 256 $$

(512/32)²=256

在 1024 像素下,序列长度变为:

$$ \left(\right. 1024 / 32 \left.\right)^{2} = 1024 $$

(1024/32)²=1024

我们没有遵循常规的 256px → 512px → 1024px 训练策略,而是直接从 512px 开始训练,然后在 1024px 分辨率下进行微调。

在可控的 token 数量和现代硬件条件下,像素空间训练已不再难以实现。它只是一种更简洁、更直接的建模方式。


感知损失

在像素空间中直接预测 $x_{0}$ 的一个非常好的附带效果是,我们可以复用经典计算机视觉领域的整套工具箱。

当模型输出的是隐空间向量时,感知监督会变得很棘手。你要么需要解码回像素空间,要么在一个可能与人类感知对齐也可能不对齐的、经过学习的隐空间中定义损失函数。一旦你直接预测像素,一切又变得简单直接。你可以完全按照感知损失最初的设计方式来使用它们。

我们从论文《PixelGen: Pixel Diffusion Beats Latent Diffusion with Perceptual Loss》[Ma et al.] 中汲取了灵感,该论文的作者在扩散损失的基础上引入了额外的感知目标。他们表明,加入感知信号可以显著提升收敛速度和最终的视觉质量。

在这次 24 小时的运行中,我们增加了两个辅助损失:

  • LPIPS([Zhang et al.])
  • 基于 DINO 的感知损失(我们使用了 DINOv2 [Oquab et al.])

思路很简单:除了标准的流匹配目标函数外,我们还鼓励预测出的干净图像在感知特征空间上与目标图像相匹配。LPIPS 捕捉低层次的感知相似性,而 DINO 特征则提供了更强的语义信号。

我们保留了论文中的整体思路,但对一些细节进行了调整。在我们的实验中,我们根据经验发现以下做法效果更好:

  • 对池化后的完整图像应用感知损失,而不是基于图像块的特征
  • 在所有噪声水平下都应用这些损失

这些都是实现上的小细节,但在我们的设定中,它们始终能带来更好的结果。

我们将 LPIPS 损失的权重设为 0.1,DINO 感知损失的权重设为 0.01,这与原论文中推荐的值一致。

与主 Transformer 前向传播相比,这些损失的计算量较轻,在我们的设置中,它们只增加少量开销,同时却能持续提升质量。

使用 TREAD 进行 Token 路由

为了降低每一步的计算成本,我们采用了基于 TREAD [Krause et al., 2025] 的 token 路由机制,该机制会随机选取一部分 token,让它们跳过连续的一段 Transformer 模块,之后再重新注入,从而确保没有任何 token 被丢弃。

我们选择 TREAD 而非 SPRINT(Park et al., 2025),主要是出于简洁性的考虑,并且在我们设定的场景(序列长度 64 vs. TREAD 在 512px 下的 128)中,SPRINT 额外增加的复杂度所带来的计算节省并不显著。

按照 TREAD 的方案,我们将 50% 的 token 从第 2 个模块路由到 Transformer 的倒数第二个模块。

经过路由的模型在标准 CFG 下表现可能较差,尤其是在训练不足的情况下。因此,我们实现了一种简单的自引导方案,其灵感来源于 Guiding Token-Sparse Diffusion Models(Krause et al., 2025),该方案利用密集预测与路由条件预测之间的差异进行引导,而非依赖无条件分支。

基于 REPA 和 DINOv3 的表征对齐

我们使用 REPA [Yu et al., 2024] 进行表征对齐。

在教师模型的选择上,我们采用了 DINOv3 [Siméoni et al. 2025],因为在我们之前的实验中,它带来了最佳的质量提升。

具体来说,我们在第 8 个 Transformer 模块处应用一次对齐损失,损失权重设为 0.5。

由于我们将 REPA 与 TREAD 路由结合使用,因此我们仅对非路由 token(即实际经过我们施加损失的那些模块的 token)计算对齐损失。这保证了 REPA 信号的一致性,并避免对跳过了计算路径的 token 进行特征比较。


优化器:Muon

我们使用了 Muon 优化器,具体采用了 muon_fsdp_2 中的 FSDP 实现,因为在我们之前的运行中,它相比 Adam 有显著的改进。

Muon 仅应用于 2D 参数(主要是矩阵)。其他所有参数(偏置、归一化层、嵌入向量等)均使用 Adam 进行优化,这就是配置中包含两个参数组的原因。

分组 适用范围 我们使用的关键参数
Muon 2D 参数 lr=1e-4, momentum=0.95, nesterov=true, ns_steps=5
Adam 所有非 2D 参数 lr=1e-4, betas=(0.9, 0.95), eps=1e-8

训练设置

我们在三个公开可用的合成数据集上进行了训练:

  • Flux 生成的数据(170 万条),lehduong/flux_generated
  • FLUX-Reason-6M (6M),LucasFang/FLUX-Reason-6M
  • midjourney-v6-llava (1M),brivangl/midjourney-v6-llava,我们使用 Gemini 1.5 对其重新进行了标注,以使提示词更加一致并减少标注噪声。

时间安排基本上是:在 512 分辨率下快速推进,然后在 1024 分辨率下进行锐化:

  • 在 512px 分辨率下,以 1024 的批次大小训练 100k 步
  • 在 1024px 分辨率下,以 512 的批次大小训练 20k 步,不使用 REPA。

我们还保留了权重的指数移动平均(EMA)用于采样和评估:

  • 平滑系数 = 0.999
  • 更新间隔 = 10ba
  • EMA 起始步 = 0ba

结果与总结

以下是我们在整个训练过程中跟踪的评估曲线,以及来自最终检查点的几张示例网格图:

对于仅一天的训练来说,这已经是一个相当不错的状态了。该模型并非完美无缺(你仍然可以发现一些纹理瑕疵、偶尔出现的怪异解剖结构,并且在处理非常困难的提示词时可能会有些不稳定),但它显然是可用的。提示词遵循能力很强,整体美学风格一致,并且 1024 阶段基本达到了我们的预期:在不破坏构图的情况下锐化细节。

关键结论是,我们已经非常接近目标了。剩余的问题看起来更像是训练不足的痕迹和数据多样性有限所致,而非配方本身存在结构性缺陷。这些失败模式与人们对一个尚未见过足够多样化数据的模型所预期的表现是一致的。有了更多的算力和更广泛的数据覆盖,这个确切的设置应该会以相当可预测的方式继续改进。

从更宏观的角度来看,这次极速训练也凸显了扩散模型训练已经取得了多大的进步。通过结合像素空间训练、高效路由、表征对齐和轻量级感知引导,你现在可以在大约一天的时间内,以不久前听起来还不切实际的预算,得到一个有意义的模型。

下一步是什么?

这 24 小时的训练只是一个起点,而非终点线。接下来,我们将继续以稍大的规模推进相同的配方,并在数据集组合和标注方面进行迭代。

这次极速训练背后的所有代码和配置,以及贯穿第一部分和第二部分的完整实验框架,均可在 PRX 仓库中获取:https://github.com/Photoroom/PRX。

虽然我们不会重新分发本次运行中使用的精确训练数据集,但该流程是完全可配置的,旨在方便你适配自己的数据。你可以接入不同的数据集,调整各个组件(TREAD、REPA、感知损失、Muon 等),并以极低的摩擦成本进行受控实验。我们的目标是使其成为快速扩散研究的实用试验场,并希望社区能利用它,在自己的环境中探索、基准测试并迭代这些技术。

如果你读到了这里,感谢你的阅读。我们也非常欢迎你加入我们的 Discord 社区,在那里我们会分享 PRX 的进展和结果,并讨论任何与扩散模型和文生图相关的话题。

暂时告别,敬请期待下一轮实验!🚀

致谢。

本次速跑受到了近期几项探索快速且低成本训练扩散模型工作的启发。如果你对速跑文生图模型感兴趣,我们鼓励你查阅以下工作:

  • Haridas, A., Shen, T., Yu, J. Nitro-T: 在 1 天内从零训练一个文生图扩散模型。https://rocm.blogs.amd.com/artificial-intelligence/nitro-t-diffusion/README.html
  • Bhanded, S. 速跑 ImageNet 扩散模型。https://arxiv.org/abs/2512.12386
  • Sehwag, V., Kong, X., Li, J., Spranger, M., Lyu, L. 把每一分钱都用在刀刃上:在微预算下从零开始训练扩散模型。https://arxiv.org/abs/2407.15811
  • Yeh, S.-Y. 从零到孵化:自制扩散模型。https://arxiv.org/abs/2509.06068

来源:Hugging Face:Blog(RSS)· huggingface.co