刚拿下NeurIPS最佳论文,字节就开源VAR文生图版本,拿下SOTA击败扩散模型
推理速度上2B模型上比同尺寸SD3快了3倍,比Flux dev快14倍
允中 发自 凹非寺
量子位 | 公众号 QbitAI
自回归文生图,迎来新王者——
新开源模型Infinity,字节商业化技术团队出品,超越Diffusion Model。

值得一提的是,这其实是从前段时间斩获NeurIPS最佳论文VAR衍生而来的文生图版本。

在预测下一级分辨率的基础上,Infinity用更加细粒度的bitwise tokenizer建模图像空间。同时他们将词表扩展到无穷大,增大了Image tokenizer的表示空间,大大提高了自回归文生图的上限。他们还将模型大小扩展到20B。
结果,不仅在图像生成质量上直接击败了Stable Diffusion3,在推理速度上,它完全继承了VAR的速度优势,2B模型上比同尺寸SD3快了3倍,比Flux dev快14倍,8B模型上比同尺寸的SD3.5快了7倍。

目前模型和代码都已开源,也提供了体验网站。
来看看具体细节。
自回归文生图新王者
在过去自回归模型和扩散模型的对比中,自回归模型广受诟病的问题是生成图像的画质不高,缺乏高频细节。
在这一背景下,Infinity生成的图像细节非常丰富,还能够生成各种长宽比图像,解掉了大家过去一直疑虑的VAR不支持动态分辨率的问题。
具体性能上面,作为纯粹的离散自回归文生图模型,Infinity在一众自回归方法中一鸣惊人,远远超过了HART、LlamaGen、Emu3等方法。


与此同时,Infinity也超过了SDXL,Stable diffusion3等Diffusion路线的SOTA方法。
人类评测上,用户从画面整体、指令遵循、美感三个方面对于Infinity生成图像和HART、PixArt-Sigma、SD-XL、SD3-Meidum生成图像进行了双盲对比。
其中HART是一个同样基于VAR架构,融合了diffusion和自回归的方法。PixArt-Sigma、SD-XL、SD3-Meidum是SOTA的扩散模型。
Infinity以接近90%的beat rate击败了HART模型。显示了Infinity在自回归模型中的强势地位。
此外,Inifnity以75%、80%、65%的beat rate击败了SOTA的扩散模型如PixArt-Sigma、SD-XL、SD3-Meidum等,证明了Infinity能够超过同尺寸的扩散模型。

那么,这背后具体是如何实现的?
Bitwise Token自回归建模提升了模型的高频表示
大道至简,Infinity的核心创新,就是提出了一个Bitwise Token的自回归框架——
抛弃原有的“Index-wise Token”,用+1或-1构成的细粒度的“Bitwise Token”预测下一级分辨率。
在这个框架下,Infinity表现出很强的scaling特性,通过不断地scaling视觉编码器(Visual Tokenizer)和transformer,获得更好的表现。

在Bitwise Token自回归框架中,关键技术是一个多尺度的比特粒度视觉编码器(Visual Tokenizer)。
它将H×W×3大小的图像编码、量化为多尺度的特征:1×1×d,2×2×d,…,h×w×d。其中d是视觉编码器的维度,每一维是+1或-1。词表的大小是2d。过去的方法中,会继续将d维的特征组合成一个Index-wise Token(索引的范围是0~2d-1,用这个Index-wise Token作为标签进行多分类预测,总共类别是词表大小,即2d。
Index-wise Token存在模糊监督的问题。如下图所示,当量化前的连续特征发生微小扰动后(0.01变成-0.1),Index-wise Token的标签会发生剧烈变化(9变成1),使得模型优化困难。
而Bitwise Token仅有一个比特标签发生翻转,其他比特标签仍能提供稳定监督。相比于Index-wise Token,Bitwise Token更容易优化。

研究人员在相同的实验设置下对比了Index-wise Token和Bitwise Token。
结果显示,预测Bitwise Token能够让模型学到更细粒度的高频信号,生成图像的细节更加丰富。

无穷大词表扩展了Tokenizer表示空间
从信息论的角度来看,扩散模型采用的连续Visual Tokenizer表示空间无穷大,而自回归模型采用的离散Visual Tokenizer表示空间有限。
这就导致了自回归采用的Tokenizer对于图像的压缩程度更高,对于高频细节的还原能力差。为了提升自回归文生图的上限,研究人员尝试扩大词表以提升Visual Tokenizer的效果。
但是基于Index-wise Token的自回归框架非常不适合扩大词表。基于Index-wise Token的自回归模型预测Token的方式如下图左边所示,模型参数量和词表大小正相关。
当d=32的时候,词表大小为232,预测Index-wise Token的transformer分类器需要有2048×232=8.8×1012=8.8T的参数量!
光一个分类器的参数量就达到了50个GPT3的参数量,这种情况下扩充词表到无穷大显然是不可能的。

研究人员的解决方法简单粗暴,如上图右边所示,丢掉索引,直接预测比特!有了Bitwise Token自回归建模后,研究人员采用d个+1或-1的二分类器,并行地预测下一级分辨率+1或-1的比特标签。做出这样的改变后,参数量一下从8.8T降到了0.13M。所以说,采用Bitwise Token建模自回归后,词表可以无限大了。
有了无限大词表,离散化的Visual Tokenizer落后于连续的问题似乎没有这么严重了:

如上表所示,当词表大小放大到后,离散的视觉编码器在ImageNet上重建的FID居然超过了Stable Diffusion提出的连续的VAE。

从可视化效果来看,无限大词表(Vd=232),相比于小词表,对于高频细节(如上图中的人物眼睛、手指)重建效果有质的提升
Model Scaling稳步提升效果
解决了制约生成效果天花板的视觉编码器的问题后,研究人员开始了缩放词表和缩放模型的一系列实验。
研究发现,对于125M的小模型,使用Vd=216的小词表,相比于Vd=232的大词表,收敛的更快更好。
但是随着模型的增大,大词表的优势逐渐体现出来。当模型增大到2B并且训练迭代超过50K以后,大词表取得了更好的效果。最终Infinity采取Vd=232的大词表,考虑到232已经超过了int32的数值范围,可以认为是无穷大的数,这也是Infinity的命名由来。
总结来看,(无穷)大词表加大模型,加上充分的训练后,效果要明显好于小词表加大模型。

除了scaling词表以外,研究人员还做了对Infinity模型大小的scaling实验。
他们在完全相同的实验设定下比较了125M、361M、940M、2.2B、4.7B五个不同尺寸大小的模型。
可以看到,随着模型的增大和训练资源的增加,验证集损失稳步下降,验证集准确率稳定提升。另外,研究人员发现验证集Loss和各项测试指标存在很强的线性关系,线性相关系数高达0.98。

下图每个九宫格对应同一个提示词在不同模型大小、不同训练步数的生成图像。
- 从上往下分别是:逐渐增大模型规模,对应125M、1B、5B模型生成的图像。
- 从左往右分别是模型训练的步数逐渐增多后生成的图像。
我们能明显看出:Infinity有着良好的scaling特性,更大的模型、更多的训练,能够生成语义结构、高频细节更好的图像。

另外Infinity还提出了比特自我矫正技术,让视觉自回归文生图模型具有了自我矫正的能力,缓解了自回归推理时的累计误差问题。

Infinity还能够生成各种长宽比图像,解决了VAR不支持动态分辨率的问题。
下图列出了Infinity和其他文生图模型对比的例子。
可以看到,Infinity在指令遵循,文本渲染、画面美感等方面都具有更好的表现。

除了效果以外,Infinity完全继承了VAR预测下一级分辨率的速度优势,相比于扩散模型在推理速度上具有显著的优势。

2B模型生成1024×1024的图像用时仅为0.8s,相比于同尺寸的SD3-Medium提升了3倍,相比于12B的Flux Dev提升了14倍。8B模型比同尺寸的SD3.5快了7倍。20B 模型生成1024×1024的图像用时3s,比12B的Flux Dev还是要快将近4倍。
目前,在GitHub仓库中,Infinity的训练和推理代码、demo、模型权重均已上线。
Infinity 2B和20B的模型都已经开放了网站体验,感兴趣的同学可以试一试效果。
开源地址: https://github.com/FoundationVision/Infinity
项目页面: https://foundationvision.github.io/infinity.project/
体验网站: https://opensource.bytedance.com/gmpt/t2i/invite
