PixArt-α:用 Transformer 替代 U-Net 做扩散,训练成本降低了 10 倍的秘密

假设你是个有野心的AI研究员,手里只有8张V100,却想训练一个自己的文生图模型。Stable Diffusion的训练成本大约在几十万美元量级,你连想都不敢想。但2023年10月,一篇论文说:我们把训练成本砍掉了90%,而且只用8张V100就能在10天左右完成训练。这篇论文就是PixArt-α

AI technology illustration

更让所有人意外的是,它做的第一件事不是优化训练技巧,而是把U-Net给扔了。要理解这个决定有多大胆,你得先知道U-Net在扩散模型里有多重要。

一张图是怎么"画"出来的?

扩散模型的基本思想是:先给图像加噪声直到变成纯随机,然后训练一个网络学会反向去噪。每一步去噪,网络都要输出一个对"干净图像"的预测。这个网络在整个过程中要被调用几十次甚至上百次,所以它的计算效率直接决定了训练和推理的成本。传统上,这个网络就是U-Net。

U-Net到底贵在哪?

U-Net是一个卷积编码器-解码器,它的优势在于卷积核天然适合处理图像局部特征,而且参数量可控。但问题是,卷积的感受野有限,要想让网络理解全局关系,比如"左边是天空,右边是草地",就得把网络层数加得很深。层数越深,梯度越难传,计算量也越大。更麻烦的是,U-Net的归纳偏置太强——它天生认为图像是局部相关的,这在自然图像上是对的,但遇到需要长程依赖的场景,比如"远处的树和近处的树应该有相似的纹理",U-Net就得靠堆通道来弥补,效率非常低。

那用Transformer呢?Transformer的自注意力机制让每个位置都能直接看到所有其他位置,天然支持全局建模。但这个好处不是白来的——注意力矩阵的复杂度是O(n²)。你可以这样想象:模型给一张图,上面有256个token,每个token都要跟其他255个token打个招呼,这就是6.5万次交互。虽然这个数字看起来很大,但相比卷积层一层层堆叠才能看到远处,注意力机制一步到位,计算效率反而更高。而且图像通常被压缩到潜空间,token数可以控制,比如PixArt-α在256×256图像上只有256个token,这个规模是可行的。

其实在PixArt-α之前,已经有研究者尝试过用Transformer做扩散,最有名的是DiT。但DiT只是把U-Net换成了Transformer,训练成本依然很高,因为它没有解决一个根本问题:图像生成和文本理解这两件事混在一起训练,互相干扰,导致训练效率低下。

PixArt-α的三把手术刀

那么,PixArt-α具体是怎么做的?它的答案不是某一个单一技巧,而是一套组合拳。我把这套组合拳称为"三把手术刀"——每把刀都精准地切开一个纠缠在一起的问题。

第一个是数据解耦。之前的文生图模型,训练数据必须是"图像+对应文本"的配对。但高质量的图文配对数据非常贵,爬下来的网页数据大多是噪声。PixArt-α发现,图像生成本身和文本理解是可以分开学的。它先用大规模无文本图像训练模型学会"怎么生成一张图",再用少量图文对教会它"怎么根据文本调整生成结果"。数据解耦之后,对图文对的数量要求大幅降低,数据成本自然就下来了。

第二个是训练过程解耦。PixArt-α把训练拆成三个阶段,每个阶段只学一个能力:

  1. 像素空间学习:用无文本图像,让模型学会从噪声中恢复出有意义的图像结构。这个阶段等价于训练一个无条件生成模型,计算上可以极度并行。
  2. 潜在空间学习:在VAE编码后的潜空间中继续训练,让模型学会生成更精细的纹理和细节。
  3. 文本条件学习:冻结前两个阶段学好的模型参数,只训练交叉注意力层,让模型学会把文本语义映射到图像特征上。

这个三阶段策略,每一步都只更新最少的参数。特别是第三阶段,整个模型的图像生成能力已经固定,只需要学习"如何看文本"这个新技能。就好比你已经学会了画画,现在只需要学习"老师说什么,我就画什么",而不是从头再学一遍画画。

第三个是模型设计解耦。在架构层面,PixArt-α把图像和文本特征完全分开处理。图像token经过一系列自注意力层,学习图像内部的全局关系;文本token通过交叉注意力层注入,每层都让图像特征和文本特征交互一次。这样设计的好处是,前两个训练阶段根本不需要跑文本编码器,节省了大量计算。而且因为图像和文本的交互只发生在交叉注意力层,模型不容易产生模态间的梯度冲突。

你可能会问,这三个解耦听起来都很有道理,但为什么就能降低10倍成本?关键在于每一步的计算量。端到端训练时,模型必须同时处理图像和文本,每个batch都要把文本编码器跑一遍,然后计算整个模型的梯度。而在三阶段解耦中,第一阶段没有文本,你不需要用文本编码器,损失函数的计算量只有图像部分;第二阶段同样不需要文本;第三阶段虽然有了文本,但模型主体被冻结,只有交叉注意力层在更新,反向传播的路径短了很多。综合下来,同样的GPU资源能完成的有效训练量比端到端多了将近一个数量级。

它到底省在哪了?

这三个解耦合在一起,训练成本就降下来了。我最早以为PixArt-α的核心就是"用Transformer替换U-Net",但后来对比了DiT和它之后才发现,架构只是表象。DiT同样用了Transformer,但训练成本并没有比U-Net低多少。真正让成本降下来的是训练策略——三阶段解耦让计算资源只花在刀刃上。第一阶段没有文本,可以用最便宜的方式大规模并行;第二阶段没有文本,同样节省了文本编码的计算;第三阶段只训练少量参数,成本几乎可以忽略。

为了让你直观感受,我列个对比:

项目 传统U-Net扩散 PixArt-α(DiT+解耦)
全局建模 需要深层卷积堆叠,感受野有限 自注意力直接全局交互
扩展性 数据增多容易过拟合,收益递减 数据越多收益越明显
文本融合 条件归一化或与图像编码混合 交叉注意力独立注入,文本与图像特征分离
训练策略 端到端联合训练,所有参数一起更新 三阶段解耦,逐步冻结部分参数

那实际效果呢?PixArt-α在ImageNet 256×256上训练,只需要约10.8个V100天,而之前的LDM需要约100个V100天,成本直接降了一个数量级。在MS-COCO和CC12M等数据集上,它生成图像的FID分数已经能和Stable Diffusion掰手腕,某些指标还略胜一筹。这个结果让很多人意外:原来不用堆算力,也能训出高质量的文生图模型。

不过,训练成本降低不是没有代价的。PixArt-α对文本编码器的依赖非常重,它用的是T5,而T5本身是一个超大模型。虽然训练时冻结了T5,但推理时仍然要跑一遍T5来提取文本特征,所以推理成本并没有降低。另外,三阶段解耦也有个隐含假设:先学会图像,再学会听话。这个假设对人类学习是成立的,但对某些需要深度语义理解的复杂场景,可能不够用。比如生成"一只在雨中的穿着红色雨衣的狗,背景是模糊的城市街道"这种复杂描述时,PixArt-α有时会忽略一些细节,因为它对文本语义的理解主要靠第三阶段的交叉注意力层,而这个层是在冻结的图像特征上训练的,灵活性有限。

常见误解三连问

误解一:用Transformer替代U-Net就是全部秘密

不。DiT也是Transformer,但训练成本依然很高。真正关键的是训练过程的三阶段解耦,让每一步都只更新最少参数。

误解二:训练成本降低,生成质量一定会变差

实际上PixArt-α在多个基准上达到了与Stable Diffusion相当甚至更好的FID分数。训练成本降低是因为避免了很多无效计算,而不是牺牲了能力。

误解三:三阶段训练比端到端更慢

恰恰相反。端到端训练需要同时优化图像和文本,梯度互相干扰,收敛很慢。三阶段每个阶段目标单一,收敛速度快得多。

我的判断:解耦比架构更值钱

到这里,你应该已经理解了PixArt-α的秘密。最后说说我的判断:PixArt-α最大的贡献不是那个Transformer架构,而是"解耦"这个思想。它告诉我们,当你觉得一个系统训练起来很贵的时候,先别急着加算力,想想能不能把系统拆成几个独立的问题逐个击破。这个思路后来影响了很多工作,包括Sora的视频生成架构——先学视觉,再学对齐。甚至可以说,现在几乎所有高效训练扩散模型的方法,都带着PixArt-α的影子。

如果你以后想训练自己的生成模型,别一上来就堆数据堆显卡。先问问自己:这个任务里,哪些能力是独立的?能不能分开学?答案往往能帮你省下十倍的成本。这才是PixArt-α真正值钱的地方。

原创文章,作者:guanweilu,如若转载,请注明出处:https://guanweilu.cn/article/268.html

(0)
上一篇 2026年8月23日
下一篇 2026年8月24日

相关推荐