项目介绍:DALL-E 2 - Pytorch
DALL-E 2 是 OpenAI 开发的卓越的文本生成图像的神经网络。这一项目通过 Pytorch 实现了这一强大的技术。DALL-E 2 提供了一种从文本描述生成相应图像的前沿解决方案,这使得计算机可以创建出符合人类语言描述的图像。它的主要创新在于一个额外的间接层:先验网络。这些网络可以是自回归变压器或扩散网络,它们在接收到来自 CLIP 的文本嵌入后预测出图像嵌入。在这个项目中,重点开发了扩散先验网络,因为这是性能最佳的变体(同时使用因果变压器作为去噪网络)。
虽然 DALL-E 2 最初是文本到图像生成的最先进模型(SOTA),但截至 2022 年 5 月 23 日,更先进的 SOTA 模型已经面世,并采用了更简化的架构。
项目状态
目前已有研究团队使用该项目中的代码训练了一种功能性扩散先验网络,该网络用于 CLIP 的生成。随着更多的实验被验证,这进一步证实了 OpenAI 的发现:额外的先验能够增加生成图像的多样性。解码器也成功运用于实验设置下的无条件图像生成,两位研究人员已验证解码器能够稳定运行。
此外,该库已被成功用于多个研究项目,包括某些研究用 CLIP 生成图像应用到 Stylegan2 的训练,以及在 800 个 GPU 上进行扩展训练。
下载和安装
用户可以简单地通过运行命令 pip install dalle2-pytorch
安装此库。
使用教程
DALL-E 2 的训练分为三个步骤,其中 CLIP 的训练是至关重要的第一步。用户可以使用 x-clip
包进行训练。本文档提供了如何在项目中集成 x-clip
的示例代码,演示如何设置和训练模型以处理文本和图像的数据。
接下来的步骤是训练解码器和扩散先验网络。解码器从经过训练的 CLIP 生成来处理图像嵌入,而扩散先验网络则试图从 CLIP 文本嵌入生成 CLIP 图像嵌入。这三个步骤需要反复进行许多次以确保模型能够成功学习和生成图像。
预训练模型
目前 LAION 社区正在训练多个先验模型,相关的检查点文件和训练统计数据可以在 Huggingface 和其他平台上获取以供研究和参考。
感谢
这个项目汇集了许多开发者的努力和贡献,包括分布式训练代码的开发者、项目管理者,以及在代码调试与优化过程中的各位贡献者。此外,感谢各类研究和技术公司的支持,其中包括 Huggingface 和 Stability AI。
未来展望
项目仍在不断完善和优化中。未来,项目团队计划全面推进小规模训练的自动化工具,并期望继续开发和探索与文本嵌入和图像合成相关的新技术。