🤗 社区发布的文本到图像生成开放偏好数据集

发布日期:2024年12月9日
在 GitHub 上更新

“数据共好”社区又发布了一个对开源开发至关重要的数据集。由于缺乏用于文本到图像生成的开放偏好数据集,我们着手发布一个采用 Apache 2.0 许可的文本到图像生成数据集。该数据集侧重于常见图像生成类别中的文本到图像偏好对,同时混合了不同的模型系列和不同的提示复杂性。

太长不看?所有结果都可以在Hugging Face Hub 上的这个集合中找到,预处理和后处理代码可以在这个 GitHub 仓库中找到。最重要的是,有一个即用型偏好数据集和一个flux-dev-lora-微调模型。如果你想表示支持,请在继续阅读之前点赞、订阅并关注我们。

不熟悉“数据共好”社区?

[数据共好](https://huggingface.co/data-is-better-together)是 🤗 Hugging Face 和开源 AI 社区之间的合作。我们的目标是赋能开源社区,共同构建有影响力的数据集。你可以关注该组织,以获取最新的数据集、模型和社区冲刺。

类似工作

已经有许多创建开放图像偏好数据集的尝试,但我们的工作是独一无二的,因为它包含了不同复杂度和类别的提示,并且数据集和创建代码都是开放的。以下是一些此类工作:

- [yuvalkirstain/pickapic_v2](https://huggingface.co/datasets/yuvalkirstain/pickapic_v2)
- [fal.ai/imgsys](https://imgsys.org/)
- [TIGER-Lab/GenAI-Arena](https://huggingface.co/spaces/TIGER-Lab/GenAI-Arena)
- [artificialanalysis image arena](https://artificialanalysis.ai/text-to-image/arena)

输入数据集

为了获得用于本次冲刺的合适输入数据集,我们首先使用了一些基本提示,并使用 distilabel 通过合成数据生成对其进行了清洗、毒性过滤以及类别和复杂性注入。最后,我们使用 Flux 和 Stable Diffusion 模型生成图像。这产生了 open-image-preferences-v1

输入提示

Imgsys 是一个由 fal.ai 托管的生成图像模型竞技场,人们可以在其中提供提示并在两个模型生成之间进行选择以提供偏好。遗憾的是,生成的图像并未公开发布,但相关的提示托管在 Hugging Face 上。这些提示代表了图像生成的实际使用情况,其中包含侧重于日常生成的良好示例,但这种实际使用也意味着它包含重复和有毒的提示,因此我们必须查看数据并进行一些过滤。

降低毒性

我们旨在在社区开始之前从数据集中删除所有 NSFW 提示和图像。我们采用了一种多模型方法,使用两个基于文本和两个基于图像的分类器作为过滤器。过滤后,我们决定手动检查每张图像,以确保没有留下任何有害内容,幸运的是,我们发现我们的方法奏效了。

我们使用了以下流程:

  • 将图像分类为 NSFW
  • 删除所有阳性样本
  • Argilla 团队手动审查数据集
  • 根据审查结果重复

合成提示增强

数据多样性对于数据质量至关重要,因此我们决定通过使用一个 distilabel 管道,根据各种类别和复杂性合成重写提示来增强我们的数据集。

类型 提示 图像
默认 一把没有弦的竖琴 Default Harp Image
程式化 一把没有弦的竖琴,以动漫风格呈现,具有复杂的细节和流畅的线条,背景是梦幻般的柔和色彩 Stylized Harp Image
质量 一把没有弦的竖琴,以动漫风格呈现,具有复杂的细节和流畅的线条,背景是梦幻般的柔和色彩,沐浴在柔和的黄金时段光线下,氛围宁静,纹理丰富,高分辨率,照片级真实感 Quality Harp Image

提示类别

InstructGPT 描述了文本到文本生成的基础任务类别,但文本到图像生成没有明确的等效类别。为了解决这个问题,我们使用两个主要来源作为我们类别的输入:google/sdxlMicrosoft。这导致了以下主要类别:["电影", "摄影", "动漫", "漫画", "数字艺术", "像素艺术", "奇幻艺术", "霓虹朋克", "3D 模型", “绘画”, “动画” “插画”]。除此之外,我们还选择了一些互斥的子类别,以进一步丰富提示的多样性。这些类别和子类别是随机抽样的,因此在整个数据集中大致均匀分布。

提示复杂性

Deita 论文证明,不断变化的提示复杂性和多样性可以带来更好的模型生成和微调,但是,人类并不总是花时间编写详尽的提示。因此,我们决定以复杂和简化两种方式使用相同的提示作为不同偏好生成的两个数据点。

图像生成

ArtificialAnalysis/Text-to-Image-Leaderboard 显示了性能最佳的图像模型的概览。我们根据它们的许可和在 Hub 上的可用性,选择了其中两个性能最佳的模型。此外,我们确保模型属于不同的模型家族,以免突出不同类别之间的生成。因此,我们选择了 stabilityai/stable-diffusion-3.5-largeblack-forest-labs/FLUX.1-dev。然后,每个模型都用于在相同风格类别中为简化和复杂提示生成图像。

image-generation

结果

所有标注数据的原始导出包含对多项选择的回答,其中每个标注者都选择了哪个模型更好,两个模型都表现良好,或两个模型都表现不佳。基于此,我们可以查看标注者对齐、不同类别下的模型性能,甚至进行模型微调,你可以在 Hub 上试用!以下显示了标注数据集:

标注者一致性

标注者一致性是检查任务有效性的一种方法。当任务太难时,标注者可能不一致;而当任务太容易时,他们可能过于一致。在这项冲刺中,我们成功地找到了平衡点。我们使用 Hugging Face 数据集 SQL 控制台进行了这项分析。总的来说,在我们的测试设置中,SD3.5-XL 更有可能获胜。

模型性能

鉴于标注者的一致性,这两个模型都证明了它们各自的性能更优,因此我们进行了额外的分析,以查看不同类别之间是否存在差异。简而言之,FLUX-dev 在动漫方面表现更好,而 SD3.5-XL 在艺术和电影场景方面表现更好。

  • 持平:摄影、动画
  • FLUX-dev 更佳:3D 模型、动漫、漫画
  • SD3.5-XL 更佳:电影、数字艺术、奇幻艺术、插画、霓虹朋克、绘画、像素艺术

模型微调

为了验证数据集的质量,同时不花费太多时间和资源,我们决定根据GitHub 上的扩散器示例black-forest-labs/FLUX.1-dev 模型进行 LoRA 微调。在此过程中,我们将选择的样本作为 FLUX-dev 模型的预期完成项,并排除了被拒绝的样本。有趣的是,经过微调的模型在艺术和电影场景中表现得更好,而这些场景最初是其弱项!你可以在这里测试微调后的适配器

提示 原始 微调
一艘船停泊在威尼斯运河中,以水粉画绘制,笔触柔和流畅,色彩鲜艳半透明,在雾蒙蒙的氛围下捕捉水中的宁静倒影,纹理丰富,视角动感 Original Venice Finetune Venice
一朵鲜艳的橙色罂粟花,被华丽的金色画框包裹,以黑色为背景,以动漫风格呈现,线条粗犷,细节夸张,光影对比强烈。 Original Flower Finetune Flower
厨房里机器人做饭的颗粒感照片,柔和的阴影和怀旧的胶片质感。 Original Robot Finetune Robot

社区

简而言之,我们在不到 2 周的时间内标注了 1 万对偏好,标注者重叠率为 2/3,这导致了超过 3 万个响应,其中有超过 250 名社区成员参与!图像排行榜显示,有些社区成员甚至提供了超过 5 千个偏好。我们想感谢所有参与本次冲刺的人,特别感谢排名前三的用户,他们都将获得一个月的 Hugging Face Pro 会员资格。请务必在 Hub 上关注他们:aashish1904prithivMLmodsMalalatiana

leaderboard

下一步是什么?

又一次成功的社区冲刺之后,我们将继续在 Hugging Face Hub 上组织此类活动。请务必关注 Data Is Better Together 组织以获取最新信息。我们还鼓励社区成员自行采取行动,并乐意在社交媒体和 Hub 上的组织内进行指导和转发。您可以通过以下几种方式做出贡献:

  • 加入并参与其他冲刺活动。
  • 提出您自己的冲刺或高质量数据集请求。
  • 偏好数据集的基础上微调模型。一个想法是对 SDXL 或 FLUX-schnell 进行完整的 SFT 微调。另一个想法是进行 DPO/ORPO 微调。
  • 评估LoRA 适配器相较于原始 SD3.5-XL 和 FLUX-dev 模型的改进性能。

社区

注册登录 发表评论