Text-to-Image Generative Modeling Without Language Pretraining
Keshigeyan Chandrasegaran, Yue Zhao, Armin W. Thomas, Ehsan Adeli, Jiajun Wu, Juan Carlos Niebles, Li Fei-Fei, Michael Poli
cs.LG, cs.CV
2026-10-20
斯坦福在约一亿条图文对上从零训练早期融合自回归模型 Halcyon。1.6B 版本 gFD 为 35.3,好于带 Qwen3 的 JiT-T2I(41.0),计入语言预训练后总算力少 275 倍。
现在的文生图几乎都先在海量纯文本上预训练一个语言模型,再用它的表示去给图像生成器做条件。晚融合(late fusion)把文本编码器和图像生成器拆开,早融合(early fusion)则放进同一个模型,但纯文本预训练仍常占掉总 FLOPs 的八成以上。这笔账经常不写进「训一个文生图要多少算力」。纯文本预训练对文生图有没有用,也没在同一数据上被拆开量过。
Halcyon 把问题收成一句:只看约一亿条图文对,从零训练,文生图能走到哪一步。
Halcyon 是 decoder-only Transformer,骨干沿用 Qwen3,文本和图像共用一张词表,按 next-token prediction 生成。256×256 的图先过从零训练的离散 tokenizer,结构跟随 Cosmos,量化用 FSQ(finite scalar quantization,把特征收成有限个标量档位)。空间下采样 8 倍,码本 64000,一张图变成 32×32、共 1024 个 token。文本侧是 byte-level BPE,词表 16384,在 GPIC 图注和 OpenWebText 上从零训练。生成模型不看 OpenWebText。特殊 token 256 个,联合词表 80640,embedding 和输出头共用。
序列四种。文生图是图注在前、图像 token 在后。图生文把顺序倒过来。CFG(classifier-free guidance,分类器无关引导)推理时把有图注和无图注的 logits 做差,再按系数放大。训练里随机丢掉 10% 图注,用来学那个无条件分支。损失是加权交叉熵,图像项权重 0.5,避免 1024 个图像 token 把图注的梯度淹没。
实验都在 GPIC 上跑一个 epoch,约一亿对,分辨率 256,全局 batch 1024。模型五档:0.1B、0.25B、0.52B、1.6B、4B,序列长度 1280。对照用官方代码把 LlamaGen(自回归,配 FLAN-T5)和 JiT-T2I(像素空间 flow matching,直接在像素上回归速度场,文本侧冻结 Qwen3-1.7B)在 GPIC 上重训,并改成同样的 1024 个图像 token。这样数据和序列长度是对齐的。
主指标是 GPIC Test-50K 上的 gFD(generation Fréchet distance,生成图与真图特征分布的距离,越低越好)。
| 方法 | gFD ↓ | GenEval ↑ | 总预训练 FLOPs |
| LlamaGen-XL/8 | 63.3 | 30.5 | 9.68×10²¹ |
| JiT-T2I-XXL/8++ | 41.0 | 43.2 | 3.68×10²³ |
| Halcyon-0.52B | 48.0 | 44.9 | 5.33×10²⁰ |
| Halcyon-1.6B | 35.3 | 53.5 | 1.34×10²¹ |
| Halcyon-4B | 28.4 | 56.4 | 3.08×10²¹ |
JiT 加上感知损失 LPIPS,再把 patch 从 16 收到 8,gFD 才从 67.9 降到 41.0。上表里的 JiT 是这个加强版。Halcyon-0.52B 用大约 18.2 倍更少的总预训练算力超过 LlamaGen-XL/8,gFD 仍高于 JiT 的 41.0。这一档 GenEval 是 44.9 对 43.2,DPG-Bench 是 76.84 对 76.85。到 1.6B,Halcyon 超过 JiT:gFD 35.3 对 41.0,GenEval 53.5 对 43.2,DPG-Bench 77.9 对 76.9,总预训练算力大约少 275 倍。4B 的 gFD 是 28.4,GenEval 56.4,其中位置关系 51.0,JiT 为 27.3。DPG-Bench 仍是 77.9,和 1.6B 相同。验证集上 gFD 最低的 CFG 系数,从 0.1B 的 7.5 降到 4B 的 4.5。
LlamaGen 把 FLAN-T5-XL 换成 Base,语言编码器从 1.22B 降到 0.11B,语言预训练算力大约少 13.5 倍,gFD 只从 63.3 变到 66.7。固定预算下,Halcyon-0.52B 把前 10%、20%、50% 的步数拿去训纯文本,gFD 从 48.0 变到 51.6、52.8、65.1。先做语言预训练,再完整训一个 epoch 的文生图,总算力是 1.5 倍,gFD 为 49.2。从已经吃过 36T 文本 token 的 Qwen3-0.6B 接着训,gFD 47.8。同一结构随机初始化、词表 216k(Halcyon 是 80640),gFD 46.6,语言初始化没有更好。把峰值学习率从 7.5×10⁻⁴ 降到 1×10⁻⁴,避免大学习率冲掉语言权重,gFD 到 63.6。
把丢掉的 10% 图注换成图生文,条件图像 token 和无条件图像 token 的数量都保持不变。0.52B 的图注负对数似然从 18.4 降到 1.1,gFD 从 48.0 到 46.5,GenEval 从 44.9 到 44.6。4B 上,Qwen3-VL-Reranker-8B 给生成图注的对齐分是 0.559,GPIC 真图注是 0.891。若把图生文当成要占预算的独立任务,0.52B 混入 50% 时 gFD 升到 76.0,先图生文再文生图是 54.2。同样的 token 数,混着训的图注 NLL 能到 1.0,分阶段仍是 20.4。
JiT-T2I-XXL/8++ 的总 FLOPs 里,Qwen3-1.7B 占 99.8%。目标只是文生图的话,这笔算力训的是通用语言建模。Halcyon 的语言监督来自图注,大约 40 亿 token。
已经有大语言模型的团队省不下这 275 倍,语言预训练是沉没成本。要新付的是图像生成器。这一侧 Halcyon 更贵:JiT 生成器 6.76×10²⁰ FLOPs,Halcyon-1.6B 的生成器加 tokenizer 大约 1.1×10²¹。从零搭一套文生图时,GPIC 上的结果是不必先做互联网规模的纯文本预训练。
图生文不额外花钱的办法,是拿它替换 caption dropout。再切一块预算出来,文生图会变差。
275 倍成立的口径,是把语言模型预训练算进总账。视觉侧算力 Halcyon 更高。
分辨率停在 256,主评测分布就是训练集 GPIC。其他数据集和更高分辨率,论文写明尚未做。数据配比和课程只跑了 0.52B,语言初始化的对照是 Qwen3-0.6B。离散 tokenizer 对小字、细笔画仍然差,256 分辨率下各模型都难以渲染可读文字。
LlamaGen 换上 Halcyon 的 tokenizer,图像 token 从 256 增到 1024,gFD 从 147.0 掉到 63.3。图像表示本身贡献很大。主表已经把基线也对齐到 1024 个 token,比的不是 gFD 147 的原版。自回归和 flow matching 谁更强,这篇没有单独拆开。同一检查点换采样种子,gFD 标准差不超过 0.14。训练种子只在 0.1B 上测过,标准差 5.5,更大模型没有这条误差。