成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Stable Diffusion如何在企業中落地

原創 精選
開發 項目管理
很多時候非技術人員或初學者在用Stable Diffusion或者在網上拿過來的做訓練的時候,他們最大的問題是不知道用多大的數據集,即便知道了用多大的訓練集,也不知道再訓練多少步,而知道該訓練多少步后,又不知道該訓練到什么時候停止。

嘉賓 | 黃鴻波

整理 | 徐杰承

本文整理自西山居人工智能技術專家黃鴻波在WOT2023大會上的主題分享,更多精彩內容及現場PPT,請關注51CTO技術棧公眾號,發消息【WOT2023PPT】即可直接領取。

圖片圖片

本次分享主要圍繞Stable Diffusion的技術原理和落地來展開。第一部分為Stable Diffusion的工作原理。第二部分是Stable Diffusion做穩定的訓練的主要方法。第三部分則是如何在企業或團隊里將Stable Diffusion落地。

1、Stable Diffusion的工作原理

Stable Diffusion實際上是擴散模型,在Latent的模型里專用于做文圖生成的任務,是基于LDM來構建的。LDM是通過在一個潛在的表示空間中去迭代“去噪”,對數據進行降噪和還原來進行編解碼。最后在GPU上進行圖片生成,降低落地門檻,帶來文生圖的體驗。

其實文生圖技術早在幾年前就已經有了,但那時候文生圖還是一個拼算力的東西,需要大量的算力,一般使用4卡或8卡的P100組合進行訓練,需要單獨訓練文本的部分、單獨訓練圖像部分。

那時還會用到一些模型生成網絡,加上文本的生成,生成一張圖需要20秒、30秒甚至一分鐘,并且無法保證圖片質量。另外一點,生成內容效果比較單一,彼時的技術只能生成例如一只貓、一只狗等圖像,無法理解太過復雜的語義。

而Stable Diffusion的出現或者說LDM的出現,解決了之前文生圖方向的一些缺點。Stable Diffusion準確來說是基于Latent Diffusion Models的整體架構,也就是LDM的架構來完成的。

圖片圖片

其中主要分為三大部分。第一是Pixel部分的內容,編解碼器,把圖像進行編碼,其次經過Latent Space,進行Diffusion傳播,進行去噪,然后進行編輯,再進行解噪。

整體來說,Stable Diffusion在訓練的過程中是通過文本和圖像進行匹配,然后進入VAE和U-Net中進行訓練,訓練后就可以理解文本和圖像的匹配的關系。之后再去加入新的文本,讓其進行擴散學習,通過噪音的疊加部分,最后在潛在空間上進行多次迭代,回到原始圖像。

圖片圖片

U-Net是從噪聲中生成圖像主要的模塊,其原理是通過預測,在過程中反復調用U-Net模塊,將U-Net輸出噪聲的Slice從原有噪聲中進行去除,得到一個去除后的結果。所以它一共分成三部分,像ResnetBlock、Transformer結構、上采樣和下采樣的內容,加在一起就是U-Net的結構。

Diffusion的過程,其實就是擴散的原理,將一個圖像通過各種各樣的迭代噪聲,產生最后的噪聲。下面通過噪聲,通過U-Net再還原成圖像,其實就是一個Forward的正常擴散和逆向擴散的過程。

圖片圖片

正向擴散是逐步對圖像加入高斯噪聲,然后通過噪聲的迭代逐步增加,使得在每一步的過程中,高斯程度越來越高,就會產生一系列的噪聲圖像,最后得到的就是x-T。x-T會經過U-Net的模型在x-T中進行Denoising的解碼的工作,將所生成的噪聲模型進行反向解碼得到清晰的圖。

與正向不同,逆向擴散不能進行反轉噪聲,直接進行噪聲反轉,是沒有辦法計算的。因為高斯程度增長是一個不可逆的過程,所以需要在Diffusion中訓練神經網絡,來近似進行q的還原,通過不斷迭代,使其形成一個服從正態分布的整體的形象,從而定義反轉。所以其逆向和正向的處理過程在這里是不同的。

2、如何利用Stable Diffusion訓練出穩定效果

對于媒體、游戲領域的公司來說,美術的要求會比較嚴格。例如一款游戲分國內版、美版、日版,雖然從用戶角度來看,角色設計大同小異,但實際上美版和日版的美術設計可能會更符合美國或日本的審美,國內則又是另一種審美,美術的實際細節并不一樣。

除此之外,國內的許多武俠游戲,在大眾看來,角色都是穿著長袍、漢服或唐裝,外形看起來都一樣。但深度玩家會知道游戲存在著什么樣的特性,看到游戲的畫風,就能憑經驗知道是哪一款游戲。文生圖最大的矛盾,其實就在這里,程序員和美術的關注點是不同的。

想要解決這個矛盾,讓文生圖能夠生成符合美術要求的圖像,首先要了解什么是DreamBooth。DreamBooth是一個特征詞+類別標簽。在做DreamBooth的訓練或Stable Diffusion訓練時,一般的訓練方式都是基于SD1.5、SD1.4或2.0來進行的。

圖片圖片

但在原始模型中可能已經存在了一些形象的概念,再專門訓練某形象,需要讓模型知道這個形象要用符號代替。訓練完成后,當輸入特定符號,就會出現特定的形象,這是DreamBooth的優勢,但同樣也是弊端。

例如使用Hugging Face時,訓練DreamBooth會讓你提供Prompt,以輸入“a abc dog”為例,增加類別為“a dog”,“abc”則是特定符號,加上類別的好處在于它既學會了特定符號特征,又同時不會忘記類別特征。它的目的在于讓模型既學會新的知識,又不會去忘掉舊的內容。如果不加類別,新的知識學到了,但迭代的次增多,舊的知識可能反而會被忘記。

圖片圖片

LoRA則是一個比較常用的凍結式的微調模型。例如在原始的擴散模型中,通過輸入,經過各種各樣的模塊到輸出。這種模型的問題在于每次訓練時,都要從頭到尾去訓練,相當于訓練整個Stable Diffusion,這需要的顯存會比較高、對算力的要求比較高、對于數據集也會有比較高的要求。

微軟提出的LoRA方式,作用是把模型的大部分進行凍結,模型結構不變,在結構之上再加兩個LoRA層,只有這兩個LoRA層參與微調,實際上相當于整個模型不需要訓練,只需要訓練這兩個LoRA層。它的參數量相比于訓練整個模型要小得多。

在LoRA層加上所需要的各種特征、細節,從而進行訓練,這也就是為什么在LoRA放上幾個圖,加一個prompt,就能生成相關的內容。LoRA的原理就是這樣,在一個大模型的基礎上將其凍結,只把數據集和prompt對應到兩個LoRA層之中,它就能夠得到我們想要的結果。

圖片圖片

但是這種結果其實也有一些弊端,它可能只適合簡單風格的訓練,或者單一的針對于某一個點的訓練,超出這個點,可能就需要再用另外一種方法或者疊加LoRA。

所以很多做Stable Diffusion的人,會在網上找base模型,再去下載一堆LoRA,有微調眼睛的、微調鼻子的、微調手指的,把這些LoRA都疊加進去再進行圖像生成,效果就會很好。所以LoRA的優勢就在于訓練成本低,可以針對某一方面單獨進行訓練。

3、Stable Diffusion在企業中落地

但是在落地方面,如果LoRA和DreamBooth的效果都不能滿足企業需求,就需要Text-to-Image訓練了。Text-to-Image訓練也可以不是從頭到尾訓練,如果基于一個已經訓練好的大模型,再對其進行Finetune,其實就是Text-to-Image。但這對于算力的要求比較高,要想較好的訓練效果,建議用40G以上的顯存。

Text-to-Image的處理分三部分,第一部分是數據集處理;第二部分是底模選擇;第三部分則是各種各樣的參數,對整個模型、整體效果的影響。

首先數據集的處理,在圖片處理時,可以用AI模型將圖片背景全都去掉了,并且貼一個白背景。去掉之后,就變成一個四通道,四通道訓練并不好做,加上白背景,就變成一個三通道,再把大小處理成512×512。

圖片圖片

圖像到文字可以根據圖像一句一句挑描述,這樣是最精準的。還有一種方法則是通過webUI的方式,webUI里一般都有clip等方式,可以生成描述,它生成的針對每一個文件是一個txt的文本,再把文本做一定的數據處理。生成之后可以直接使用描述,基本上不需要做太大的改變,除非需要增加一些比較特殊的詞,比如增加一些項目的名字或者特定的一些內容的名字。

模型的選型方面,推薦用Hugging Face網站,其中有很多Stable Diffusion,有base模型,1.5、2.0、2.1、1.4都有,還有一些專用模型,可以根據需要搜索,把它作為base model進行訓練。C站更多的是比較適用于webUI。

圖片圖片

最后關于模型訓練過程的一些心得和需要避開的坑。當有時模型跑不起來的時候,可以看它提供的一些用低模型的低顯存的方法,但是這里有一個坑,就是低顯存的方法在Text-to-Image中沒有,而在隔離的DreamBooth里說了,可以把里面的兩行配置粘過來,會發現它是能用的。

此外關于調參,經常有一些非算法的同學問我,說這里面的學習率、這里面的loss到底是什么,怎么樣才算把模型訓練好?我會建議他去看loss,看它的變化曲線,它最后是否收斂。

很多時候非技術人員或初學者在用Stable Diffusion或者在網上拿過來的做訓練的時候,他們最大的問題是不知道用多大的數據集,即便知道了用多大的訓練集,也不知道再訓練多少步,而知道該訓練多少步后,又不知道該訓練到什么時候停止。

這里可以提供一個參考,在做Stable Diffusion的大模型的訓練的時候,最需要注意一點是,根據數據集的大小,根據圖片的尺寸,最大的訓練步數需要進行相應的調整。當然,數據集的描述也需要進行調整,最終才能夠訓練出比較好的效果。

嘉賓介紹:

黃鴻波,珠海金山網絡游戲科技有限公司(西山居)AI技術專家,高級算法工程師,谷歌機器學習方向開發者專家,擁有多年軟件開發經驗,著有《TensorFlow進階指南 基礎、算法與應用》一書。曾在格力電器股份有限公司大數據中心擔任人工智能領域專家,且在多家公司擔任過高級工程師,技術經理,技術總監等職務。

責任編輯:武曉燕 來源: 51CTO技術棧
相關推薦

2017-04-24 11:40:26

大數據制造企業

2024-01-31 16:36:53

2015-09-01 13:58:25

大數據企業

2023-02-10 21:12:41

GPUmacOSStable

2014-06-06 09:52:42

大數據

2015-03-12 10:38:49

2015-03-12 09:42:27

2022-06-02 08:30:55

項目React重構

2023-01-10 16:08:04

人工智能擴散模型

2024-09-14 14:09:40

2023-05-26 15:53:48

MidjourneyAI圖像

2023-11-22 11:22:57

AI模型

2024-12-06 10:21:04

2023-05-24 08:52:12

2022-06-02 11:11:43

AI深度學習

2024-06-13 17:45:16

2021-09-09 08:02:46

項目Bundleless架構

2017-06-13 10:15:50

人工智能深度學習神經網絡

2024-10-11 19:37:39

2022-06-08 08:49:06

云計算云文化敏捷方法
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲欧美中文日韩在线 | 国产免费一区二区三区免费视频 | 国产免费黄网 | 玖玖国产 | 国产伊人久久久 | 欧美在线视频一区二区 | 日韩精品一区二区三区老鸭窝 | 国产精品美女久久久久aⅴ国产馆 | 午夜影院 | 国产一级久久久久 | 久久av网站| 91精品久久久 | 美女视频h | 亚洲一区二区在线播放 | 亚洲第一区久久 | 亚洲成人av一区二区 | 亚洲精品成人免费 | 精品久久久久一区二区国产 | 99热.com | 极品国产视频 | 亚洲一区二区电影网 | av毛片在线播放 | 亚洲精品久久视频 | 国产精品久久久久久吹潮 | 欧美成人a∨高清免费观看 欧美日韩中 | 久久久91精品国产一区二区三区 | 日韩视频国产 | 2019天天操 | 玖玖视频 | 草久视频 | 欧美精品在线观看 | 在线成人av | 亚洲欧美综合精品久久成人 | 亚洲欧美久久 | 午夜免费小视频 | 91精品国产乱码久久久久久久久 | 色狠狠一区| 精品国产一区二区三区观看不卡 | 视频1区 | 欧美日韩三级在线观看 | 成人日批视频 |