diffusiondb
1400万张Stable Diffusion生图与真实用户Prompt的大规模配对数据集
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
1400万张Stable Diffusion生图与真实用户Prompt的大规模配对数据集
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
2022年8月,一个由佐治亚理工学院 Polo Club 实验室发起的项目悄然上线 GitHub。它不做模型、不训练网络、不搞 GPU 集群——它的任务只有一个:把真实用户在 Stable Diffusion 里输入的 Prompt 全部记录下来。
这个项目叫 DiffusionDB。上线不久,便在 AI 社区引发轰动:它收录了 1400 万张由 Stable Diffusion 生成的图片,以及每张图背后真实用户输入的提示词(Prompt)和模型参数。每一个 UUID 命名的文件、每一行 JSON 里的 p(prompt)、c(CFG Scale)、st(步数)、sa(采样器),都是人类与 AI 创作协作的第一手原始记录。
对于 AI 研究者和爱好者而言,DiffusionDB 的价值远不止"图库"这么简单——它是理解"人类如何指挥 AI 画画"的窗口,是 Prompt Engineering 领域的第一块里程碑。
DiffusionDB 的数据来源是 Stable Diffusion 官方 Discord 服务器。2022年夏秋之交,数以万计的用户在这个社区里不断尝试着同一个问题:"我该怎么描述,才能让 AI 画出我想要的东西?"
有的用户输入 "geodesic landscape, john chamberlain, christopher balaskas, tadao ando, 4k",试图让 AI 画出建筑感;有的输入 "a small liquid sculpture, corvette, viscous, reflective, digital art",尝试液态金属效果;还有的写了一段完整的叙事描述,却只得到一张不知所云的图——这些真实发生的"成功与失败",都被 DiffusionDB 完整记录下来。
DiffusionDB 的核心作者 Jay Wang(Zijie J. Wang)是 Polo Club 实验室的博士生,导师是著名的数据可视化学者 Polo Chau 教授。Polo Club 实验室以构建有趣且有意义的数据工具闻名,此前还推出过 DataComposer、DataToolkit 等多个数据处理项目。DiffusionDB 的论文《DiffusionDB: A Large-scale Prompt Gallery Dataset for Text-to-Image Generative Models》发表在 ACL 2023(计算语言学顶会),正式将"提示词数据集"这个概念引入了学术界。
DiffusionDB 提供两个子集,满足不同场景需求:
| 子集 | 图片数 | 唯一 Prompt 数 | 数据大小 | 格式 |
|---|---|---|---|---|
| DiffusionDB 2M | 200 万 | 150 万 | 1.6 TB | PNG + JSON + Parquet |
| DiffusionDB Large | 1400 万 | 180 万 | 6.5 TB | WebP + JSON + Parquet |
DiffusionDB Large 是 2M 的超集,两者拥有相似数量的独立 Prompt,但 Large 每个 Prompt 配套了更多变体图片(不同随机种子)。
数据集采用模块化分目录结构:200 万张图被分成 2000 个文件夹,每个文件夹 1000 张图配一个 JSON 索引文件,JSON 文件中每张图的 key 对应其 prompt 和生成参数:
{
"f3501e05-aef7-4225-a9e9-f516527408ac.png": {
"p": "geodesic landscape, john chamberlain, christopher balaskas, tadao ando, 4 k, ",
"se": 38753269,
"c": 12.0,
"st": 50,
"sa": "k_lms"
}
}
每条元数据包含:
Parquet 格式的元数据表可直接按列查询,无需下载全部图片——比如只需提取所有 prompt 文本做 NLP 分析时,只下载 parquet 文件即可,数据量仅几十 GB。
DiffusionDB 的价值在多个研究领域得到体现:
1. Prompt Engineering 研究 DiffusionDB 是目前规模最大的真实用户 Prompt 语料库。研究者可以分析:
2. Deepfake 检测 AI 生成图像的泛滥让假图鉴别成为紧迫问题。DiffusionDB 提供了大量同 Prompt 不同种子生成的图片变体,可用于训练和评估检测模型的鲁棒性。
3. 提示词推荐系统 基于 DiffusionDB 的数据分析,可以训练模型自动优化用户的提示词——类似 GitHub Copilot 的"代码补全",DiffusionDB 是"AI 绘图 Prompt 补全"的数据基础。
4. 扩散模型行为分析 DiffusionDB 揭示了真实用户对 Stable Diffusion 的实际使用方式:哪些参数组合最受欢迎?不同采样器对同一 Prompt 的效果差异有多大?用户愿意为一张图尝试多少次?这些问题都能在数据中找到答案。
方式一:HuggingFace Hub(推荐)
DiffusionDB 托管在 HuggingFace,数据获取零门槛:
from datasets import load_dataset
# 只加载元数据(轻量,约 2GB)
ds = load_dataset("poloclub/diffusiondb", "2M_all", split="train", streaming=True)
# 逐条遍历
for item in ds:
print(item['prompt']) # 获取 prompt
break
方式二:PoloClub Downloader 脚本
项目提供了专用下载脚本,支持按范围、按批次下载 Zip 文件,适合需要原始图片的场景:
git clone https://github.com/poloclub/diffusiondb.git
cd diffusiondb/scripts
python download.py --part 1 --max 10
方式三:Jupyter Notebook 分析
项目自带两个 Jupyter notebooks:
example-loading.ipynb:演示如何用 HuggingFace 加载器读取数据simple-prompt-analysis.ipynb:展示 Prompt 文本的基本统计分析项目还提供了多个数据处理脚本:
| 脚本 | 功能 |
|---|---|
detect-nsfw-image.py | 检测 NSFW 内容图片 |
detect-toxic-prompt.py | 检测有毒/恶意提示词 |
compress-channel.py | 图片通道压缩,减小存储体积 |
scrape-channel.py | 从 Discord 频道抓取新数据 |
scrape-timestamp-author.py | 提取时间戳和用户信息 |
这些脚本对处理大规模生成数据具有很强的参考价值,可迁移到其他 Diffusion 模型数据采集场景。
DiffusionDB 还提供了一个开箱即用的 Web Explorer(/explorer 目录,基于 Vite + 原生 JS 构建)。这是用纯前端方式实现的数据浏览工具,可在线查看部分数据集样本,无需下载任何数据即可直观了解数据格式和内容风格。
访问地址:https://poloclub.github.io/diffusiondb

图1:DiffusionDB 项目 GitHub 页面
DiffusionDB 在数据集文档(DataSheet)中坦诚披露了以下局限:
DiffusionDB 采用 CC0/MIT 双许可(用户可自选),极大降低了学术和商业使用的门槛。
DiffusionDB 的发表(ACL 2023)和开源,让"提示词数据集"成为 AIGC 研究的新方向:
DiffusionDB 获得了 J.P. Morgan PhD Fellowship、NSF、DARPA GARD 等资助,并获得了 Intel、NVIDIA、Google 等公司的算力捐赠。
DiffusionDB 是一个"数据级的项目",而非传统意义上的应用或工具。它的核心贡献在于:首次以千万级规模记录了人类与 AI 绘图模型的真实交互过程。
对于 AI 爱好者,它是一扇窗口,可以直观看到真实用户在 Prompt 里写了什么;对于开发者,它是Prompt Engineering 研究和 Deepfake 检测的宝贵数据资产;对于研究者,它是扩散模型行为分析和提示词优化的第一手语料。
虽然数据体量巨大(TB 级别)、没有 Docker 部署方式、无法"一键运行",但通过 HuggingFace 的标准接口和在线 Web Explorer,普通用户完全可以在不下载原始数据的情况下,体验 AI 生图时代的真实 Prompt 世界。
一句话评价:DiffusionDB 不是让 AI 画画的工具,而是让人类读懂 AI 画画的数据宝库。