??騰小云導(dǎo)讀
2022年來(lái),AIGC概念迅速出圈并快速形成產(chǎn)業(yè)生態(tài),成為繼PGC、UGC之后新的數(shù)字內(nèi)容創(chuàng)作形式。QQ影像中心提出了自研的AI畫畫技術(shù)方案——QQGC,本文將介紹在QQGC基礎(chǔ)大模型訓(xùn)練中的實(shí)踐和探索,接著往下看吧~
??看目錄點(diǎn)收藏,隨時(shí)漲技術(shù)
1 背景
????1.1 擴(kuò)散模型
????1.2 DALLE 2
????1.3 Stable Diffusion
2 技術(shù)方案
????2.1 整體架構(gòu)
????2.2?Prior模型
????2.3?Decoder模型
????2.4?訓(xùn)練加速方案
3 結(jié)果展示
????3.1?Text2Image
????3.2?Image Variation
????3.3?融合原圖語(yǔ)義信息的img2img
????3.4 CLIP向量編輯
4 總結(jié)展望
01、背景
2022年來(lái),隨著 DALLE2、ChatGPT 等技術(shù)的突破式發(fā)展,AIGC 迎來(lái)了快速的爆發(fā)式的增長(zhǎng),內(nèi)容生產(chǎn)已經(jīng)從專業(yè)生成內(nèi)容(PGC)、用戶生成內(nèi)容(UGC),進(jìn)入到人工智能生成內(nèi)容 AIGC(AI-Generated Content)的時(shí)代。這其中關(guān)于AI畫畫的應(yīng)用隨著生成技術(shù)的不斷完善、開(kāi)源社區(qū)的推動(dòng)、以及大量的商業(yè)化探索,成為未來(lái)最有希望落地并廣泛使用的技術(shù)方向,為數(shù)字內(nèi)容創(chuàng)作注入新能量。
而基礎(chǔ)大模型作為 AIGC 生態(tài)中最底層一環(huán)發(fā)揮著重要作用,因此QQ影像中心提出了自研的QQGC-AI 畫畫技術(shù)方案,本文將分析現(xiàn)有 text2Image 技術(shù)方案,以及在AI畫畫大模型等探索和相關(guān)技術(shù)落地案例。
???1.1 擴(kuò)散模型
Diffusion Model 是近幾年興起的生成式模型,比如 OpenAI 的 GLIDE、DALLE2、Google 的 Imgen、Parti 等,它們都是采用擴(kuò)散模型的 pipeline 完成高質(zhì)量的圖像生成。
擴(kuò)散模型通常包括兩個(gè)過(guò)程,從信號(hào)逐步到噪聲的擴(kuò)散過(guò)程和從噪聲逐步到信號(hào)的逆向過(guò)程。這兩個(gè)過(guò)程建立起了復(fù)雜的數(shù)據(jù)分布與簡(jiǎn)單的噪聲先驗(yàn)分布之間的雙向聯(lián)系。從數(shù)據(jù)分布到先驗(yàn)分布是一個(gè)預(yù)先定義好的加噪過(guò)程,通過(guò)按照預(yù)先設(shè)置好的規(guī)律逐漸融合數(shù)據(jù)與噪聲,將復(fù)雜的分布轉(zhuǎn)換為一個(gè)簡(jiǎn)單的分布。
Diffusion Model 的反向過(guò)程則是:將原始數(shù)據(jù)與噪聲混合的數(shù)據(jù)送入模型,模型預(yù)測(cè)出其中的噪聲(或者原始數(shù)據(jù)),通過(guò)逐漸降低先驗(yàn)分布中樣本的噪聲,實(shí)現(xiàn)了從簡(jiǎn)單分布中樣本到數(shù)據(jù)分布中的樣本的轉(zhuǎn)換。
相比 GAN、VAE 而言,Diffusion Model 解決了由于對(duì)抗訓(xùn)練產(chǎn)生的訓(xùn)練不穩(wěn)定的問(wèn)題,并且有更高的生成質(zhì)量和多樣性。
???1.2 DALLE 2
DALLE 2 是 OpenAI 公司發(fā)布的 text2image 算法,該算法在之前 GLIDE 生成模型的基礎(chǔ)上,大幅提升了生成效果,首次將 text2image 算法提升到一個(gè)可用的水平,獲得了社會(huì)各界的廣泛關(guān)注。
DALLE 2 沿用了 OpenAI 之前 GLIDE 模型的技術(shù)路線,GLIDE 模型中選擇transformer 模型提取文本特征,用了 Diffusion 模型作為圖像生成模型,進(jìn)行端到端的訓(xùn)練。DALLE 2 在此基礎(chǔ)上,選擇 CLIP 模型作為文本-圖像橋梁,整體主要可以分為如下幾部分:
Prior 模型:使用 CLIP text embedding 作為輸入,預(yù)測(cè)待生成圖像的CLIP image embedding; Decoder 模型:輸入 CLIP image embedding ,預(yù)測(cè)64分辨率的小圖; Upsampler 模型:輸入64分辨率的小圖,通過(guò)兩階段超分,將圖片分辨率超分到1024分辨率; |
以上的方式以 CLIP 模型為橋梁,很好地將各部分任務(wù)解耦開(kāi)來(lái)。對(duì)于每一項(xiàng)任務(wù)而言,大大降低了訓(xùn)練的難度。并且使用了 CLIP 作為已知的預(yù)訓(xùn)練模型,能夠很好的提取文本圖像特征,解決了端到端訓(xùn)練的 text transformer 能力不足問(wèn)題。
???1.3 Stable Diffusion
Stable Diffusion 模型是由 Stability 公司發(fā)布的一個(gè)開(kāi)源的 text2image 模型,該模型以 latent-diffusion 模型為基礎(chǔ),融合了 DALLE2 以及 Imagen 等方法的優(yōu)點(diǎn)。使用 CLIP text embedding 作為模型輸入,預(yù)測(cè)一個(gè) VAE 的 latent sapce ,然后通過(guò) VAE decode 得到原始分辨率大小。
通過(guò)替換 CLIP 語(yǔ)言模型以及 classifier-free guidance 等方法,Stable Diffusion 做出了非常好的效果。而且由于其相對(duì)簡(jiǎn)潔的 pipeline,不需要超分作為后處理流程,大大降低了訓(xùn)練和部署成本。
很多社區(qū)和公司在 Stable Diffusion 的基礎(chǔ)上改進(jìn)衍生出了自己模型,使得 text2image 成功出圈,衍生了很多不同的生成技術(shù)和玩法。
02、技術(shù)方案
???2.1 整體架構(gòu)
通過(guò)對(duì) DALLE2、Stable Diffusion 等方案的對(duì)比,QQ 影像中心探索了自研的 ?text2image 方案,包含如下幾個(gè)重要的改進(jìn)技術(shù)方向:
更強(qiáng)的文本特征提?。?/strong>
通過(guò) DALLE2 和 Stable Diffusion 等模型的改進(jìn)方案可以看到,語(yǔ)言模型特征提取在圖片生成過(guò)程中至關(guān)重要。包括 Google 的 Imagen 以及 Nvidia 等 ediff 等方案,都嘗試在引入了更多更強(qiáng)大的語(yǔ)言模型作為文本特征提取器,并且取得效果上的顯著提升;
對(duì)訓(xùn)練數(shù)據(jù)要求較低的技術(shù)框架:
高質(zhì)量 text-image 成對(duì)的數(shù)據(jù)要求文本能夠很好地描述圖片,同時(shí)圖片也有足夠高的質(zhì)量,其收集的難度遠(yuǎn)大于收集單獨(dú)的高質(zhì)量圖片(或文本)。所以要求將文生圖任務(wù)盡量解耦,降低對(duì)數(shù)據(jù)收集的要求,讓訓(xùn)練更容易收斂;
更輕量低成本的訓(xùn)練部署:
Stable Diffusion 模型能夠迅速破圈的原因在于其相對(duì)輕量的技術(shù)方案,通過(guò)減少超分等更大計(jì)算量的步驟,大大減少了訓(xùn)練及部署的成本,這一點(diǎn)在當(dāng)前降本增效的大環(huán)境下顯得更加重要;
基于以上分析,我們提出了如下的技術(shù)架構(gòu)。核心主要包含 prior 模型和 decoder 模型兩部分。在幾乎不引入額外計(jì)算量的情況下,可以大幅超越 Stable Diffusion 開(kāi)源模型,達(dá)到 DALLE2 等第一梯隊(duì) text2image 模型的水平。
???2.2 Prior模型
經(jīng)過(guò)實(shí)驗(yàn)我們發(fā)現(xiàn),直接通過(guò) CLIP text embedding 輸入 Stable Diffusion 的方案在圖文一致性上存在明顯的缺陷。因此我們參考了 DALLE2 的模型設(shè)計(jì)思路,將 text embedding -> image 一步的思路,拆分成 text embedding -> image embedding -> image 兩階段,增加了 prior 模型作為從 text 特征域到 image 特征域的映射,這樣可以顯著降低訓(xùn)練難度以及提升生成效果。同時(shí)為了增強(qiáng)文本特征的提取能力,我們還融合了 T5 類語(yǔ)言模型作為特征提取模型,實(shí)現(xiàn)更強(qiáng)的語(yǔ)意理解能力。
???2.3 Decoder模型
Decoder 模型的輸入是 CLIP image embeddings,輸出圖片。在實(shí)現(xiàn)上,我們復(fù)用了 Stable Diffusion 的 pipeline,將 Stable Diffusion 的 condition 從CLIP text embedding 替換成 CLIP image embeddings。
在訓(xùn)練 Decoder 模型的過(guò)程中,不需要文本數(shù)據(jù)的參與,只需要收集高質(zhì)量圖片數(shù)據(jù)即可。對(duì)應(yīng)地,訓(xùn)練 Prior 模型時(shí),更關(guān)注訓(xùn)練數(shù)據(jù)中圖文數(shù)據(jù)的語(yǔ)義匹配程度,對(duì)圖文 pair 中圖片的質(zhì)量要求不高。這樣,訓(xùn)練高質(zhì)量文生圖模型的數(shù)據(jù)收集要求被拆解、降低。
???2.4 訓(xùn)練加速方案
如何用有限的資源和成本,快速高效的訓(xùn)練 text2image 大模型?這是一項(xiàng)非常有挑戰(zhàn)的任務(wù)。加速訓(xùn)練的核心在于消除整個(gè)訓(xùn)練 pipeline 中的性能短板,提高計(jì)算密度和計(jì)算效率。因此我們主要從如下幾個(gè)方面入手進(jìn)行了加速改進(jìn)。
-
提高數(shù)據(jù)效率:
Text2image 訓(xùn)練依賴海量的數(shù)據(jù),不同于傳統(tǒng)CV任務(wù),數(shù)據(jù)量的增加了幾個(gè)量級(jí),需要設(shè)計(jì)面向大數(shù)據(jù)的高效 dataloader,解決數(shù)據(jù)讀取方面的短板。這里我們選取了 tar 包形式的數(shù)據(jù)組織方式,將數(shù)據(jù)分層存儲(chǔ),將 百M(fèi) 條數(shù)據(jù)分 每10K 數(shù)據(jù)打包成一個(gè) tar 包,這樣就降低了數(shù)據(jù)讀取的難度,數(shù)據(jù)的 shuffle 等操作僅在 tar 包這一層級(jí)進(jìn)行。
-
提高計(jì)算密度/效率:
提高訓(xùn)練速度最有效的方式就是盡量提高計(jì)算密度,即在一張 GPU 上部署更大的 batchsize 。我們使用了 FP16 半精度訓(xùn)練、activation checkpoint,以及 ZeRO(零冗余優(yōu)化器) flash attention算子優(yōu)化等方法顯著的減少了顯存占用,單卡 batchsize 增加了8倍,訓(xùn)練速度提升到了4倍。
-
減少通信開(kāi)銷:
在部署分布式多機(jī)訓(xùn)練時(shí),由于模型參數(shù)量較大,多機(jī)間的通信耗時(shí)往往是模型訓(xùn)練的瓶頸。我們采用 GPU RDMA 網(wǎng)絡(luò)直連通信,能夠保證基礎(chǔ)的網(wǎng)絡(luò)通信性能。我們使用梯度累加,以及優(yōu)化器方面的優(yōu)化工作,來(lái)減少通信量,節(jié)約通信的成本。經(jīng)過(guò)上述優(yōu)化,我們可以在64卡集群上就可以很快的進(jìn)行超過(guò) 2B 參數(shù)量模型的訓(xùn)練。
03、結(jié)果展示
???3.1 Text2Image
我們?cè)?COCO-30k 上評(píng)測(cè)了 FID 和 CLIP-score 指標(biāo)的表現(xiàn),結(jié)果達(dá)到同等級(jí)SOTA 水平。
以下為一些自研模型的生成效果,可以作為通用大模型已經(jīng)可以生成非常高質(zhì)量的不同物體、風(fēng)格、及抽象概念的圖像。
以下是一些模型生成效果示例,在語(yǔ)義貼合度、美觀度方面遠(yuǎn)超 StableDiffusion 模型:
???3.2 Image Variation
Decoder 模型可以根據(jù)圖片的 CLIP embedding 來(lái)重建圖片。下面是用我們訓(xùn)練的 Decoder 模型重建各種圖片的示例:
可以看到,無(wú)論是藝術(shù)畫,還是肢體復(fù)雜的自然圖片,包括由其它(Parti 和 DALLE2)生成的復(fù)雜圖片,我們的 Decoder 的模型都能重建還原其神韻,在語(yǔ)義層次很接近。證明我們訓(xùn)練的 Decoder 模型有較強(qiáng)的還原 Clip image embedding 能力,只要 Prior 模型能生成符合 prompt 描述的 Clip image embedding ,組合兩者就可以得到一個(gè)強(qiáng)大的文生圖模型。
???3.3 融合原圖語(yǔ)義信息的 img2img
Stable Diffusion 除了可以用來(lái)實(shí)現(xiàn)文生圖生成,也可以通過(guò)用加噪的圖片取代一部分 Diffusion 過(guò)程,實(shí)現(xiàn) img2img。用于加噪的圖片也常被稱為墊圖。但是基于 Stable Diffusion 實(shí)現(xiàn)的的 img2img 只利用了輸入圖片的加噪結(jié)果,常常面臨保留原圖更多信息和保留 prompt 對(duì)應(yīng)效果之間的權(quán)衡。而 QQGC-AI 畫畫模型由于將生成步驟拆分成了兩個(gè)階段,可以在 Decoder 生成圖片過(guò)程中,利用墊圖的加噪結(jié)果,融合墊圖的語(yǔ)義特征和 prompt 對(duì)應(yīng)的特征,實(shí)現(xiàn)融合原圖語(yǔ)義信息的 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 |
調(diào)用 QQGC-AI 畫畫模型完成文生圖任務(wù):
類似于 Stable Diffsuion 實(shí)現(xiàn)的 img2img,QQGC-AI 畫畫模型也可以給定一個(gè)墊圖,在由 Prior 生成的 condition 向量控制下實(shí)現(xiàn)基礎(chǔ)的 img2img:
可以注意到,由于這種基礎(chǔ)的 img2img 完全不考慮原圖的語(yǔ)義信息,只是用了原圖的結(jié)構(gòu)(色塊),導(dǎo)致生成圖只保留了一些比如右邊女性的頭發(fā)區(qū)域是黑色這樣的信息,但完全忽略了這部分區(qū)域是頭發(fā)的語(yǔ)義信息,生成圖對(duì)應(yīng)區(qū)域成了黑色的袖子。
為了融合原圖的語(yǔ)言信息,可以將 prompt 對(duì)應(yīng)的 image embedding 和原圖的 embedding 混合,然后由 Decoder 將混合 image embedding 轉(zhuǎn)化為圖片。借此,實(shí)現(xiàn)了融合了原圖語(yǔ)義信息的 img2img:
???3.4 CLIP 向量編輯
由于二階段模型提供了兩個(gè)域很好的解耦性,我們可以直接在 CLIP Embedding 域做向量編輯來(lái)達(dá)到對(duì)圖片的精細(xì)修改的效果,如下圖展示了通過(guò)對(duì)向量做編輯,實(shí)現(xiàn)精準(zhǔn)的水印文字去除甚至增加水印的能力:
同時(shí),為了讓模型生成內(nèi)容更加健康正能量、主體更美觀,在輸入 text 包含血腥、色情等描述時(shí),也可以在 diffusion 過(guò)程中對(duì) CLIP embbeding 做控制,達(dá)到生成內(nèi)容更加真善美的目的。
04、總結(jié)展望
通過(guò)以上結(jié)果可以看到,QQ 影像中心自主研發(fā)的 QQGC 兩階段生成大模型具備:更好的文本圖像域解耦、更精準(zhǔn)的生成語(yǔ)意匹配度、更低模型訓(xùn)練部署成本、支持更為復(fù)雜豐富的編輯控制操作等特性。
QQGC 基礎(chǔ)大模型作為 AIGC 技術(shù)落地中的 Foundation 模型將會(huì)發(fā)揮重要作用,QQ 影像中心也以 QQGC 大模型為基礎(chǔ),上線了小世界“魔法畫室”功能。后臺(tái)回復(fù)「QQ」,體驗(yàn)AI繪畫。
可以根據(jù)用戶的自由輸入直接生成高質(zhì)量的生成結(jié)果:
同時(shí),在業(yè)界很關(guān)注的在不同風(fēng)格、場(chǎng)景的生成圖片中保留身份特征、更強(qiáng)的生成控制能力上,我們也在持續(xù)探索,會(huì)在未來(lái)的活動(dòng)中上線,歡迎大家在評(píng)論區(qū)中反饋討論交流~
歡迎在評(píng)論區(qū)聊一聊對(duì)AI繪畫的看法。AI繪畫的出現(xiàn)會(huì)替代某些崗位嗎?AI繪畫能有哪些應(yīng)用場(chǎng)景?我們將選取1則最有創(chuàng)意的評(píng)論,送出騰訊云開(kāi)發(fā)者-鼠標(biāo)墊1個(gè)(見(jiàn)下圖)。6月1日中午12點(diǎn)開(kāi)獎(jiǎng)。
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-492463.html
文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-492463.html
到了這里,關(guān)于QQGC?揭秘QQ的AI繪畫大模型技術(shù)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!