【ACL 2023】具有高效推理速度的中文领域文图生成扩散模型和工具链

本文涉及的产品
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
模型训练 PAI-DLC,5000CU*H 3个月
交互式建模 PAI-DSW,5000CU*H 3个月
简介: 面向中文特定领域的文图生成模型,采用与Stable Diffusion一样的模型结构,在给定中文文本的情况下可以实现快速的文图生成工作。

近日,阿里云机器学习平台PAI与华南理工大学合作(阿里云与华南理工大学联合培养项目)在自然语言处理顶级会议ACL2023上发表了具有高效推理速度的中文领域文图生成扩散模型和工具链Rapid Diffusion。它是面向中文特定领域的文图生成模型,采用与Stable Diffusion一样的模型结构,在给定中文文本的情况下可以实现快速的文图生成工作,此外,我们提供了一键式部署功能,用户可以在个人数据上一键式的进行模型的Finetune与推理。


论文:

Bingyan Liu*, Weifeng Lin*, Zhongjie Duan, Chengyu Wang, Ziheng Wu, Zipeng Zhang, Kui Jia, Lianwen Jin, Cen Chen, Jun Huang. Rapid Diffusion: Building Domain-Specific Text-to-Image Synthesizers with Fast Inference Speed. ACL 2023 (Industry Track)

背景

Text-to-Image Synthesis(TIS)是指根据文本输入生成图像的技术,给定一段文本指令,使用计算机程序生成符合文本内容描述的图像。近年来,随着预训练大模型和扩散模型相关研究的高速发展,使用预训练文本编码器和基于扩散的图像生成器的文图生成模型已经能够生成媲美人类画师的精美图像。然而,由于预训练语言模型缺乏特定领域的实体知识且受限于扩散模型的推理速度,目前开源社区的流行文图生成模型难以支持特定工业领域的应用。主要问题在于,基于扩散的方法需要使用预训练文本编码器对输入文本进行编码,然后作为扩散模型的UNet模型的条件输入。但是目前使用网上收集的文本图像对预训练的文本编码器模型缺乏特定实体概念的理解能力,难以捕获特定实体知识,这对于生成逼真的实体对象图片至关重要。同时,扩散模型的推理速度和计算成本也是需要考虑的重要因素,而迭代逆扩散去噪过程的繁琐计算一直是扩散模型推理速度的瓶颈。

为了解决上述问题,研究具备特定实体对象理解能力的扩散模型以生成具有符合文本内容描述的高分辨率图像,并开发支持快速在线推理的优化文图生成模型的框架是必要的。

算法概述

我们提出了一个新框架:Rapid Diffusion,用于训练和部署文图生成扩散模型,模型架构图1所示。Rapid Diffusion在stable diffusion模型的基础上进行了改进。为了提升对特定实体的理解能力,我们在CLIP的文本编码器中注入了丰富的实体知识,使用知识图谱进行知识增强。文图生成模模型隐空间的噪声预测器与stable diffusion,是一个带交叉注意力机制的U-Net网络。与开源Stable Diffusion直接利用大规模分层扩散模型不同,我们在图像扩散模块之后集成了一个基于ESRGAN的网络,以提高生成图像的分辨率的同时有效解决了参数量爆炸和耗时长的问题。对于在线部署,我们基于FlashAttention优化的神经架构设计了一个高效的推理流程。生成模型计算图的Intermediate Representation(IR)经过端到端人工智能编译器BladeDISC进一步处理,以提高生成模型的推理速度。

image.png

知识增强的文本编码器

对于知识增强的文本编码器,我们聚焦在中文场景下的文图生成问题,为了得到对中文文本以及中文实体知识更具理解能力的文本编码器,我们使用了1亿的悟空图文对数据集作为我们的文本编码器预训练数据。此外,对于实体知识,我们使用了最新的中文知识图谱OpenKG数据集,包含了1600万的实体和1.4亿个三元关系对,来训练我们的中文CLIP模型。在中文CLIP预训练阶段,悟空语料库句子中的实体token会被增强为image.png,其中image.png是实体的文本embedding,image.png是通过TransE算法得到的知识图谱embedding。虽然我们是在中文场景下对CLIP模型进行知识增强,但是我们的增强方法同样适用于其他的语言场景。在训练特定领域的文图生成模型时,为了领域知识的对齐,我们将中文CLIP模型的文本编码器设置为可训练。

隐空间噪声预测器

在得到文本embeddingimage.png后,我们在隐空间下使用latent diffusion模型生成图像的潜在编码,latent diffusion是一个带有可以捕捉文本条件信息的交叉注意力机制的Unet模型,训练时图像重建的损失函数为:

image.png

图像生成的过程是扩散的逆过程,从随机采样的高斯噪声中基于条件文本信息生成图像,同样的,为了增强生成图像与文本信息之间的相关性,我们在训练时使用classifier-free guidance的训练方法。为了减少太大的采样步数带来的时间开销,我们使用了PNDM算法来减少采样步数。在我们框架中,我们使用了悟空数据集预训练了latent diffusion模型,然后再在领域场景数据下进行微调。

超分辨率网络

我们的latent diffusion模型生成的图像的分辨率为256*256, 为了得到更高分辨率的图像,与stable diffusion用另外一个扩散模型不同,我们直接使用了训练好的ESRGAN模型来提高图像的分辨率,大大提升了图像生成的速度。

推理加速设计

在推理加速设计这块,我们分析了原始 PyTorch 模型的推理速度,并观察到模型推理瓶颈主要在U-Net 模型,其中U-Net中的交叉注意力计算在推理时间中占主导地位。分析结果见图2。为了解决这个问题,我们结合自动切片和编译优化技术来优化整个技术流水线,并引入 IO 感知注意力实现以进一步提高推理性能。

image.png

我们的推理加速算法通过增强一组中间标识来创建一个完整的动态图表示来实现的。对于内存访问密集的操作,我们充分利用共享内存设计了更大粒度的内核融合策略,有效减少了CPU/GPU之间的切换。执行最佳图分区和内核实现选择以获得最佳推理速度。

在自动编译优化的基础上,我们进一步利用 FlashAttention 技术作为U-Net的交叉注意力算子,这是网络推理瓶颈的核心。该技术基于注意力IO特性,对注意力计算进行tiling操作,减少内存读写计算量。我们为计算设备和硬件架构以及动态输入的各种组合引入了不同的 FlashAttention内核实现。通过加速交叉注意力计算,为 U-Net 模块带来 1.9倍的加速。

算法精度评测

为了评测Rapid Diffusion模型,我们在三个中文图文对数据集(电商,国画,美食)上进行测试,结果如表一所示:

表1 Rapid Diffusion 与基线模型的性能对比 (FID 分数)。

image.png

结果可以证明,Rapid Diffusion在这些数据集上获得不错的效果。从表1可以看出,Rapid Diffusion 在三个数据集上的表现优于所有交易对手,平均 FID 得分为 21.90。 结果表明,我们针对特定领域场景的知识增强模型可以更好地理解领域知识,并且可以生成更逼真和多样化的图像。

表2 文本图像检索知识增强 CLIP 的性能。

image.png

由于 CLIP 模型旨在学习跨模态表示,我们首先通过文本图像检索从本质上评估我们的模型。 我们使用相同的预训练文本图像语料库比较中文 CLIP 模型和我们的Chinese Knowledge-enhanced CLIP (CKCLIP) 模型。表 2报告了测试集上的文本到图像和文本到图像检索结果。 我们的 CKCLIP 模型显着提高了检索性能(尤其是对于 R@1 指标,显示了其学习跨模态表示的能力。

表3 Rapid Diffusion 的推理加速结果。

image.png

在推理速度上,我们使用了端到端人工智能编译器BladeDISC以及FlashAttention 技术来提高模型的推理速度,同样的,实验结果表3所示,我们的方法可以提高1.73倍的推理速度。虽然我们是在Rapid Diffusion上进行实验,但是我们提出的加速方法具有普适性,同样也适用于其他的diffusion模型,譬如 Stable Diffusion 和太乙 Diffusion模型。我们还将Rapid Diffusion与阿里云机器学习平台PAI进行集成,以展示其在实际应用中的实用价值。在阿里云机器学习平台PAI上,用户可以在自己的任务(数据)上一键式的进行训练,微调以及推理自己的模型。

在未来,我们将扩展 Rapid Diffusion 的功能,并通过先进的编译优化技术进一步提高推理速度。为了更好地服务开源社区,我们模型和源代码即将贡献在自然语言处理算法框架EasyNLP中,欢迎NLP从业人员和研究者使用。

EasyNLP开源框架:https://github.com/alibaba/EasyNLP

参考文献

  • Chengyu Wang, Minghui Qiu, Taolin Zhang, Tingting Liu, Lei Li, Jianing Wang, Ming Wang, Jun Huang, Wei Lin. EasyNLP: A Comprehensive and Easy-to-use Toolkit for Natural Language Processing. EMNLP 2022
  • Robin Rombach, Andreas Blattmann, Dominik Lorenz, Patrick Esser, and Björn Ommer. 2022. High- resolution image synthesis with latent diffusion models. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pages 10684–10695.
  • Jonathan Ho, Ajay Jain, and Pieter Abbeel. 2020. Denoising diffusion probabilistic models. Advances in Neural Information Processing Systems, 33:6840– 6851.
  • Jiaming Song, Chenlin Meng, and Stefano Ermon. 2021. Denoising diffusion implicit models. In International Conference on Learning Representations.
  • Kai Zhu, WY Zhao, Zhen Zheng, TY Guo, PZ Zhao, JJ Bai, Jun Yang, XY Liu, LS Diao, and Wei Lin. 2021. Disc: A dynamic shape compiler for machine learning workloads. In Proceedings of the 1st Workshop on Machine Learning and Systems, pages 89– 95.
  • Tri Dao, Daniel Y. Fu, Stefano Ermon, Atri Rudra, and Christopher Ré. 2022. Flashattention: Fast and memory-efficient exact attention with io-awareness. CoRR, abs/2205.14135.

论文信息

论文标题:Rapid Diffusion: Building Domain-Specific Text-to-Image Synthesizers with Fast Inference Speed
论文作者:刘冰雁、林炜丰、段忠杰、汪诚愚、吴梓恒、张子鹏、贾奎、金连文、陈岑、黄俊
论文PDF链接:https://aclanthology.org/2023.acl-industry.28.pdf


【往期回顾】:

  1. 快速玩转 Llama2!阿里云机器学习 PAI 推出最佳实践
  2. 【ACL 2023】面向轻量化文图检索的Dual-Encoder模型蒸馏算法ConaCLIP
  3. 【ACL2023】基于电商多模态概念知识图谱增强的电商场景图文模型FashionKLIP
相关实践学习
使用PAI-EAS一键部署ChatGLM及LangChain应用
本场景中主要介绍如何使用模型在线服务(PAI-EAS)部署ChatGLM的AI-Web应用以及启动WebUI进行模型推理,并通过LangChain集成自己的业务数据。
机器学习概览及常见算法
机器学习(Machine Learning, ML)是人工智能的核心,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。 本课程将带你入门机器学习,掌握机器学习的概念和常用的算法。
相关文章
|
6月前
|
文字识别 前端开发
CodeFuse-VLM 开源,支持多模态多任务预训练/微调
随着huggingface开源社区的不断更新,会有更多的vision encoder 和 LLM 底座发布,这些vision encoder 和 LLM底座都有各自的强项,例如 code-llama 适合生成代码类任务,但是不适合生成中文类的任务,因此用户常常需要根据vision encoder和LLM的特长来搭建自己的多模态大语言模型。针对多模态大语言模型种类繁多的落地场景,我们搭建了CodeFuse-VLM 框架,支持多种视觉模型和语言大模型,使得MFT-VLM可以适应不同种类的任务。
684 0
|
2月前
|
数据可视化 Swift
小钢炮进化,MiniCPM 3.0 开源!4B参数超GPT3.5性能,无限长文本,超强RAG三件套!模型推理、微调实战来啦!
旗舰端侧模型面壁「小钢炮」系列进化为全新 MiniCPM 3.0 基座模型,再次以小博大,以 4B 参数,带来超越 GPT-3.5 的性能。并且,量化后仅 2GB 内存,端侧友好。
小钢炮进化,MiniCPM 3.0 开源!4B参数超GPT3.5性能,无限长文本,超强RAG三件套!模型推理、微调实战来啦!
|
2月前
|
存储 人工智能 物联网
LoRA大模型微调的利器
LoRA模型是小型的Stable Diffusion模型,它们对checkpoint模型进行微小的调整。它们的体积通常是检查点模型的10到100分之一。因为体积小,效果好,所以lora模型的使用程度比较高。
LoRA大模型微调的利器
|
21天前
|
机器学习/深度学习 开发框架 人工智能
[大语言模型-论文精读] 悉尼大学-ACL2024-提升大型语言模型的复杂视觉推理能力
[大语言模型-论文精读] 悉尼大学-ACL2024-提升大型语言模型的复杂视觉推理能力
24 0
|
5月前
|
数据采集 自然语言处理 测试技术
CodeFuse-13B: 预训练多语言代码大模型
该论文针对蚂蚁集团的现实应用场景,详细介绍了CodeFuse-13B预训练模型的数据准备和训练过程,揭秘了CodeFuse是如何成为一款能够同时处理英文和中文提示的高效预训练代码大型语言模型(LLM)。论文还对CodeFuse在代码生成、翻译、注释和测试用例生成等应用场景中的性能进行了评估。CodeFuse-13B在蚂蚁集团内广
164 2
|
6月前
|
并行计算 算法 物联网
LLM 大模型学习必知必会系列(七):掌握分布式训练与LoRA/LISA微调:打造高性能大模型的秘诀进阶实战指南
LLM 大模型学习必知必会系列(七):掌握分布式训练与LoRA/LISA微调:打造高性能大模型的秘诀进阶实战指南
LLM 大模型学习必知必会系列(七):掌握分布式训练与LoRA/LISA微调:打造高性能大模型的秘诀进阶实战指南
|
4月前
|
机器学习/深度学习 PyTorch TensorFlow
在深度学习中,数据增强是一种常用的技术,用于通过增加训练数据的多样性来提高模型的泛化能力。`albumentations`是一个强大的Python库,用于图像增强,支持多种图像变换操作,并且可以与深度学习框架(如PyTorch、TensorFlow等)无缝集成。
在深度学习中,数据增强是一种常用的技术,用于通过增加训练数据的多样性来提高模型的泛化能力。`albumentations`是一个强大的Python库,用于图像增强,支持多种图像变换操作,并且可以与深度学习框架(如PyTorch、TensorFlow等)无缝集成。
|
5月前
|
机器学习/深度学习 人工智能 自然语言处理
ACL 2024:纯LLM实现符号逻辑推理能力,SymbCoT框架横空出世
【6月更文挑战第13天】在ACL 2024会议上,SymbCoT框架引起关注,它利用纯LLM实现符号逻辑推理。该框架结合符号表达式、逻辑规则与Chain-of-Thought,增强LLM处理逻辑推理任务的能力。通过Translator、Planner、Solver和Verifier四个模块,SymbCoT在多个逻辑推理数据集上表现出色,优于传统方法,提升了推理准确性和可解释性。尽管存在挑战,SymbCoT为AI在逻辑推理领域的应用开辟了新途径。[[1](https://arxiv.org/pdf/2405.18357.pdf)]
275 1
|
6月前
|
人工智能 Python
LLM 大模型学习必知必会系列(八):10分钟微调专属于自己的大模型
LLM 大模型学习必知必会系列(八):10分钟微调专属于自己的大模型
|
6月前
|
并行计算 算法 物联网
LLM 大模型学习必知必会系列(六):量化技术解析、QLoRA技术、量化库介绍使用(AutoGPTQ、AutoAWQ)
LLM 大模型学习必知必会系列(六):量化技术解析、QLoRA技术、量化库介绍使用(AutoGPTQ、AutoAWQ)
LLM 大模型学习必知必会系列(六):量化技术解析、QLoRA技术、量化库介绍使用(AutoGPTQ、AutoAWQ)

热门文章

最新文章