Versatile-Diffusion
Versatile-Diffusion 是一款旨在迈向“通用生成式 AI"的统一多模态扩散模型框架。它突破了传统模型功能单一的局限,将文生图、图生文、图像变体生成及文本变体生成等多种任务整合进同一个模型中。这意味着用户无需切换不同模型,即可在一个系统内实现跨模态的双向生成与编辑,有效解决了多任务场景下模型冗余和协作困难的问题。
该工具的核心技术亮点在于其创新的“多流多模态”架构。通过共享全局层并灵活交换数据层与上下文层,Versatile-Diffusion 能够根据输入类型动态调整网络结构,在保持高效的同时支持未来扩展至语音、视频及 3D 等更多模态。此外,它还支持语义风格解耦和潜空间编辑等高级应用。
Versatile-Diffusion 非常适合 AI 研究人员探索多模态统一建模理论,也适合开发者构建多功能生成应用。对于设计师而言,其提供的 WebUI 界面让复杂的跨模态创作变得触手可及。作为基于 PyTorch 的开源项目,它拥有清晰的代码结构和活跃的社区支持,是理解下一代生成式 AI 架构的优秀范例。
使用场景
某电商设计团队需要在短时间内为同一款新品生成多风格营销素材,并配套撰写适配不同视觉风格的社交媒体文案。
没有 Versatile-Diffusion 时
- 工具链割裂:设计师需分别使用 Stable Diffusion 生成图片、CLIP 提取特征、再调用独立的文本模型写文案,数据在不同模型间流转繁琐且易丢失细节。
- 风格一致性难保:生成的变体图(如将白底图转为节日风)往往需要重新编写复杂提示词,难以精准控制保留商品主体特征,导致“货不对板”。
- 图文匹配度低:后期撰写的文案常与最终选定的图片风格脱节,缺乏统一的语义空间支撑,人工反复调整耗时耗力。
- 算力资源浪费:维护多个专用模型占用大量显存,推理时需频繁加载卸载,严重影响批量生产效率和响应速度。
使用 Versatile-Diffusion 后
- 全流程统一:利用其多流多模态架构,在一个模型内即可完成“文生图、图生文、图生变体”的全套操作,无需切换上下文或中间格式。
- 精准可控变体:通过原生的图像变体功能,仅上传商品白底图即可一键生成多种风格海报,同时完美锁定商品细节,确保主体一致。
- 语义深度对齐:基于共享的全局层和潜在空间,模型生成的文案能天然理解图片的风格语义,实现“图变文亦变”的高度协同。
- 部署高效轻量:单一模型替代多个专用模型,显著降低显存占用,支持在单卡上快速并发处理大量图文生成任务。
Versatile-Diffusion 通过构建统一的生成式 AI 框架,彻底打破了图文生成任务间的壁垒,实现了真正的多模态协同创作。
运行环境要求
- 未说明
需要 NVIDIA GPU (基于 PyTorch CUDA 版本),指定安装命令包含 cu113 (CUDA 11.3),提供 fp16 模型以节省显存
未说明

快速开始
多功能扩散模型
本仓库托管了以下工作的官方实现:
Xingqian Xu、Atlas Wang、Eric Zhang、Kai Wang 和 Humphrey Shi,多功能扩散模型:文本、图像及变体一体化扩散模型,论文 arXiv 链接。
最新消息
- [2023.02.07]:我们的全新演示已在 🤗Hugging Face 上线运行!
- [2023.02.07]:多功能扩散模型代码的重大更新,优化了模型代码结构,并在便捷的 WebUI 中支持所有应用。
- [之前]:请参阅已弃用的 README。
简介
我们构建了多功能扩散模型(VD),这是首个统一的多流多模态扩散框架,旨在迈向通用生成式人工智能。多功能扩散模型原生支持图像到文本、图像变体、文本到图像以及文本变体,并可进一步扩展至语义风格解耦、图文双引导生成、潜在空间中的图像-文本-图像编辑等更多应用。未来版本还将支持语音、音乐、视频和 3D 等更多模态。
网络与框架
多功能扩散模型的一个单一流程包含一个 VAE、一个扩散器和一个上下文编码器,因此它在一个数据类型(如图像)和一种上下文类型(如文本)下处理一项任务(如文本到图像)。多功能扩散模型的多流结构如下图所示:
基于多功能扩散模型,我们进一步提出了一种广义的多流多模态框架,该框架包含 VAE、上下文编码器和扩散器,每个组件都由三层组成(即全局层、数据层和上下文层)。为了将新的多模态任务纳入该框架,我们需要满足以下要求:
- 核心扩散器的设计应包含共享的全局层,以及可根据数据和上下文类型相应激活的可交换的数据层和上下文层。
- VAE 的选择应能将数据平滑地映射到高度可解释的潜在空间中。
- 上下文编码器的选择应联合最小化所有支持内容类型的跨模态统计距离。
性能
数据
我们以 Laion2B-en 数据集为基础,并结合自定义数据过滤器作为主要数据集。由于 Laion2B 数据量非常庞大,而典型的训练过程通常不足一个 epoch,因此我们通常无需下载完整的数据集进行训练。多功能扩散模型也是如此。
我们代码中 Laion2B 数据的目录结构如下:
├── data
│ └── laion2b
│ └── data
│ └── 00000.tar
│ └── 00000.parquet
│ └── 00000_stats.jsom_
│ └── 00001.tar
│ └── ...
这些压缩数据是通过 img2dataset API 生成的,官方 GitHub 链接。
环境搭建
conda create -n versatile-diffusion python=3.8
conda activate versatile-diffusion
conda install pytorch==1.12.1 torchvision=0.13.1 -c pytorch
[或者] pip install torch==1.12.1+cu113 torchvision==0.13.1+cu113 torchaudio==0.12.1 --extra-index-url https://download.pytorch.org/whl/cu113
pip install -r requirements.txt
预训练模型
所有预训练模型均可从 Hugging Face 下载,链接。预训练文件夹应包含以下文件:
├── pretrained
│ └── kl-f8.pth
│ └── optimus-vae.pth
│ └── vd-four-flow-v1-0.pth
│ └── vd-four-flow-v1-0-fp16.pth
名称带 -fp16 的模型为使用 float16 参数的模型,其大小仅为 float32 模型的一半。
推理
我们现在提供了一个便捷的 WebUI app.py,支持所有应用。可通过以下命令启动 WebUI:
python app.py
WebUI 包含以下新特性:
- 改进并增强了图像变体功能
- 新增三重上下文图像混合器(支持两张带有可选掩码的图像 + 文本)
- 新增多上下文图像混合器(支持最多四张带有可选掩码的图像 + 文本)
以下旧功能已被暂时禁用:
- I2T2I 已下线。我们正在寻找更好的图像编辑方法。
作品展示
文本到图像
图像变体
具有语义聚焦的图像变体
双引导
引用
@article{xu2022versatile,
title = {Versatile Diffusion: Text, Images and Variations All in One Diffusion Model},
author = {Xingqian Xu, Zhangyang Wang, Eric Zhang, Kai Wang, Humphrey Shi},
year = 2022,
url = {https://arxiv.org/abs/2211.08332},
eprint = {2211.08332},
archiveprefix = {arXiv},
primaryclass = {cs.CV}
}
致谢
部分代码重新组织或实现了来自以下仓库的代码:LDM 官方 GitHub,该仓库同样源自 DDPM 官方 GitHub。
常见问题
相似工具推荐
openclaw
OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你
stable-diffusion-webui
stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。
ComfyUI
ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。
LLMs-from-scratch
LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目,旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型(LLM)。它不仅是同名技术著作的官方代码库,更提供了一套完整的实践方案,涵盖模型开发、预训练及微调的全过程。 该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型,却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码,用户能够透彻掌握 Transformer 架构、注意力机制等关键原理,从而真正理解大模型是如何“思考”的。此外,项目还包含了加载大型预训练权重进行微调的代码,帮助用户将理论知识延伸至实际应用。 LLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API,而是渴望探究模型构建细节的技术人员而言,这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计:将复杂的系统工程拆解为清晰的步骤,配合详细的图表与示例,让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础,还是为未来研发更大规模的模型做准备
Deep-Live-Cam
Deep-Live-Cam 是一款专注于实时换脸与视频生成的开源工具,用户仅需一张静态照片,即可通过“一键操作”实现摄像头画面的即时变脸或制作深度伪造视频。它有效解决了传统换脸技术流程繁琐、对硬件配置要求极高以及难以实时预览的痛点,让高质量的数字内容创作变得触手可及。 这款工具不仅适合开发者和技术研究人员探索算法边界,更因其极简的操作逻辑(仅需三步:选脸、选摄像头、启动),广泛适用于普通用户、内容创作者、设计师及直播主播。无论是为了动画角色定制、服装展示模特替换,还是制作趣味短视频和直播互动,Deep-Live-Cam 都能提供流畅的支持。 其核心技术亮点在于强大的实时处理能力,支持口型遮罩(Mouth Mask)以保留使用者原始的嘴部动作,确保表情自然精准;同时具备“人脸映射”功能,可同时对画面中的多个主体应用不同面孔。此外,项目内置了严格的内容安全过滤机制,自动拦截涉及裸露、暴力等不当素材,并倡导用户在获得授权及明确标注的前提下合规使用,体现了技术发展与伦理责任的平衡。
opencv
OpenCV 是一个功能强大的开源计算机视觉库,被誉为机器视觉领域的“瑞士军刀”。它主要解决让计算机“看懂”图像和视频的核心难题,提供了从基础的图像读取、色彩转换、边缘检测,到复杂的人脸识别、物体追踪、3D 重建及深度学习模型部署等全方位算法支持。无论是处理静态图片还是分析实时视频流,OpenCV 都能高效完成特征提取与模式识别任务。 这款工具特别适合计算机视觉开发者、人工智能研究人员以及机器人工程师使用。对于希望将视觉感知能力集成到应用中的软件工程师,或是需要快速验证算法原型的学术研究者,OpenCV 都是不可或缺的基础设施。虽然普通用户通常不会直接操作代码,但日常生活中使用的扫码支付、美颜相机和自动驾驶系统,背后往往都有它的身影。 OpenCV 的独特亮点在于其卓越的性能与广泛的兼容性。它采用 C++ 编写以确保高速运算,同时提供 Python、Java 等多种语言接口,极大降低了开发门槛。库中内置了数千种优化算法,并支持跨平台运行,能够无缝对接各类硬件加速器。作为社区驱动的项目,OpenCV 拥有活跃的生态系统和丰富的学习资源,持续推动着视觉技术的前沿发展。