CVPR 2025 Zero-shot能力拉满!随机顺序自回归解锁视觉领域的“GPT时刻”

©作者 | 庞子奇

单位 | UIUC

研究方向 | 计算机视觉


语言领域的自回归(AR)模型看似一统江湖,但是视觉领域还没有范式让大家的 “Scaling Law” 可以跨越更多任务、更多应用前几天 Gemini 和 GPT 发布的图像编辑功能验证了视觉自回归的潜力,但是它距离语言领域的 “GPT 时刻” 到底还有多远?


我相信,我们 CVPR 2025 刚刚中稿的文章 RandAR 展示了视觉 “GPT 时刻”的一个新探索——自回归 AR 模型需要能“看”、“理解”、“生成”任意位置和顺序的图像 Token 才可以实现 GPT 在语言领域一样的泛化性,而这也是创造更强的视觉模型的基础。在此也特别感谢这篇论文的合作者张天远 @Alcho 和满运泽 @Yunze MAN。


论文标题:

RandAR: Decoder-only Autoregressive Visual Generation in Random Order

论文地址:

https://arxiv.org/abs/2412.01827

▲ 任意顺序生成——让模型“指哪打哪”



引子

1.1 什么是 GPT 成功的本质?

从去年开始,我和合作者一直在思考:如何在计算机视觉领域复刻 GPT 在语言模型中的成功?我相信,这也是现在几乎每一位研究计算机视觉、研究多模态的研究者都在思考的问题。


所以在开始讨论视觉领域的 “GPT 时刻” 之前,我们不妨分析一下语言模型领域的 “GPT 时刻” 本质是什么?


1. Next-token Prediction,即 Auto-Regressive(AR)范式,提供了把所有文本任务、文本应用统一在一起的 Formulation


2. 结合 Decoder-only 结构,Next-token Prediction 使得大规模训练对 Infra 友好、可以非常高效


3. 正因为第一点“统一的 Formulation”,我们可以收集海量数据,最终得到一个能够 Zero-shot 泛化的大模型


所以说,GPT 在语言领域的成功 —— 不只是 next-token prediction。

1.2 为什么现在的 Vision 模型距离 “GPT 时刻” 差在哪里?

在视觉模型中模仿 GPT 的配方,即 “Decoder-only”+“Next-token Prediction”,从去年年中的时候就开始了一些探索,代表作有:LLaMAGen,Chamelon,Transfusion,Show-O,Emu3,当然也有 DeepSeek 的 Janus,他们集中在让 Image Tokens(也包括文本 Token)也按照 Next-token Prediction 的范式进行学习


好的,那它们距离 GPT 时刻的距离还在哪里?只是单纯的数据、模型还没有增加到足够的 Scale,还是他们仍然有本质的缺陷?


我们回顾之前提到的三个 GPT 时刻的本质:


1. “Next-token Prediction 提供了统一的 Formulation”:这些模型没有做到这一点,我们下面会分析为什么。


2. “Decoder-only + Next-token Prediction对Scaling Up非常友好”:对 Scaling Up 的支持,这些模型因为遵循了 Next-token Prediction + Decode-only,所以都可以做到。


3. “通过海量数据,zero-shot 泛化到多种场景”:从个人的观察来看,这些模型大部分能力还是专注于处理一些 in-domain 的场景,所以暂时还没完全体现出 zero-shot 泛化


那么是什么限制了这些模型复刻 GPT 范式的成功呢?当我们按照一维的顺序做 Next-token Prediction,势必要把二维的 Image Tokens 转化成一维的序列,而之前的方法在这里采用了一个提前规定好的顺序——Raster-Order,也就是从图片的左上角开始一行一行地生成 Image Tokens,像下面的动图一样。

▲ Raster-order 图像生成


这种做法最大的限制是这样训练出来的模型:


1. 无法按照任意顺序处理 Image Tokens,所以很显然,他们面对 editing 任务或者针对图片特定区域 Perception 的任务会很挣扎。因此,这样的 Next-token Prediction 很难成为“把所有任务统一在一起的 Formulation”——也就是违背了上面 GPT 成功的第一个条件。


2. 无法 Zero-shot 泛化,也正是因为生成顺序的限制,这样的模型很难未经训练直接泛化到新的场景上,比如说新的图片分辨率(resolution)、提取图片的 Representation。也就违背了上面的第三个条件。


所以说,如果按照固定顺序去做 next-token prediction 的模型,某种程度上得了 GPT 的“形”,但是距离实现 GPT 在语言领域的成功还有很长的路要走。

1.3 我们的 Insight:任意顺序是关键

上述的模型,它们最主要的限制就是“只用一种方式做二维图像到一维序列的映射”——所以解决这些问题的关键在于——如何让 GPT 模型可以处理任意的二维图像顺序这也是我们的 RandAR 的起点:


1. 让一个和 GPT 相同的 Decoder-only Transformer 可以按照 Random-order 生成图像


2. RandAR 可以 Zero-shot 泛化到新的场景上,包括但不限于一些全新的角度——Parallel Decoding(next set-of-token)、生成更高分辨率图片,而且它还可以直接做 Generative Model 的另一面——Representation Learning

▲ RandAR:任意顺序图像生成解锁 Zero-shot Capabilities


所以,我们希望 RandAR 可以指向一个全新的“视觉领域 GPT” 的路径



RandAR:如何用任意顺序生成图片

RandAR 的方法非常简单:既然我们想要让模型可以生成任意顺序的图像 Token,那么我们需要把顺序用某种方式“告诉”模型。我们用一种特殊的 Token,叫做Position Instruction Tokens,代表下一个需要生成的 Image Token 在哪个位置,来指导模型生成 Image Tokens。


Method 部分到此结束,其实非常简单。


▲ RandAR:按照任意顺序生成图片


(如果你不需要算法细节,可以节省时间,通过目录直接跳过这部分去结尾—我们对视觉 AR 模型终局的想象)



重头戏:RandAR 和它的 Zero-shot 能力们

说了这么久 “GPT 时刻”,我们在这个 Paper 里面把刷点放在非常次要的位置,而是花了大量的时间在——任意顺序(Random-Order)真的可以带来大量的 Zero-shot 新能力吗?


(如果你日不需要算法细节,可以节省时间,通过左侧目录直接跳过这部分直接去结尾我们对视觉 AR 模型终局的想象)

3.1 Parallel Decoding —— Next Set-of Tokens Prediction

Autoregressive 模型的一个缺陷(相比于 Diffusion Models)在于它的速度——对于图像生成,它的延迟(Latency)主要取决于采样的步数。所以我们做的第一件事情就是——我们的模型是否可以 Zero-shot 泛化做到 Parallel Decoding


我们非常看重 “zero-shot”,因为在 LLM 里面 Parallel Decoding 一般都是需要做一些 Fine-tuning 实现的。我们的实现非常简单——每一步同时生成多个来自随机位置的 Token 即可。这样的方式可以直接提速 2.5 倍,而不会带来任何的 FID 降低。


▲ Zero-shot Parallel Decoding

3.2 图像编辑、Inpainting、Outpainting

这两种能力是老生常谈了。因为可以处理任意顺序,我们的 RandAR 可以解决这两种应用。方法很简单:把所有已知的上下文(Context Tokens)放在一开始,然后让模型去生成新的 Tokens。

▲ Random Order 实现图像编辑、Inpainting、Outpainting

3.3 Zero-shot 放大分辨率

我们花了大力气做了这样一件事情——如果模型是在 256×256 的图片上训练的,那么它的参数是否可以直接生成更大分辨率,例如 512×512 的图片?


在这里,我们特殊强调要求图片必须展示一个 unified object,而不是通过 Outpainting 可以实现。我们因为可以控制生成顺序,所以提出了两步走的方法:


1. 第一步先找对应低分辨率的 Token 生成,得到全局结构


2. 第二步再去填充高分辨率的 Token,得到高频细节

▲ Resolution Extrapolation。可以看到下面的图片包含了比 256×256 图片更多的细节,比如说毛发的纹理。

3.4 统一 Encoding(Representation Learning)

最后一个问题,也是个人以为的视觉领域 “Autoregressive Generation” 的 Open Problem:在视觉领域,Representation是泛化到下游任务的基础(比如说 CLIP 和 DINO),那么如何统一理解(Encoding)与生成(Decoding)


这个问题对于语言处理领域可能重要性稍微低一些,但是对于视觉领域根本关系到 “GPT” 时刻。


这个问题对于 Decoder-only 的 GPT 结构模型会更难一些——因为 Decoder-only 模型采用的是 Causal Attention,也就意味着在序列中靠前的 Token 没有办法”看见“在后面的 Token,那它的 Representation 就只能代表很少的一部分信息。


最极端的例子就是——第一个图片 Token 只有它自己 Patch 的信息,根本无法知道图片的其它位置。


一个直接的解决办法就是——把图像 Token 序列再输入一遍,然后我们只取第二轮序列的 Representation(如下图),这样每个图片 Token 都可以得到完整的图片信息了。从对比中可以看到,


  • 使用了 Random-order 的模型可以直接泛化到这种提取 Representation 的方式(柱状图左侧),

  • 但是按照 Raster-order 训练的模型却会直接崩掉(柱状图右侧)。

看到这个结果的时候我们其实很开心——因为这是第一次我们看到一个 Decoder-only 的模型用单向(Uni-directional)Attention 可以实现 Encoder 模型用双向(Bi-directional)Attention 做到的功能。

▲ 泛化到 Bi-directional Representation Encoding

3.5 总结

回到文章的最开始——我们希望这里的多种 Zero-shot 能力证明——处理随机顺序的能力是让自回归模型能够解锁视觉 “GPT 时刻” 的重要部分。



一些分析和反思

(如果你不需要算法细节,可以节省时间,直接跳过这部分去结尾—我们对视觉 AR 模型终局的想象)

4.1 模型是怎么记住 N! 个顺序的

当我们采用随机顺序训练,模型需要记住的图像 Token 顺序会爆炸式的增长。比如说 256×256 的图片有 16×16=256 个图像 Token,那么一共会有  种顺序,大概是 


好的,那么问题来了——模型是怎么记住这么多顺序的?通过一些数学分析,我们可以得到如下结论:在生成的后半部分,也就是当我们生成第  个 Token 之后的内容时,每个新 Token 都有超过 90% 的概率会有一个相邻位置已经有生成的 Token 了,这些相邻的上下文大大降低了模型的难度。

4.2 生成时候的顺序

RandAR 可以按照任意的顺序生成图片,但是会不会有哪种顺序更好呢?我们试验了一些人类直观上比较合理的顺序,可以看到还是随机的顺序生成图片的 FID 是最好的。


这里我们的猜测是:(1)随机的顺序可以更好地结合来自图片不同位置的上下文,比如说从下表中我们可以发现,那些让图像在生成早起 Token 更分散的顺序可以得到更好的效果;(2)随机的顺序增强了图像生成的多样性。

▲ 不同生成顺序的比较

4.3 遗憾

在研究 RandAR 的过程中,我们一直尝试找到一个最优的顺序,或者像 Mask AR 一样,通过一些信息熵之类的指标找到最优的采样顺序,可惜一直没有成功。


另外受制于计算资源,我们没有办法把 RandAR 推广到 Text-to-image 或者视频生成领域我们希望这种让模型更好理解时空位置的训练方式可以在更大的数据上爆发 Scaling Law。


最后,我们还有诸多 Zero-shot 能力没有精力完全尝试或者实验成功,也许因为 RandAR 模型主要是在 ImageNet 上训练的,例如 RandAR 是否可以直接生成可控位置的多物体图片


期待会有朋友继续探索,实现这些遗憾!



广结善缘:社区里的其他相关研究

(如果你不需要算法细节,可以节省时间,直接跳过这部分到结尾—我们对视觉 AR 模型终局的想象)

5.1 基于 Encoder-Decoder 的 Mask AR

对我们的 RandAR 启发最大的工作是去年年中 Kaiming He 和 Tianhong Li 实现的 MAR,最主要的区别是 MAR 研究的是 Encoder-Decoder 结构,而我们主要关心 Decoder-only,也就是和 GPT 相同结构的模型。


另外一个核心的 Insight,即为什么我们会对 Decoder-only 的方式有信心,在于 Encoder-Decoder 的 Masked AR 在训练的过程中需要手工规定一些 Masking Ratio,这些 “Human Priors” 某种程度上也许会让模型的 Scalability 被限制。

5.2 其它方式的 AR 生成

另外一些相关的 AR 为了解决从 2D 图像序列到 1D Token 序列都需要一些额外的设计——例如 VAR 设计的按照从低到高的分辨率去生成图像 Token。但是这些设计从某种程度上也都需要人类的先验知识,而我们则希望 RandAR 可以尝试一种完全不需要人工先验的结构

5.3 随机顺序的视觉 AR 生成

和我们同期的工作是来自字节跳动的 RAR,他们证明了通过 Random Order 的训练模型可以得到更好的生成质量——这其实和我们一样,验证了“任意顺序”对于视觉模型的重要性。


RAR 在生成质量上达到了 SOTA,我们和它的不同在于:RAR 在做生成的时候仍然要回到单一的 Raster-Order,而我们更注重在生成的时候可以按照任意顺序并支持大量的 Zero-shot Capability。

5.4 视觉 AR 中的 Parallel Decoding

关于生成顺序对于 Parallel Decoding 的重要性,和我们非常相关的是两个同期工作:(1)PAR 研究了如何指定生成的顺序可以支持 Parallel Decoding;(2)SAR 研究了如何小幅度修改 Decoder-only 结构可以让自回归模型能够实现 Parallel Decoding。

5.5 RandAR 的后续工作

最后,我们也很高兴看到我们的文章已经启发了一些后续工作。ARPG 很好地解决了 RandAR 里面需要额外 Position Instruction Token 带来的问题并且拓展了更多的应用,例如 ControlNet。



对 Gemini 和 GPT4o 图片编辑的一些猜测 & AR 的未来

6.1 Gemini 和 GPT4o 图片编辑

最近 Gemini 和 GPT4o 都公开了自己的 in-context 图像编辑的功能(比如下面的例子)。它们的设计大概率沿用了多模态 AR 的思想,就是让语言模型可以合成一些图像 Token、或者 Diffusion 模型的一些 Conditional Input。

事实上,实现这样的图像编辑,也许并不一定需要直接应用上面讲述的“随机顺序”能力,我们可以想象一种最“浪费”的实现方式:哪怕我们只需要修改图片的一个小部分,我们还是让模型去训练按照 Raster-Order 或者 Multi-resolution 的方式重新生成每一个 Patch


这种“浪费 Token” 的方式除了对效率的不友好,另外一个限制其实在于 Token 学习效率的降低——如果绝大多数 Token 都在学习如何重复之前图片的内容,模型在真正需要 Reasoning 的 Token 上获得的信号实际上就被降低了。


那么这就引向了我们对于视觉 AR 终局的想象

6.2 视觉自回归模型(AR)的终局

视觉 AR 的终局,必然要让模型可以


1. 统一“生成”图像编辑、图像生成…)与“判别”(多模态 QA、图像分割、深度估计…)


2. 处理“任意”位置、“任意”顺序、“任意”指令


而我个人认为,视觉 AR 的最终范式,在于它要有 “Action”(动作)的能力,因为视觉最终服务的是和物理世界进行交互我希望可以借助一句“百年孤独”里的话说明 “Action” 的意义:


世界新生伊始,许多事物还没有名字,提到的时候尚需用手指指点点。


因此,一个真正全能的视觉 AR 模型,需要设计一套通用的 Action,让生成(Generation)、理解(Perception)、推理(Reasoning)可以在同一个 Token 序列中被采样。


事实上,当我今天看到很多 Vision-Language Model 的论文增加了一些 Special Token,例如图像分割的 <SEG>,我都会把它看成是迈向“通用 Action” 的中间一步。而我们研究的随机顺序,特别是 Position Instruction Tokens,实际上就给予了模型“指指点点”的能力


对于一些其它的模型,比如说推理模型中的 <think>、感知细节模型的 Visual Chain-of-thought,本质上都是为 AR 模型加上了一些“动作”(Action)Token。


我自己的愿景是未来会有一个统一的 Transformer,它的参数可以直接应用到多种模态、多种任务,也就是实现一个终极的自回归 AR 模型我之前的探索也验证了这条路线的潜力(ICLR 2024,用 LLM 的参数处理视觉任务)。


我期待着下一代的视觉模型不再是用眼睛“看书”,而是也可以用手“揉面”——它有一双“手”,可以随心所欲地把面压缩、放大、改变形状,变成我们真正想要的面包和点心。


(文:PaperWeekly)

发表评论

×

下载每时AI手机APP

 

和大家一起交流AI最新资讯!

立即前往