Sperid Labs开源Iris-3B:3B像素空间文生图不用VAE,论文诚实承认下游没赢

10 月 8 日,Sperid Labs 发布了 Iris-3B——一个 30 亿参数的文生图模型,Apache 2.0 许可,权重、训练代码一并放出。

它最特别的地方是:没有 VAE。

市面上几乎所有主流图像模型都跑在隐空间里:一个 VAE 把图像压成小网格,扩散模型在那个网格里作画,最后解码器把结果还原成像素。Iris-3B 跳过了这一步,直接在像素上作画。

而比模型更有意思的,是论文里那份诚实的负面结论。

为什么想扔掉 VAE

理由很直接:隐空间的编码器是有损的。它会糊掉细微纹理,还会让模型偏向平滑的细节。如果网络直接输出像素,这个损失就不存在了。

模型卡里写,作者的出发点是把像素空间生成模型当作 DINOv2 这类视觉基础模型的另一种选择。

论文标题是《Iris-3B: Going Beyond the Latent with Pixel-Space Diffusion Training, Conversion and Fine-Tuning》,作者是 Sperid Labs 的 Hanqiu Li Cai 和 Chema Garabito,arXiv 编号 2610.09450,10 月 7 日提交。

模型长什么样

属性 取值
参数量 3B 主干 + 冻结的 4B 文本编码器
架构 扩散 transformer,8 个双流块 + 16 个单流块,后接 4 块像素头
文本编码器 Qwen3-VL-4B-Instruct(冻结,读取其中 12 层)
输入 原始 RGB 像素切成 16×16 patch,1024×1024 变成 64×64 token 网格
训练目标 Rectified flow,v-prediction + DINOv2 REPA
训练课程 从零训练:256 → 512 → 1024,之后在 1024 做 SFT,共 665K 步
默认参数 CFG scale 3,100 步

细节上有几处值得留意。注意力用分组查询注意力(GQA),20 个 query 头配 5 个 key-value 头,带 sigmoid 输出门和 RMSNorm 的三明治归一化。时间步条件用的是「共享偏置」adaLN——每条流一个共享投影加上可学习的逐块偏置,在同等 FLOPs 下砍掉了 28% 的参数。

像素头用的是 PixelDiT 的 PiT 设计:每个块用对应 patch 的 token 调制每一个像素,再跑一个逐像素 MLP;做注意力时,一个 patch 的像素被压成一个 1280 宽度的 token,在 patch 网格上 attend 完再展开回去。

patch 尺寸是个真实的设计杠杆。论文引用了同期的统一模型 PixelUMM 的发现:32×32 的 patch 即使多看四倍图片,训练损失也比 16×16 高。

分数:追平 Qwen-Image

在 1024×1024、官方评测器下:

  • GenEval 0.798
  • DPG 86.52
  • OneIG 总分追平 Qwen-Image

这说明像素空间预训练在 3B 规模上是可行的,画质能对得上主流隐空间模型。

两条路线,一起测

论文真正想验证的假设是:既然像素空间没有编解码器的损耗,那在「细节决定成败」的下游任务上,它应该更强。作者测了两条拿到像素空间骨干网络的路线:

  1. 从头预训练——也就是 Iris-3B。
  2. 从隐空间模型转换——他们把预训练的隐空间模型 FLUX.2 Klein base 4B 转成了像素空间。

转换这条路有个明确的障碍:输入接口。作者给出的解法是增益匹配的 ridge 初始化加上缩放后的 trunk 学习率。作为一份配方,这个部分即使结论不漂亮也有复用价值。

然后两条路线都拿去做单目深度估计和图像修复/超分微调。

然后,负面结果

论文摘要写得异常坦白:「我们没有发现使用像素空间生成先验带来显著改进。」

具体是:

  • 深度:用同一套直接回归配方微调,Iris-3B 和隐空间的 FLUX.2 Klein 持平,转换来的像素版 FLUX.2 Klein 反而落后。
  • 修复:在 4 倍 DIV2K 修复上,两个像素空间模型都没打过隐空间的 FLUX.2 Klein 微调版,转换版在 SSIM 和 NIQE 上明显更差。
  • 文生图:只有这一项,像素空间证明了自己能和隐空间打平。

作者还很实在地列了混杂因素:每个分支都是单次运行、预算很短、没有显著性检验;Iris-3B 没有同规模同数据的隐空间孪生模型,所以「持平」这个读数里混着表示空间、规模和算力三个变量;转换来的那个模型,先验很可能本来就比它改编自的隐空间模型弱。

另外还有一个具体的伪影:两个像素空间模型输出的原始深度图都有 patch 网格痕迹,Iris-3B 最明显。隐空间模型没有这个问题——VAE 解码器免费把它抹平了。

换句话说,这次发布没有证明「扔掉 VAE 就赢了」。它证明的是:在 3B 规模上这么干行得通,而且在 OneIG 上不比一个强开源模型差。对选型的人来说,正确的读法是——像素空间是一个可行设计,还不是一次明确的升级。

除了画图,还能干两件事

同一个仓库里还给了两个微调版本:

单目深度估计:空提示词下单次前向就能预测相对对数深度,不需要文本编码器。在 NYUv2、KITTI、ETH3D、ScanNet、DIODE 五个基准上按 Marigold V2 协议零样本取平均,AbsRel 0.071、delta1 0.946。注意深度是仿射不变的,不是公制深度,要和真值比得先拟合尺度和偏移。

修复与超分:用 HYPIR 配方做一步对抗式修复,10K 步加 EMA 权重。DIV2K 验证集 4 倍下 LPIPS 0.292、PSNR 20.68。大图会切成交叠的 1024×1024 窗口分块处理。

怎么跑起来

git clone https://github.com/speridlabs/iris-3b.git
cd iris-3b
pip install -e .          # Python 3.11+,PyTorch 2.7.1+

hf download speridlabs/iris-3b --local-dir iris-3b --exclude "depth/*" "upscaler/*"

python scripts/sample.py --checkpoint iris-3b \
    --prompt "a red fox sleeping in fresh snow, golden hour"

文生图权重约 12 GB,深度和超分两个文件夹各再加约 12 GB。Qwen3-VL-4B-Instruct 文本编码器首次运行时会下载。需要 NVIDIA GPU 加 CUDA。

几个可调项:--cfg-scale 默认 3,调高更贴提示词但可能更生硬;--steps 默认 100,减少更快但掉细节;--seed 固定可复现;--negative-prompt 用来排除;--txt-file 一行一个提示词做批量。

Hugging Face Spaces 上有个托管 demo,没显卡也能试。

要注意成本:3B transformer 配 4B 文本编码器,100 步跑一百万像素,不是轻活。模型卡没给显存和耗时数字,批量跑之前建议先在自己卡上量一下。

已知边界

  • 文字和数量:图内文字渲染和精确物体数量都不总是可靠。
  • 分辨率:约一百万像素,出大图得上超分。
  • 评测范围:OneIG 的追平只对着 Qwen-Image 一个模型,还没看到和 FLUX 等的广泛横评。
  • 还很早:模型页面在我们查看当天显示 18 次下载,社区验证几乎没有。

该不该用

适合:想微调像素空间骨干的研究者;同时需要生成、深度、修复三种能力且希望共用一套架构的团队;在意细微纹理、又想要 Apache 2.0 底座的商业项目。

不适合:今天就要出生产图的团队。托管模型或主流隐空间模型的工具链成熟得多——LoRA、ControlNet、ComfyUI 节点一应俱全,Iris-3B 现在还没有。

最后一句建议:为它的设计选它,别为「承诺的画质优势」选它。作者自己已经说了,那个优势没测出来。


来源:Sperid Labs 官方模型卡与 GitHub 仓库 github.com/speridlabs/iris-3b、arXiv 论文 2610.09450、Hugging Face 发布页(2026 年 10 月 8 日)