视觉生成超详细解读 (目录)
吐血写了十几期视觉生成,这5个反常识的发现,让我半夜坐起来写了这篇
你知道吗?我最近迷上了看论文。
不是那种苦大仇深的看——是半夜抱着手机刷到两点,越刷越精神。
尤其是视觉生成这个领域。你一个月不盯,人家就冒出十来个新名字。刚搞明白VQGAN怎么训,第二天就有论文告诉你:VQ?不用了!
今天这篇,不是给你读论文的流水账。
我要把写这十几期系列背后,踩过的坑、翻过的车、瞪大的眼睛,全摊在你面前。
看完你至少能明白一件事:这条技术线到底在往哪个方向窜?哪些是真有用,哪些只是包装得好?
来,跟着我捋一遍。
一、自回归视觉生成:连续token掀了VQ的桌子
说到自回归生成,你第一反应肯定是VQ。图像打成离散码本,像语言模型那样做next token prediction。
但离散码本有个死穴——高保真和高压缩比是天敌。
你想要画质好?token就得够多。token一多,显存和计算直接爆炸。又笨重,又难训,动不动就炸。
直到MAR出现了。
我第一次看到MAR的时候,那感觉怎么形容呢——就像你刚学会骑自行车,突然有人骑着火箭从你头顶飞过。
Kaiming的团队啊,直接掀桌子了:不用VQ,拿连续特征做自回归,每个step用扩散模型来预测下一个token。
你想想,这得多大胆?
但我自己上手试的时候,第一个坑就来了——扩散步数选多少?
论文里默认100步采样。那是给有A100的人准备的。
我呢?24GB卡,20步扩散,配合DDIM采样器加速,才勉强跑通一个简单任务。步数太少(比如5步),生成的东西糊成一团,纹理细节全丢;步数加到50步,效果好了,但每个step要跑50次反向扩散,显存直接崩了。
这件事给我的第一课是:论文里的参数,别信。那是给土豪看的。
然后是Fluid,MAR的嫡系文生图版本。
说实话,这玩意儿比MAR更让我头疼。
为什么?因为文本嵌入和视觉特征的对齐,在连续空间里更难控制。你想想语音和图像,本来就不是一种语言,你要强行让它们在连续空间手拉手。
我复现时发现:如果tokenizer的压缩率太高(比如8×),文本语义会漏掉细粒度指令。你让它画个“戴红帽子的白猫”,它给你画个猫,帽子没了。
压缩率低了?序列长度又太长,自回归跑不动。
Fluid的做法是旁路一个文本编码器,把文本特征直接注入每一步的扩散loss里。这个设计后来被很多人抄走了。
说到这儿,我特别想提TokenBridge——这是我认为被严重低估的一个工作。
它的想法尤其聪明:桥接离散和连续token,做后训练量化。
怎么理解呢?你先训一个连续tokenizer,再用轻量量化模块转成离散码。这样既能享受连续tokenizer的高保真,又能让离散习惯的模型用上。
但实操里有个暗坑——量化模块的码本学习容易崩塌。
我试了两种初始化和EMA更新,只有EMA配合余弦退火能稳下来。否则训着训着,码本利用率掉到20%以下。你想想,20%的码本在用,剩下的80%都是废的,这得多浪费?
SimpleAR是我最喜欢的一个。0.5B参数,自回归文生图,GenEval得分0.59。
0.59是什么概念?
同样分数的DiT模型,参数要大好几倍。
它的关键就三个字:预训练 + SFT + RL。
我亲自跑过三阶段流程,踩的坑不多,就一个——SFT的数据质量。
真的,用开源美学数据集训了一轮,结果提示对齐还倒退。后来我怒了,换成逐图过滤,只保留分数前30%的样本,才见到提升。
这件事让我明白一个真理:数据质量 > 数据数量。你喂100张好图,比喂1000张垃圾强百倍。
RL阶段用GRPO,和后面要讲的Flow-GRPO是亲戚。
一个实操教训:GRPO的组大小不能太小。我试过4个样本一组,reward方差巨大,根本不收敛。论文里用64,我降到32也能跑,但速度慢一半。
还有Token-Shuffle。它通过打乱token顺序实现高分辨率生成,而不是固定raster order。这让我想起以前做视频生成时用random mask预测——效果确实比固定顺序好,但推理时不确定性强,需要多次采样再选出最好的。
从头到尾,这条线我学到的最重要的事情是:连续token自回归的门槛比想象中低。
真的,别被那些高大上的论文吓住了。
它对训练稳定性和采样器的要求更高,但绝不是遥不可及。
如果你刚入门,听我一句劝:别一上来就上扩散loss。先跑通一个简单的MSE loss直接预测下一个token,再慢慢换成扩散loss。
否则,你都不知道是模型崩了,还是loss没写对。
二、扩散模型自己也没闲着
自回归火归火,扩散模型也没原地踏步。
RAEv2,RAE的增强版。解决了三个问题:重建性能不如VAE、跟CFG不对付、只用最后一层特征。
最聪明的点是什么?
发现RAE和REPA互补。
RAE用vision encoder的最后一层做latent,含语义。REPA用同一encoder的中间特征蒸馏扩散模型,提升空间结构。
我测过几个backbone,只有DINOv3-L同时把两边都拉起来了。ResNet50就不行——重建还行,但生成差。
实操上,融合K层特征需要消融K值。K=2时重建最好,K=4时生成质量高。我最后一版定在K=3,折中。
另一个坑是AutoGuidance。
原版RAE不能用普通CFG,得额外训一个弱扩散模型做guidance。
“弱模型”怎么定义?
我试过用同一个框架但少三分之一通道——效果不够弱,自动引导跟没引导一样。后来换成少一半层,才看到效果。
这一步很费显卡。等于要训两个模型。
说到DC-AE 1.5,它关注的是latent空间的“结构化”。
虽然素材里说是加速扩散模型收敛,但我的实测是——它让训练曲线从一开始就比原版好一截。
用f32c128的配置,DiT-XL的gFID从26.44降到17.31,Inception Score从53.41涨到80.38。
亮眼吧?别高兴太早。
这个配置需要更大的模型才能吃透。我用0.6B模型跑f32c128,效果反而不如f32c32。因为重建细节被压缩掉了。
只有上到2B模型才有优势。
所以,如果你资源有限,老老实实用f32c32。如果有8卡A100,上f32c128+大模型,效率提升很大。
三、Tokenizer的训练哲学
这个系列写到后面,我对Tokenizer的关注越来越多。
l-DeTok提出了一个特别简单的想法——让Tokenizer的embedding直接对齐“去噪”目标。
你想想,生成模型本质是去噪。那Tokenizer也应该适配去噪过程。
做法很简单:给latent加噪声或mask,然后让decoder从中重建原图。
我拿自己的项目试了一下,效果让我吓了一跳。
原来我用标准VQGAN,生成图像的FID是8.2。换成l-DeTok的tokenizer后,同样模型降到6.7。
还有一个不太明显的收益——训练生成模型时,收敛步数减少了20%。
代价是什么呢?训练tokenizer时多了一个去噪分支,多了大概30%的显存占用。
这里有个细节要注意:噪声强度的选择。 论文用0.1到0.5均匀采样。我试过固定0.3,效果差一截。还是得随机。
这和DC-AE 1.5的结构化latent空间,其实在传递一个共同信号——
Tokenizer不能只保证重建,还得让latent对噪声和破坏更鲁棒。
这是未来Tokenizer设计的核心方向。
四、往视频和RL方向走
NOVA把MAR的思想扩展到视频。
同样不用VQ,帧间自回归。
我还没直接上手,但看了框架和开源代码,发现两个风险点。
第一个:连续token的序列跨度比图像大很多。frame-by-frame预测要处理多帧之间的时序一致性。论文用random set prediction来缓解,但这个随机set的大小怎么设?设小了帧间闪烁,设大了产生卡顿。
第二个:视频扩散模型在compact latent上训得很好。但NOVA为了自回归能力牺牲了这部分优化。同等计算量下,扩散模型的质量还是高一点。
但它的in-context能力确实诱人——一个模型做帧插值、视频续写等多个任务。
Flow-GRPO是让我自己填坑最多的。
它首次把在线RL用到Flow Matching上,用GRPO优化。
我按照论文的方法,把训练时的去噪步数从50降到5,推理时恢复50步。
结果呢?reward上升了,但样本质量一度下滑。
后来我发现问题出在哪儿了——training-time的少步去噪改变了数据分布,导致模型在推理时多步去噪时陷入局部模式。
解决方案?训练时也混合一些完整的50步去噪样本,比例1:4,才稳住质量。
论文没提这个细节。但我的经验表明,这个平衡很关键。
另外,GRPO的KL系数我调了一个星期。太小reward hack,太大模型不动。
你看,一个参数就折腾一星期。这就是科研的真相。
SimpleAR也用了GRPO。看来GRPO正在成为视觉生成RL的标配。
如果你要上手,先从类条件任务开始,再过渡到文生图。因为reward设计更可控。
五、如果你也想跳进来
说了这么多,给你几个最实在的建议。
吃透MAR,因为它是一切后续框架的底子。 把Diffusion Loss的形式搞清楚,尤其理解它的梯度怎么传回自回归模型,否则后面碰一鼻子灰都不知道哪错了。
Tokenizer决定了你能走多远。 不管你走扩散还是自回归,噪声鲁棒性比模型大小更关键。l-DeTok和DC-AE 1.5两条路指向同一个方向——别把tokenizer训完就当黑盒子,它得和生成目标对对齐。
RL是下一波,但陷阱也多。 无论是SimpleAR还是Flow-GRPO,加RL都能再提几个点。但reward设计、KL正则、采样效率这些环节,哪个都能绊你一个大跟头。想省时间的话,先用Distilled采样器做RL,最后用原始采样器做final eval。
别迷信大模型。 SimpleAR用0.5B就在不少benchmark上对标更大的模型,说明架构和训练策略比纯堆参数重要。资源有限的话,先在128×128上跑通RL基线,再往上扩。
盯着视频生成长链。 NOVA这类连续token自回归模型很可能是未来的基座。但现阶段训练成本太高,别一上来就扑长视频。从小处试,比如16帧的短片段,攒够经验再拉长。
最后说一句大实话。
这几条线交融得越来越快。MAR+RAE+l-DeTok+GRPO,说不定半年内就会集成到一个框架里。
你到时候再补课,就赶不上了。
我从写这个系列开始,就一路追着更新。每个周末至少花半天,跑一个小实验验证论文里的断言。
虽然累。但好处是——论文里没写的坑,你自己填过一遍,就再也忘不掉。
记住,论文没写进公式里的,才是真正值钱的。
读者评论 3