【ACL2024】面向Stable Station的交互式多轮Prompt生成模型DiffChat

简介: 阿里云人工智能平台PAI与华南理工大学金连文教授团队合作,在自然语言处理顶级会议 ACL 2024 上发表论文《DiffChat: Learning to Chat with Text-to-Image Synthesis Models for Interactive Image Creation. ACL 2024》。

近日,阿里云人工智能平台PAI与华南理工大学金连文教授团队合作,在自然语言处理顶级会议 ACL 2024 上发表论文DiffChat: Learning to Chat with Text-to-Image Synthesis Models for Interactive Image Creation. ACL 2024》。DiffChat算法是一个文到文的多轮生成模型,可以根据用户的需求指令对原始提示词进行适当的修改,得到新的提示词来使得文到图生成模型能够生成更美观且符合指令的图像。整个过程做到了用户和文图生成模型的迭代交互,最终完成用户的创作需求。


背景

基于扩散模型的文图生成模型(如Stable Diffusion)的效果有时会受到输入文本即提示词撰写的影响。当用户对创作的图像有特定需求或者希望执行特定的内容修改时,通常需要进行反复多次的提示词修改,且每次尝试的结果都是不可预期的。这造成了不可忽略的时间和计算资源的耗费。基于这一问题,我们希望设计出自动的可以根据用户的需求指令对原始提示词进行适当修改的方法。


自动化数据收集方案

DiffChat模型的目标是在给定原始提示词/图像和用户指令的情况下,生成用于互动式图像创建的目标提示词。为了实现这一点,我们首先需要构建一个高度相关的数据集。为了解决这个问题,我们首先创建了一个提示词美化模型。我们从开源资源中收集了大量的真实世界高质量提示词。接下来,我们请求ChatGPT将这些高质量提示词总结为简化的提示词。通过这种方法,我们获得了大量的<简化,高质量>提示词对,这些将被用来微调一个BLOOM-1.1B模型而作为我们的提示词美化模型。

image.png

如上图所示,我们的InstructPE数据集的收集过程即可以开始进行。基于InstructPix2Pix数据集,我们做出如下处理:将InstructPix2Pix的原始提示词 image.png 和目标提示词 image.png 分别送到我们的提示词美化模型,以生成美化后的 image.png image.png 接下来,由于提示词美化模型在生成过程中不可避免地会面临丢失关键词的风险,我们根据 image.png 哪一组保留了更多关键词来决定是使用模板 image.png 与ChatGPT进行下一步的互动。这样操作的原因是我们希望尽可能保持修改后的提示词与原始提示词之间的一致性。例如,如果 image.png 保留的关键词比 image.png 多,我们将设置 image.png 为已知参考,并让ChatGPT生成 image.png ,反之亦然。接着,给定 image.png image.png 以及指令 image.png ,我们利用提示词工程技术请求ChatGPT写出另一个 image.png 最终,我们的InstructPE数据集组织形式为 image.png

通过以上这种方法,我们就获得了大量的三元组数据。此外,我们对其进行进一步的数据清理和过滤。首先过滤掉非英语和包含色情、政治敏感等不适合工作场景的数据,并对图片的美观值进行了筛选。我们最终收集了234,786个三元组作为训练集,5,582个三元组作为测试集。我们将其命名为InstructPE数据集。


算法架构

给定包含输入提示词、指令和目标提示词的InstructPE数据集三元组 image.png ,我们微调一个解码器结构的语言模型,以输出高质量提示词。我们使用自回归语言建模目标来最大化以下似然函数:

image.png

其中 image.png 是一个模板,用于将 image.png 组织成前缀句子。

由于收集到的数据集不可避免地含有噪声,例如目标提示词并不严格遵循相应的输入提示词和指令,因此微调后的模型的性能可能不足以令人满意。为了进一步发展,我们使用强化学习算法进一步增强模型表现。在基于近端策略优化(PPO)的强化学习算法中,代理模型需要从环境中获取奖励反馈,以便朝着期望的方向更新其策略。而在我们的任务中,奖励必须反映用户对于图像创作所关心的问题。

对此,我们设计了三个用户所关注的标准:

(1)美学。它代表了所创建图像的美学评价。

(2)偏好。它表示用户对指定图像相对于其他图像的偏好程度。

(3)内容完整性。它评估了目标提示词中包含的关键内容的完整性。

我们旨在使用现有的AI模型以及自设计的启发式规则来对生成的图像结果自动打分,从而避免昂贵的人工标注成本。具体而言,我们使用aesthetic score和PickScore分别作为我们的美学和偏好标准指标。此外,我们还自行设计了内容完整性评分,它启发式地提取出提示词和指令中的关键信息,然后根据目标提示词对这些关键信息的包含度和完整性是否达到阈值来决定是否给予奖励。


另外,语言生成中涉及的动作空间常常远远超过传统设计中大多数离散动作空间的大小。例如,GPT-3和 T5 模型分别具有50K和32K的字典大小。在原始的离线策略数据采样 image.png 过程中,它根据整个动作/字典空间 image.png 上的概率分布随机选择下一个生成token image.png

image.png

在这种情况下,每个具有非零概率的token都有被生成的机会。然而,动作空间的过于庞大是样本质量不稳定的根本原因之一。为了解决这个问题,我们引入了动作空间动态修正来进行改善。对于正样本,我们在每个采样步骤 image.png 中从动作空间 image.png 中排除弱相关的tokens,形成 image.png

image.png

其中,我们在实现 时采用了局部典型抽样(Locally Typical Sampling)方法,限制tokens到最小的集合同时确保它们的累积概率超过指定的概率参数p。而对于负样本,我们进行如下处理:

image.png


其中,我们随机选择一部分目标提示词的关键词并删除或修改它们,以此形成 image.png 通过这种方式,我们可以模拟真实的遗漏或替换错误,以实现有针对性的优化。

先进的策略梯度方法如PPO中会引入优势函数A来衡量动作 image.png 在特定状态 image.png 下相对于策略的平均动作的优劣程度。广义优势估计被广泛采用来计算A,如下所示:

image.png

这里, image.png 是轨迹长度, image.png image.png 是权衡和折扣参数。 image.png 是第t步的奖励。 image.png 是综合评估当前状态的值函数。

为了帮助更好地感知当前的文本生成进展,我们提议额外添加内容完整性来更好地计算状态的价值:

image.png

image.png 是一个权衡超参数。


实验结果

我们基于BLOOM-1.1B进行实验,作为DiffChat的主干网络。选择这个相对较小的版本是为了确保高推理效率,以支持现实世界的应用。我们的方法不依赖于特定模型的选择。系统地评估提示词生成模型的优劣是一项具有挑战性的任务。其中最直接的方法之一就是自动化地评估使用模型产生的提示词所生成的图像。我们使用了Stable Diffusion 1.5, Deliberate, Dreamlike, Realistic, Stable Diffusion XL 1.0等模型来验证结果。如下表所示:我们可以看出,我们的算法能够与现有的多个文生图模型进行协作以实现更高图像质量的创作,这证明了DiffChat算法的优越性。一些和InstructPix2Pix对比的例子如下所示:

image.png

我们可以看出,我们的算法能够与现有的多个文生图模型进行协作以实现更高图像质量的创作,这证明了DiffChat算法的优越性。一些和InstructPix2Pix对比的例子如下所示:

image.png

参考文献

  • Tim Brooks, Aleksander Holynski, and Alexei A Efros. 2023. InstructPix2Pix: Learning to follow image editing instructions. In CVPR, pages 18392–18402..
  • Tingfeng Cao, Chengyu Wang, Bingyan Liu, Ziheng Wu, Jinhui Zhu, and Jun Huang. 2023. BeautifulPrompt: Towards automatic prompt engineering for text-to-image synthesis. In EMNLP, pages 1–11.
  • Clara Meister, Tiago Pimentel, Gian Wiher, and Ryan Cotterell. 2023. Locally typical sampling. Transactions of the Association for Computational Linguistics, 11:102–121.  
  • Teven Le Scao, Angela Fan, Christopher Akiki, Ellie Pavlick, Suzana Ilic, Daniel Hesslow, Roman ´ Castagné, Alexandra Sasha Luccioni, François Yvon, Matthias Gallé, et al. 2022. BLOOM: A 176b parameter open-access multilingual language model. arXiv preprint arXiv:2211.05100.  
  • Chengyu Wang, Minghui Qiu, Taolin Zhang, Tingting Liu, Lei Li, Jianing Wang, Ming Wang, Jun Huang, and Wei Lin. 2022. EasyNLP: A comprehensive and easy-to-use toolkit for natural language processing. In EMNLP, pages 22–29.  

论文信息

论文名字:DiffChat: Learning to Chat with Text-to-Image Synthesis Models for Interactive Image Creation
论文作者:汪嘉鹏、汪诚愚、曹庭锋、黄俊、金连文
论文pdf链接:
https://arxiv.org/abs/2403.04997


阿里云人工智能平台PAI长期招聘研究实习生。团队专注于深度学习算法研究与应用,重点聚焦大语言模型和多模态AIGC大模型的应用算法研究和应用。简历投递和咨询:chengyu.wcy@alibaba-inc.com。

相关实践学习
使用PAI+LLaMA Factory微调Qwen2-VL模型,搭建文旅领域知识问答机器人
使用PAI和LLaMA Factory框架,基于全参方法微调 Qwen2-VL模型,使其能够进行文旅领域知识问答,同时通过人工测试验证了微调的效果。
机器学习概览及常见算法
机器学习(Machine Learning, ML)是人工智能的核心,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。 本课程将带你入门机器学习,掌握机器学习的概念和常用的算法。
相关文章
|
机器学习/深度学习 存储 人工智能
【ACL2024】阿里云人工智能平台PAI多篇论文入选ACL2024
近期,阿里云人工智能平台PAI的多篇论文在ACL2024上入选。论文成果是阿里云与阿里集团安全部、华南理工大学金连文教授团队、华东师范大学何晓丰教授团队共同研发。ACL(国际计算语言学年会)是人工智能自然语言处理领域的顶级国际会议,聚焦于自然语言处理技术在各个应用场景的学术研究。该会议曾推动了预训练语言模型、文本挖掘、对话系统、机器翻译等自然语言处理领域的核心创新,在学术和工业界都有巨大的影响力。此次入选标志着阿里云人工智能平台PAI在自然语言处理和多模态算法、算法框架能力方面研究获得了学术界认可。
|
机器学习/深度学习 编解码 人工智能
EasyAnimate-v3版本支持I2V及超长视频生成
阿里云人工智能平台(PAI)自研开源的视频生成项目EasyAnimate正式发布v3版本
|
机器学习/深度学习 人工智能 文字识别
POINTS 1.5:腾讯微信开源的多模态大模型,超越了业界其他的开源视觉语言模型,具备强大的视觉和语言处理能力
POINTS 1.5是腾讯微信推出的多模态大模型,基于LLaVA架构,具备强大的视觉和语言处理能力。它在复杂场景的OCR、推理能力、关键信息提取等方面表现出色,是全球10B以下开源模型中的佼佼者。
776 58
POINTS 1.5:腾讯微信开源的多模态大模型,超越了业界其他的开源视觉语言模型,具备强大的视觉和语言处理能力
|
编解码 JSON 自然语言处理
Qwen2-VL 全链路模型体验、下载、推理、微调实战!
经过了一年的不懈努力,今天通义千问团队对 Qwen-VL 模型进行重大更新——推出 Qwen2-VL。那么Qwen2-VL 有什么新功能呢?一起来看一下吧
Qwen2-VL 全链路模型体验、下载、推理、微调实战!
|
SQL 自然语言处理 安全
2024 年 8 月暨 ACL 2024 57篇代码大模型论文精选
2024年8月中旬,国际计算语言学大会ACL在泰国曼谷举行,展示了48篇代码大模型相关论文,包括24篇主会论文和24篇findings论文。主会论文涵盖XFT、WaveCoder、DolphCoder等创新方法,findings论文则探讨了代码注释增强、自动化程序修复等主题。此外,还额外整理了9篇8月最新代码大模型论文,涉及数据集合成、安全代码生成等多个前沿方向。欲了解更多,请访问我们的综述和GitHub项目。
1598 4
|
机器学习/深度学习 监控 计算机视觉
聊一聊计算机视觉中的KL散度
KL散度(Kullback-Leibler Divergence)是一种衡量两个概率分布差异的非对称度量,在计算机视觉中有广泛应用。本文介绍了KL散度的定义和通俗解释,并详细探讨了其在变分自编码器(VAE)、生成对抗网络(GAN)、知识蒸馏、图像分割、自监督学习和背景建模等领域的具体应用。通过最小化KL散度,这些模型能够更好地逼近真实分布,提升任务性能。
1394 1
|
机器学习/深度学习 人工智能 编解码
【机器学习】阿里Qwen-VL:基于FastAPI私有化部署你的第一个AI多模态大模型
【机器学习】阿里Qwen-VL:基于FastAPI私有化部署你的第一个AI多模态大模型
5009 1
|
人工智能 自然语言处理 搜索推荐
云栖发布:从级联到端到端语音翻译大模型Gummy
云栖发布:从级联到端到端语音翻译大模型Gummy
|
机器学习/深度学习 自然语言处理 TensorFlow
使用Python实现深度学习模型:文本生成与自然语言处理
【7月更文挑战第14天】 使用Python实现深度学习模型:文本生成与自然语言处理
659 12