PixelDiT
首个像素空间直接生成的扩散Transformer,ImageNet 256×256 FID达1.61 SOTA,CVPR 2026 Best Paper Finalist
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
首个像素空间直接生成的扩散Transformer,ImageNet 256×256 FID达1.61 SOTA,CVPR 2026 Best Paper Finalist
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
2026年3月,一个来自 NVIDIA 与罗切斯特大学的研究团队发布了一个项目,声称可以在没有任何 VAE 编码器的情况下,直接在像素空间中生成逼真的 256×256、512×512 甚至 1024×1024 高清图像。不到三个月,这个名为 PixelDiT 的项目在 GitHub 收获了超过 800 颗 star,更被 CVPR 2026 收录为 Best Paper Finalist(最佳论文候选)——这是扩散模型领域的又一次范式级突破。
在 PixelDiT 出现之前,所有主流的图像生成模型(如 Stable Diffusion、DALL-E、Midjourney)都依赖一个隐式的"中间世界"——VAE(变分自编码器)。VAE 的作用是把真实的像素图像压缩到一个低维度的"潜空间"(latent space),扩散模型只需要在潜空间中对压缩后的向量进行去噪,最后再通过 VAE 的解码器把结果"还原"回像素空间。
这种做法的优势是明显的:潜空间维度远低于原始像素空间,计算量大幅降低,生成速度更快。但它的代价同样明显:VAE 压缩会丢失细节,尤其是纹理高频信息(毛发、皮肤毛孔、织物编织),导致生成图像要么过于平滑,要么在潜空间与像素空间的转换中产生模糊感。
![]()
PixelDiT 的核心创新是彻底去掉 VAE,让扩散 transformer 直接在像素空间中工作。实现这一点需要解决两个核心挑战:
PixelDiT 的答案是双层 DiT 架构(Dual-Level Architecture)。
项目的核心代码在 pixdit_core/ 目录下,其中 modules.py 包含关键的架构组件。整个模型由两种不同粒度的 transformer 块组成:
这两个层次的输出通过一个双分支交叉注意力机制融合,最终生成完整的像素图像。代码中 apply_adaln 函数实现了自适应层归一化(Adaptive Layer Normalization),用于在扩散时间步的条件下动态调制 attention 和 MLP 的输出。
这种"全局语义 + 局部纹理"的双层设计,让 PixelDiT 得以在像素空间中同时兼顾构图合理性和纹理真实感——这是单层架构无法做到的。
![]()
图1:Text-to-Image 生成效果(来源:项目 GitHub)
PixelDiT 提供两个主要模型:
| 模型 | 参数量 | 任务 | 分辨率 | FID (↓) | GenEval (↑) | DPG-Bench (↑) |
|---|---|---|---|---|---|---|
| PixelDiT-XL | 797M | Class-to-Image (ImageNet) | 256×256 | 1.61 | — | — |
| PixelDiT-XL | 797M | Class-to-Image (ImageNet) | 512×512 | 1.81 | — | — |
| PixelDiT-T2I | 1.3B | Text-to-Image | 1024×1024 | — | 0.74 | 83.5 |
几个关键点值得注意:
t2i/diffusion/ 目录下提供了自定义的 FlowDPMSolver 实现。PixelDiT 的训练代码分布在 c2i/(类别生成分支)和 t2i/(文生图分支),都基于 PyTorch Lightning 2.5.0。
Class-to-Image(C2I) 的训练相对直接:
tools/ 下有下载脚本)--ckpt-path 参数)Text-to-Image(T2I) 的训练分三阶段:
训练使用 Gemma-2 作为文本编码器,t2i/ 下使用 MM-DiT(多模态 DiT)块做文本-图像特征融合。所有配置文件使用 OmegaConf YAML 格式(omegaconf==2.3.0)。
pixdit_core/ # 共享 PixelDiT 核心模型定义
├── modules.py # 核心模块:位置编码、adaln、SiT/SDPA
├── pixeldit_c2i.py # C2I 模型
└── pixeldit_t2i.py # T2I 模型
c2i/ # Class-to-Image 分支
├── main.py # 评估入口(生成50K样本 + FID计算)
├── src/ # 扩散采样器实现
├── configs/ # YAML 配置文件
└── train_c2i.sh # 训练脚本
t2i/ # Text-to-Image 分支
├── inference.py # 推理脚本(支持自定义分辨率/种子/负向提示词)
├── train.py # 训练入口
├── diffusion/ # FlowDPMSolver 等采样器
├── configs/ # 三阶段训练配置
└── prompts.txt # 示例提示词
tools/ # 工具:模型下载、GFLOPs 计算
代码质量评价:
pixdit_core/ 与 c2i/、t2i/ 分离,核心模型定义与任务特定逻辑解耦requirements.txt 列出了所有依赖(torch 2.5.0、diffusers 0.30.0、transformers 5.1.0)gradio,但目前主要是为演示预留训练硬件门槛极高:README 明确要求 8 GPU(A100/H100)训练,单卡推理虽然可行(1.3B 模型约需 20GB+ 显存),但普通研究者很难复现训练流程。
无 Docker 支持:没有提供容器化方案,"Recommended Docker image" 只是一个基础镜像建议,而非开箱即用的容器配置。
自动恢复训练精度损失:README 坦承,训练每 4 小时自动保存一次检查点并用时间戳作为随机种子,这会导致最终结果与连续训练略有差距。对于追求极致指标的研究者来说,这是一个需要注意的细节。
仅支持英文文本条件:作为 NVIDIA 内部研究项目,T2I 模型的文本编码器基于 Gemma-2,目前未针对中文或其他语言做优化。
PixelDiT 的出现标志着**扩散模型正在从"潜空间优先"转向"像素空间优先"**的技术路线之争进入新阶段。
此前,GAN 时代的 DCGAN、StyleGAN 等模型一直在像素空间工作,但受限于生成质量和训练稳定性,最终被扩散模型+VAE 的范式所取代。而扩散模型+VAE 的组合虽然成熟,却在纹理保真度上始终存在天花板。
PixelDiT 的双层 DiT 架构证明了:只要模型设计足够精巧(如双粒度注意力 + 自适应层归一化),直接在像素空间训练完全可行,且能同时获得比 VAE-based 方法更好的 FID 分数和更真实的纹理细节。
从增长曲线看,PixelDiT 自2026年3月底发布以来,三个月内达到 815 star,且持续有 issue 更新(截至2026年6月仍有活跃维护),属于典型的高质量学术开源项目。NVIDIA 团队还同时维护了 SANA、EDM2 等相关项目,技术积累深厚。
**总结:PixelDiT 是扩散模型领域的一次重要范式探索。**它证明了 VAE 不是扩散图像生成的必要组件,双层 DiT 架构在全局语义和局部纹理上均达到 SOTA 水平。对于需要极致图像质量(如产品设计可视化、专业级 AI 摄影增强)的应用场景,PixelDiT 值得重点关注。但其训练门槛和多阶段流程也对团队的技术基础设施提出了较高要求。
![]()
图2:Text-to-Image 生成示例:浮世绘风格鲸鱼(来源:pixeldit.github.io)
![]()
图3:Text-to-Image 生成示例:韩剧风格人物(来源:pixeldit.github.io)