共计 5461 个字符,预计需要花费 14 分钟才能阅读完成。
腾小云导读
2022 年来,AIGC 概念迅速出圈并疾速造成产业生态,成为继 PGC、UGC 之后新的数字内容创作模式。QQ 影像核心提出了自研的 AI 画画技术计划——QQGC,本文作者富宸、王锐将介绍在 QQGC 根底大模型训练中的实际和摸索,接着往下看吧 \~
看目录点珍藏,随时涨技术
1 背景
1.1 扩散模型
1.2 DALLE 2
1.3 Stable Diffusion
2 技术计划
2.1 整体架构
2.2 Prior 模型
2.3 Decoder 模型
2.4 训练减速计划
3 后果展现
3.1 Text2Image
3.2 Image Variation
3.3 交融原图语义信息的 img2img
3.4 CLIP 向量编辑
4 总结瞻望
01、背景
2022 年来,随着 DALLE2、ChatGPT 等技术的冲破式倒退,AIGC 迎来了疾速的爆发式的增长,内容生产曾经从业余生成内容(PGC)、用户生成内容(UGC),进入到人工智能生成内容 AIGC(AI-Generated Content)的时代。这其中对于 AI 画画的利用随着生成技术的不断完善、开源社区的推动、以及大量的商业化摸索,成为将来最有心愿落地并宽泛应用的技术方向,为数字内容创作注入新能量。
而根底大模型作为 AIGC 生态中最底层一环施展着重要作用,因而 QQ 影像核心提出了自研的 QQGC-AI 画画技术计划,本文将剖析现有 text2Image 技术计划,以及在 AI 画画大模型等摸索和相干技术落地案例。
1.1 扩散模型
Diffusion Model 是近几年衰亡的生成式模型,比方 OpenAI 的 GLIDE、DALLE2、Google 的 Imgen、Parti 等,它们都是采纳扩散模型的 pipeline 实现高质量的图像生成。
扩散模型通常包含两个过程,从信号逐渐到噪声的扩散过程和从噪声逐渐到信号的逆向过程。 这两个过程建设起了简单的数据分布与简略的噪声先验散布之间的双向分割。从数据分布到先验散布是一个事后定义好的加噪过程,通过依照事后设置好的法则逐步交融数据与噪声,将简单的散布转换为一个简略的散布。
Diffusion Model 的反向过程则是:将原始数据与噪声混合的数据送入模型,模型预测出其中的噪声(或者原始数据),通过逐步升高先验散布中样本的噪声,实现了从简略散布中样本到数据分布中的样本的转换。
相比 GAN、VAE 而言,Diffusion Model 解决了因为反抗训练产生的训练不稳固的问题,并且有更高的生成品质和多样性。
1.2 DALLE 2
DALLE 2 是 OpenAI 公司公布的 text2image 算法,该算法在之前 GLIDE 生成模型的根底上,大幅晋升了生成成果,首次将 text2image 算法晋升到一个可用的程度,取得了社会各界的宽泛关注。
DALLE 2 沿用了 OpenAI 之前 GLIDE 模型的技术路线,GLIDE 模型中抉择 transformer 模型提取文本特色,用了 Diffusion 模型作为图像生成模型,进行端到端的训练。DALLE 2 在此基础上,抉择 CLIP 模型作为文本 - 图像桥梁,整体次要能够分为如下几局部:
Prior 模型:应用 CLIP text embedding 作为输出,预测待生成图像的 CLIP image embedding;Decoder 模型:输出 CLIP image embedding,预测 64 分辨率的小图;Upsampler 模型:输出 64 分辨率的小图,通过两阶段超分,将图片分辨率超分到 1024 分辨率; |
---|
以上的形式以 CLIP 模型为桥梁,很好地将各局部工作解耦开来。对于每一项工作而言,大大降低了训练的难度。并且应用了 CLIP 作为已知的预训练模型,可能很好的提取文本图像特色,解决了端到端训练的 text transformer 能力有余问题。
1.3 Stable Diffusion
Stable Diffusion 模型是由 Stability 公司公布的一个开源的 text2image 模型,该模型以 latent-diffusion 模型为根底,交融了 DALLE2 以及 Imagen 等办法的长处。应用 CLIP text embedding 作为模型输出,预测一个 VAE 的 latent sapce,而后通过 VAE decode 失去原始分辨率大小。
通过替换 CLIP 语言模型以及 classifier-free guidance 等办法,Stable Diffusion 做出了十分好的成果。而且因为其绝对简洁的 pipeline,不须要超分作为后处理流程,大大降低了训练和部署老本。
很多社区和公司在 Stable Diffusion 的根底上改良衍生出了本人模型,使得 text2image 胜利出圈,衍生了很多不同的生成技术和玩法。
02、技术计划
2.1 整体架构
通过对 DALLE2、Stable Diffusion 等计划的比照,QQ 影像核心摸索了自研的 text2image 计划,蕴含如下几个重要的改良技术方向:
更强的文本特征提取:
通过 DALLE2 和 Stable Diffusion 等模型的改良计划能够看到,语言模型特征提取在图片生成过程中至关重要。包含 Google 的 Imagen 以及 Nvidia 等 ediff 等计划,都尝试在引入了更多更弱小的语言模型作为文本特征提取器,并且获得成果上的显著晋升;
对训练数据要求较低的技术框架:
高质量 text-image 成对的数据要求文本可能很好地形容图片,同时图片也有足够高的品质,其收集的难度远大于收集独自的高质量图片(或文本)。所以要求将文生图工作尽量解耦,升高对数据收集的要求,让训练更容易收敛;
更轻量低成本的训练部署:
Stable Diffusion 模型可能迅速破圈的起因在于其绝对轻量的技术计划,通过缩小超分等更大计算量的步骤,大大减少了训练及部署的老本,这一点在以后降本增效的大环境下显得更加重要;
基于以上剖析,咱们提出了如下的技术架构。外围次要蕴含 prior 模型和 decoder 模型两局部。在简直不引入额定计算量的状况下,能够大幅超过 Stable Diffusion 开源模型,达到 DALLE2 等第一梯队 text2image 模型的程度。
2.2 Prior 模型
通过试验咱们发现,间接通过 CLIP text embedding 输出 Stable Diffusion 的计划在图文一致性上存在显著的缺点。因而咱们参考了 DALLE2 的模型设计思路,将 text embedding -> image 一步的思路,拆分成 text embedding -> image embedding -> image 两阶段,减少了 prior 模型作为从 text 特色域到 image 特色域的映射,这样能够显著升高训练难度以及晋升生成成果。同时为了加强文本特色的提取能力,咱们还交融了 T5 类语言模型作为特征提取模型,实现更强的语意理解能力。
2.3 Decoder 模型
Decoder 模型的输出是 CLIP image embeddings,输入图片。在实现上,咱们复用了 Stable Diffusion 的 pipeline,将 Stable Diffusion 的 condition 从 CLIP text embedding 替换成 CLIP image embeddings。
在训练 Decoder 模型的过程中,不须要文本数据的参加,只须要收集高质量图片数据即可。对应地,训练 Prior 模型时,更关注训练数据中图文数据的语义匹配水平,对图文 pair 中图片的品质要求不高。这样,训练高质量文生图模型的数据收集要求被拆解、升高。
2.4 训练减速计划
如何用无限的资源和老本,疾速高效的训练 text2image 大模型? 这是一项十分有挑战的工作。减速训练的外围在于打消整个训练 pipeline 中的性能短板,进步计算密度和计算效率。因而咱们次要从如下几个方面动手进行了减速改良。
- 进步数据效率:
Text2image 训练依赖海量的数据,不同于传统 CV 工作,数据量的减少了几个量级,须要设计面向大数据的高效 dataloader,解决数据读取方面的短板。这里咱们选取了 tar 包模式的数据组织形式,将数据分层存储,将 百 M 条数据分 每 10K 数据打包成一个 tar 包,这样就升高了数据读取的难度,数据的 shuffle 等操作仅在 tar 包这一层级进行。
- 进步计算密度 / 效率:
进步训练速度最无效的形式就是尽量进步计算密度,即在一张 GPU 上部署更大的 batchsize。咱们应用了 FP16 半精度训练、activation checkpoint,以及 ZeRO(零冗余优化器)flash attention 算子优化等办法显著的缩小了显存占用,单卡 batchsize 减少了 8 倍,训练速度晋升到了 4 倍。
- 缩小通信开销:
在部署分布式多机训练时,因为模型参数量较大,多机间的通信耗时往往是模型训练的瓶颈。咱们采纳 GPU RDMA 网络直连通信,可能保障根底的网络通信性能。咱们应用梯度累加,以及优化器方面的优化工作,来缩小通信量,节约通信的老本。通过上述优化,咱们能够在 64 卡集群上就能够很快的进行超过 2B 参数量模型的训练。
03、后果展现
3.1 Text2Image
咱们在 COCO-30k 上评测了 FID 和 CLIP-score 指标的体现,后果达到同等级 SOTA 程度。
以下为一些自研模型的生成成果,能够作为通用大模型曾经能够生成十分高质量的不同物体、格调、及抽象概念的图像。
以下是一些模型生成成果示例,在语义贴合度、好看度方面远超 StableDiffusion 模型:
3.2 Image Variation
Decoder 模型能够依据图片的 CLIP embedding 来重建图片。上面是用咱们训练的 Decoder 模型重建各种图片的示例:
能够看到,无论是艺术画,还是肢体简单的天然图片,包含由其它(Parti 和 DALLE2)生成的简单图片,咱们的 Decoder 的模型都能重建还原其韵味,在语义档次很靠近。证实咱们训练的 Decoder 模型有较强的还原 Clip image embedding 能力,只有 Prior 模型能生成合乎 prompt 形容的 Clip image embedding,组合两者就能够失去一个弱小的文生图模型。
3.3 交融原图语义信息的 img2img
Stable Diffusion 除了能够用来实现文生图生成,也能够通过用加噪的图片取代一部分 Diffusion 过程,实现 img2img。用于加噪的图片也常被称为垫图。然而基于 Stable Diffusion 实现的的 img2img 只利用了输出图片的加噪后果,经常面临保留原图更多信息和保留 prompt 对应成果之间的衡量。而 QQGC-AI 画画模型因为将生成步骤拆分成了两个阶段,能够在 Decoder 生成图片过程中,利用垫图的加噪后果,交融垫图的语义特色和 prompt 对应的特色,实现交融原图语义信息的 img2img。
比方应用如下 prompt:
two women standing next to each other holding hands, portrait, elegant, intricate, digital painting, artstation, concept art, smooth, sharp focus, illustration, art by konstantin korovin and daniel f. gerhartz and john howe |
---|
调用 QQGC-AI 画画模型实现文生图工作:
相似于 Stable Diffsuion 实现的 img2img,QQGC-AI 画画模型也能够给定一个垫图,在由 Prior 生成的 condition 向量管制下实现根底的 img2img:
能够留神到,因为这种根底的 img2img 齐全不思考原图的语义信息,只是用了原图的构造(色块),导致生成图只保留了一些比方左边女性的头发区域是彩色这样的信息,但齐全疏忽了这部分区域是头发的语义信息,生成图对应区域成了彩色的袖子。
为了交融原图的语言信息,能够将 prompt 对应的 image embedding 和原图的 embedding 混合,而后由 Decoder 将混合 image embedding 转化为图片。借此,实现了交融了原图语义信息的 img2img:
3.4 CLIP 向量编辑
因为二阶段模型提供了两个域很好的解耦性,咱们能够间接在 CLIP Embedding 域做向量编辑来达到对图片的精密批改的成果,如下图展现了通过对向量做编辑,实现精准的水印文字去除甚至减少水印的能力:
同时,为了让模型生成内容更加衰弱正能量、主体更好看,在输出 text 蕴含血腥、色情等形容时,也能够在 diffusion 过程中对 CLIP embbeding 做管制,达到生成内容更加真善美的目标。
04、总结瞻望
通过以上后果能够看到,QQ 影像核心自主研发的 QQGC 两阶段生成大模型具备: 更好的文本图像域解耦、更精准的生成语意匹配度、更低模型训练部署老本、反对更为简单丰盛的编辑管制操作等个性。
QQGC 根底大模型作为 AIGC 技术落地中的 Foundation 模型将会施展重要作用,QQ 影像核心也以 QQGC 大模型为根底,上线了小世界“魔法画室”性能。后盾回复 **「QQ」**,体验 AI 绘画。
能够依据用户的自在输出间接生成高质量的生成后果:
同时,在业界很关注的在不同格调、场景的生成图片中保留身份特色、更强的生成控制能力上,咱们也在继续摸索,会在将来的流动中上线,欢送大家在腾讯云开发者公众号评论区中反馈探讨交换 \~
欢送在腾讯云开发者公众号评论区聊一聊对 AI 绘画的认识。AI 绘画的呈现会代替某些岗位吗?AI 绘画能有哪些利用场景?咱们将选取 1 则最有创意的评论,送出腾讯云开发者 - 鼠标垫 1 个(见下图)。6 月 1 日中午 12 点开奖。