目录
一、Transfusion
1、概述
2、方法
二、Show-o
1、概述
2、方法
3、训练
三、Show-o2
1、概述
2、模型架构
3、训练方法
4、实验
一、Transfusion
1、概述
Transfusion模型应该是Show系列,Emu系列的前传,首次将文本和图像生成统一到单一Transformer架构中,并通过混合训练目标实现多模态协同学习。
另外在Transfusion中提出了Omni-attention。
整体来说,就是把文字和图片都转换成Transformer能理解的token,并通过一个巨大的Transformer来学习多模态,而图片其实中间先通过VAE转换为连续的patch序列,再通过Transformer,最后通过VAE解码。
2、方法
训练目标:自回归语言建模损失LM loss(NTP loss)和图像的扩散模型损失DDPM loss。
视觉部分的处理:
首先对256x256的原始图像通过预训练VAE压缩为32x32x8的潜在张量。之后通过分块,将潜在张量序列化为patch向量。
之后通过加噪,对潜在向量添加高斯噪声,并经过一组U-Net下采样块,进一步压缩,然后输入到Transformer中。
Transformer通过预测添加到图像里的噪声,注意力采用Omni-attention的方法。
之后反复去噪,更新向量信息,并通过U-Net上采样还原维度信息,最终通过VAE解码器重建像素图像。
二、Show-o
1、概述
视觉理解模型的发展,从单一的视觉理解,单一的图像生成,朝着视觉理解与生成统一的方向发展。但是以往的统一模型,要么是通过ViT+LLM,并将特征信息传输给diffusion用于生成图像(NExT-GPT,SEED-X),要么是通过tokenizer+LLM+de-tokenizer的方式(Chameleon),归根结底,都不是一个完整的Transformer架构。Show-o提出利用MAGVIT的分词器(本质上就是MaskGIT),实现单个Transformer同时处理理解和图像生成任务。
但随之而来存在一个问题,文本是一个离散的tokens,图像则是一个连续的tokens,二者本身存在明显差异,也不容易集成到同一个网络中。同样以往的方法都是将文本利用text encoder后直接用LLM编码,图像则需要进入扩散模型中。
Show-o为满足同时处理理解和生成任务,使用AR+diffusion混合建模,文本部分完全建立在以往LLM分词器上,保留文本推理的自回归建模能力。图像部分则采用MAGViT-v2,将图像离散化为256个token,实现与文本token的符号空间对齐。
2、方法
受益于离散去噪扩散模型(D3PMs),区别于传统扩散模型只能用于连续信息,离散去噪扩散模型可以处理离散数据(文本)间的信息,比如VQDiffusion,Copliot4D,而MaskGIT继续简化模型,并应用到图像离散化数据中,Show-o则是建立在MAGVIT-v2上。
Image Tokenization
利用MAGVIT-v2作为基础框架,训练一个无查找量化器,避免传统VQ-VAE的码本查询瓶颈。codebook size=8192,每张图片256x256被编码为16x16的离散tokens。由于MAGVIT-v2易于微调,所以未来将考虑衍生一个video tokenizer。(但是MAGVIT本身就是一个视频编码器啊,估计做了统一处理?),对于这个Image Tokenizer的架构,具体来说就是下图a,而b,c则是后续实验进行了对比。
Text tokenization
Show-o基于预训练LLaMA,使用相同的tokenizer进行文本数据标记,不做修改。
LLM整体架构
基于预训练LLM LLaMA设计,保留原始的Transformer结构,但是在每一个注意力层都添加QK-Norm操作,并新增8192个可学习嵌入向量,表示离散图像tokens。
统一提示策略
为了统一训练多模态理解和生成,设计了Unified Prompting 策略,对给定Image-text pair 通过tokenizer得到M个image tokens 和N个text tokens
。
并且根据下图的方法,设计为multi-modal understanding(多模态理解),visual generation(文生图),mixed-modality generation(混合模态生成)三种任务,其中右侧的 [MMU] 和 [T2I] 代表预定义的task token,表示执行什么具体的任务(生成文字or生成图片), [SOT] 和 [EOT] 代表text token的开始和结束token,[SOI] 和 [EOI] 代表image token的开始和结束token。
Omni-Attention机制
对于Show-o注意力机制并不是Casual attention,也不是Full attention,而是一种全新的综合注意力机制,根据输入序列的格式,自适应地混合和更改。可以理解为在不同Image和Text混合下,Casual attention和Full attention范围内的一种自适应变换。
其中Show-o通过Casual attention对sequence中的text tokens进行建模,通过Full attention对image tokens进行建模。
所以鉴于上面的统一提示策略图,提出了四种任务的注意力机制变换。
(a)多模态理解:文本关注先前所有图像token,但是文本之间只关注以前的文本token
(b)文生图:图像token可以交互所有先前文本token,但是图像间互相全交互
(c)文本建模中:退化会casual attention
(d)混合模态生成:综合以上多种方法自适应调整。
3、训练
训练目标
训练目标包含LLaMA本身的自回归(Next-token-prediction)用于处理文本的语言建模损失,以及图像离散扩散建模的扩散损失(Mask-token-prediction)。
对于给定M个image tokens 和N个text tokens
NTP:
MTP:对于输入的M个Image tokens ,首先以一定的比例(受 timestep控制)随机将图像token随机替换为[MASK] token,得到
,然后目标以unmasked区域和text token,重建原始图像的token。
基于classifier-free guidance做法,以一定的概率用空文本随机替换conditioned text token。
总损失为
训练策略
训练分为三个阶段,由于缺乏了文本编码器模块,这对于文本与图像对齐产生了很大挑战,所以我们采用三阶段的方法。
第一阶段,训练图像token嵌入(8192个新增向量)和像素依赖学习,通过纯文本RefinedWeb训练语言建模能力,图像分类库ImageNet-1K训练图像生成能力,图文对CC12M+SA1B训练基础图文对齐。
第二阶段:跨模态深度对齐,将ImageNet的分类名,转为自然语言描述训练文本对齐能力,文本描述能力。
第三阶段:高质量数据微调。利用高质量图文对LAION-aesthetics-12M,JourneyDB,训练文生图,另外通过LLaVA-Pretain-558K和LLaVA-v1.5-mix-665K训练复杂推理指令和多任务混合指令。
推理策略
对于文本的预测,直接给定图像或多模态问题,text token从具有更高置信度的预测token中自回归采样。
对于图像的预测,通过输入文本信息(N个token),和M个token [MASK]作为输入,通过show-o为每一个[MASK] token预测一个logit ,其中t是时间步,每个[MASK]token的最终预测logit使用conditional logit
和masked token的unconditional logit
。
,其中w是guidance scale
下图为去噪过程,包含T步,其中每一步保留置信度更高的image token,并替换以往的[MASK] token,随后反馈到下一轮预测。
三、Show-o2
1、概述
Show-o2首次实现同一模型下原生统一地集成自回归建模和Flow matching机制,实现了大规模下对文本、图像和视频多模态理解和生成。
对于以往的统一多模态模型(UMM)从两个方面进行分类,视觉表示类型和统一建模类型,对于视觉表示类型,要么是统一表示(Unified),要么是解耦模型(Und & Gen Representation)。对于统一建模类型,要么是原生统一的(Native Und & Gen),要么是组装专家模型(Assembling Tailored Models)。下图为所有相关模型的对比,Show-o2是第一个统一的原生多模态,支持视频的,AR+Diff架构的模型。
Show-o2引入了CogVideoX中的特色,使用3D Causal VAE对视频进行编码 。在训练过程中同样采用分层次训练,先具备语言表达能力,在提升理解和图、视频生成能力。并且由于Show-o2训练数据集的多样性,也使得Show-o2可以理解中英文,同时可以在文档中穿插文字,图像,视频序列。
2、模型架构
Show-o2模型由文本编码器+嵌入层、视觉编码器(3D Causal VAE)、双路径融合、多模态建模器LLM、语言头和流式头。
文本编码器和多模态建模器没有具体说,基于Qwen2.5-1.5B-instruct和Qwen2.5-7B-instruct变体,并且LLM基于Show-o的Omni-Attention机制。
视觉编码器:采用3D causal VAE编码器,生成latents,架构与Wan2.1模型中相同,空间压缩:432x432->27x27,支持8x空间压缩和4x时间压缩。
双路径视觉融合:潜在空间加噪,双路径提取深度特征,融合特征三部分。
潜在空间加噪:首先对潜在图像特征空间加噪处理。为了后续流匹配生成高质量图像、视频提供优化路径。(先对潜在空间添加可控噪声,生成带噪状态
,之后进行语义层蒸馏和底层投影获得特征,最后通过流匹配预测速度场
,从纯噪声
出发,沿梯度
方向,积分生成
)
双路径结构:语义路径,利用基于SigLIP预先蒸馏的ViT块,提取高层语义特征(如物体类别,场景全局信息),之后通过预蒸馏损失,确保特征对齐,公式如下,就是将semantic layers对齐到SigLIP上。
投影路径,则是通过一个轻量投影器,留下色彩,边界,细节等底层结构信息。
融合机制STF:拼接双路径特征->RMSNorm归一化->两层MLP融合->输出统一表示
多模态建模器:token序列格式,[BOS] {Text} [BOI / BOV] {Image / Video} [EOI / EOV] {Text} · · · [EOS]。可以同时适应任意模态组合
双重输出头:语言头,通过NTP loss,预测文本token。流式头,通过流匹配预测速度场,并从噪声中,沿着速度场方向,重构图像/视频。流式头结构由DiT-style Transformer层+adaLN-zero时间步调制。
总损失函数为
3、训练方法
现有的训练策略,一般分为三类。
从头训练,Transfusion,无预训练基础,直接学习多模态对齐,并通过扩散建模实现视觉生成。但依赖大规模文本语料,语言知识容易退化。
LLM或LMM微调,Show-o,EMU3,基于预训练LLaMA或视觉语言模型CLIP初始化,并添加扩散建模或自回归头,实现理解与生成。计算成本高,收敛慢。
组装专家模型,NExT-GPT,SEED-X,独立训练理解模型BLIP和生成模型SD,通过Adaptor拼接模块,兼容性差,参数量冗余。
具体Show-o2训练策略
Show-o2提出两阶段训练,一阶段冻结预训练语言模型,训练特征提取部分。二阶段训练除VAE以外的全模型。
Stage1:冻结预训练语言模型,Sematic layers通过SigLIP初始化,并且在带噪潜变量xt上优化,仅训练Projector,STF,Flow Head。数据采用66M图文对(扩展到512x512,1024x1024分辨率,来自CC12M,COYO,LAION-Aesthetic-12M,AI合成数据集,并且除合成数据集外,其他均使用ShareGPT4v重标注,多模态理解指令为DenseFusion-1M和LLaVA-Onevision子集),视频数据(Webvid,Pandas),交错数据(OmniCorpus)。
Stage2:多模态对齐,全模型训练,联合优化语言头和Flow matching头,α=1.0,平衡两者。数据采用更高质量的文本对,视频数据,以及交错数据。并利用TextAtlas进行文本丰富图像增强文本渲染。
相比于Show-o来说,Show-o采用随机噪声扩散,会导致高方差带来的图像生成随机性,另外,Show-o三阶段采样,也会造成上千步的采样时间。
不同模型大小
训练过程中,先训练小模型1.5B,之后通过训练轻量MLP变换扩展到7B大模型,并复用除LLM部分,再次经过两阶段训练训7B模型。
4、实验
多模态理解
图像生成
在GenEval和DPG-Bench上进行对比,在GenEval上甚至超过了SD3,但是最高的是Mogao。GenEval就是偏文生图的指标,DPG-Bench类似于动态编辑,推理能力的组合。
视频生成
文生视频和图生视频,由于没有在运动上规范,所以运动上分数不高,但是描述能力很好。
推理能力
论文参考:
https://arxiv.org/abs/2506.15564
[2408.12528] Show-o: One Single Transformer to Unify Multimodal Understanding and Generation