Data Is All You Need! 生成式图文对数据最佳实践,数据集魔搭开源!

简介: 23年10月底,OpenAI发布了 DALL-E 3 的技术报告《 Improving Image Generation with Better Captions 》,这篇技术报告的重点放在了 DALL-E 3 通过高质量的、详细的、生成式图像 caption(文本描述)进行训练后,提升 prompt following 能力。

概要

23年10月底,OpenAI发布了 DALL-E 3 的技术报告《 Improving Image Generation with Better Captions 》,这篇技术报告的重点放在了 DALL-E 3 通过高质量的、详细的、生成式图像 caption(文本描述)进行训练后,提升 prompt following 能力。

契合的是,在DALL-E 3技术报告发表前,通义数据团队在图文对生产领域有一些初步的探索,以此为基础,延续 DALL-E 3 的思路,最终形成了三方面的产出:

  1. 图文对系列标注工具:视觉对话,图生文,图文解释;
  2. 使用生成式图文对,配合标注数据, finetune qw-vl-7b 模型,提供高质量/高效率的图文对生成方案;
  3. 使用标注数据 finetune cn_clip,结合 SAM 分割,提供高质量的图文匹配数据生产链路;

省流

OpenAI结论: 通过使用高质量、详细的、生成式的图像 caption 进行训练,可以显着提高 text-to-image model 的 prompt following 能力。

通义数据团队实践结果:

  1. 通过 Chain-of-Thought (CoT) Prompting 调用 GPT4V 产生高质量结构化 caption 数据,finetune qw-vl-7b 模型,生成数据参与到文生图模型的训练,模型的语义理解精确度提升约10%;
  2. 对结构化 caption 中的细粒度 region caption 进行图文匹配,产生(caption, mask)pair 数据,进行 x-painting 任务训练,提升约5%
  3. 来自sa1b数据集的1000w中英文图文对数据、分割数据以及图文匹配数据魔搭开源!开源链接:https://modelscope.cn/datasets/Tongyi-DataEngine/SA1B-Dense-Caption

数据质量

大量的图文对数据从何而来?通常而言是分为两块:

  • 互联网公开数据:

互联网公开图文对数据的文本描述质量显而易见,不够好,或者说很差。

  • 开源数据集: a. 图像文本描述往往过于简单(如 COCO),缺失背景,物体的位置和数量,图像中的文字等信息; b. 类如 LAION 等数据集、描述的是图像的相关问题,比如广告,emoji等,而不是图像具体信息。

那么更进一步,海量的、高质量的图文数据对从何而来?常规而言,标注是提升数据质量的有效手段。不过,图像描述的标注任务难度很大:将图片内容总结成一段详细且准确的描述,也许只有具备良好文字基础的摄影师能高效的完成。

DALL-E 3: “标注人员专注于对图像主题的简单描述,而忽略图像中描绘的背景细节或常识关系。”

对此通义数据团队开发的标注平台开放了图生文等标注能力,标注人员只需动动手指,点击图像中的关键元素,核对修改细节信息就能生成图像的详细的整体描述。

ok,高质量数据生产基本可以保障,那么海量高质量数据怎么生产呢?OpenAI 给出的答案是:训练一个 image captioner 来生成图像的 caption。延续这一思路,我们评测了目前的开源的 captioner model 在图像描述任务上的效果,发现幻觉、丢失信息等问题还普遍存在。但,不出意外 GPT4V 在图像描述任务上有着不错的效果。

ft-qw-vl-v1: 使用GPT4V生成数据训练

ft-qw-vl-v2::使用人工校验后的GPT4V生成数据训练


海量数据生产

上文提到,GPT4V 在图像描述任务上效果不错。但 DALL-E 3 仍然选择了训练一个 image captioner 支持图像 caption 生产任务,DALL-E 3如此行为的真实原因不得而知,但我猜策,大概率和我们选择这一方向的原因一致:成本(性价比),亿级的 GPT4V 调用费用已经远远超出预算。


首先我们设计了图文对描述任务上的 Chain-of-Thought (CoT) Prompting,强调 GPT4V 关注细节、数量、姿态等信息,同时,引入图片的 origin caption 作为辅助信息。生产了十万量级结构化图像描述数据。这里的 origin caption 可以是 alt-text,也可以是简单的生成式/人工标注描述。


然后我们使用生成的十万量级数据,结合标注数据进行了 qw-vl-7b 的 finetune 工作,qw-vl-7b 的细粒度识别和理解能力和大量的中文训练预料,能很好的支持图文对理解任务。效果如表1,表2所示。


最后我们使用 finetune qw-vl-7b 进行了亿级的图文对数据标注。

图文匹配数据生产

得益于 iTAG 平台的图生文、图文解释等标注能力,产生十万量级的 golden data,包含详细的图像描述、细节描述列表、细节描述对应的图像 mask。我们使用这批数据 finetune cn_clip,结合 SAM 分割,进行了高质量的图文匹配数据生产。在测试集上,finetune_cn_clip 的表现如表4.1 - 4.3所示。其中 Flicker 为 Flicker-30k-zh 中抽取的5000条测试数据,文本平均长度为20;C0T GPT4V 为生成式数据中抽取的5000条测试数据,文本平均长度为136。

model

avg_score

recall

cn_clip

26.4

76.3%

ft_cn_clip

30.7

89.3%


model

Flicker

CoT GPT4V

r1

r5

r10

r1

r5

r10

cn_clip

70.94

91.38

95.5

75.38

92.06

95.52

ft_cn_clip

72.78

91.9

95.4

91.48

98.86

99.64


model

Flicker

CoT GPT4V

r1

r5

r10

r1

r5

r10

cn_clip

81.9

97.3

98.8

75.48

91.64

94.94

ft_cn_clip

86.7

97.8

99.3

91.4

99.2

99.72

更多图文匹配效果预览: Caption-Region(https://test-bucket-duplicate.oss-cn-hangzhou.aliyuncs.com/sure/ata_caption_region.html?OSSAccessKeyId=&Expires=3600001710331578&Signature=YUcjP2oXIdMRlDX4AXHnKDSNc50%3D

开源计划

5月初,开源DataEngine-sa1b数据集: 生成式数据集,包含来自sa1b数据集的860w中英文(移除敏感数据)图文对数据、分割数据以及图文匹配数据;开源链接:https://modelscope.cn/datasets/Tongyi-DataEngine/SA1B-Dense-Caption

后续,开源DataEngine-anno数据集:人工标注数据集,包含抽取自coco, laion等数据集的部分中英文图文对数据、分割数据以及图文匹配数据;

致谢

  • 感谢通义千问多模态团队的模型能力支持;
  • 感谢通义万相团队的业务细节支持;
  • 感谢通义数据团队提供海量数据和高效处理链路等各项支持;

参考文献和模型

  1. https://github.com/OFA-Sys/Chinese-CLIP
  2. https://cdn.openai.com/papers/dall-e-3.pdf
  3. https://arxiv.org/abs/2304.02643
  4. https://modelscope.cn/models/qwen/Qwen-VL-Chat
相关文章
|
算法 数据库 计算机视觉
Dataset之COCO数据集:COCO数据集的简介、下载、使用方法之详细攻略
Dataset之COCO数据集:COCO数据集的简介、下载、使用方法之详细攻略
|
存储 算法 数据库
一起聊聊图像质量和美学评估的数据集
图像质量和美学评估是计算机视觉领域中热点的研究问题,并且极具应用前景,可与众多实际应用深度结合。评价一张图片,主要从两个方向,一个是图像的质量,如像素、清晰度、有无噪声等,一个是图像的感觉,也就是美学,如构图、颜色、内容主体等。通过这两个方面就可以评价一张图片的好坏,通过计算机视觉算法,可以为图片自动评分,得分高的图片被认为较好,可以用于推荐和搜索等应用场景。本文主要聊聊一些关于图像质量和美学评估
13165 1
|
机器学习/深度学习 编解码 算法
AIGC生图的自动化质量评估(1)
AIGC生图的自动化质量评估
611 6
|
人工智能 自然语言处理 API
阿里云百炼平台上线首个最新文生图模型FLUX中文优化版
由Stable Diffusion团队推出的开源文生图模型FLUX风靡全球,其生成质量媲美Midjourney,被誉为“开源王者”。阿里云百炼平台首发FLUX中文优化版,提升了中文指令的理解与执行能力。开发者可直接在平台上体验并调用FLUX模型,且享有1000张图像的免费生成额度,有效期180天。无需额外部署,即可轻松利用这一先进模型创造高质量图像。
1725 0
|
11月前
|
数据采集 算法 大数据
大数据中噪声数据处理
【10月更文挑战第20天】
1685 2
|
编解码 JSON 自然语言处理
Qwen2-VL 全链路模型体验、下载、推理、微调实战!
经过了一年的不懈努力,今天通义千问团队对 Qwen-VL 模型进行重大更新——推出 Qwen2-VL。那么Qwen2-VL 有什么新功能呢?一起来看一下吧
Qwen2-VL 全链路模型体验、下载、推理、微调实战!
|
自然语言处理 测试技术 异构计算
使用Accelerate库在多GPU上进行LLM推理
大型语言模型(llm)已经彻底改变了自然语言处理领域。随着这些模型在规模和复杂性上的增长,推理的计算需求也显著增加。为了应对这一挑战利用多个gpu变得至关重要。
2152 0
|
小程序 API 调度
消费级显卡,17G显存,玩转图像生成模型FLUX.1!
近期stable diffusion的部分核心开发同学,推出了全新的图像生成模型FLUX.1。
|
Python Windows
在 Windows 平台下打包 Python 多进程代码为 exe 文件的问题及解决方案
在使用 Python 进行多进程编程时,在 Windows 平台下可能会出现将代码打包为 exe 文件后无法正常运行的问题。这个问题主要是由于在 Windows 下创建新的进程需要复制父进程的内存空间,而 Python 多进程机制需要先完成父进程的初始化阶段后才能启动子进程,所以在这个过程中可能会出现错误。此外,由于没有显式导入 Python 解释器,也会导致 Python 解释器无法正常工作。为了解决这个问题,我们可以使用函数。
421 5
|
机器学习/深度学习 数据可视化 Swift
Florence-2,小模型推进视觉任务的统一表征
Florence-2是一种新颖的视觉基础模型,具有统一的、基于提示的表示,可用于各种计算机视觉和视觉语言任务。