人工智能三大支柱,即算力、算法、數(shù)據(jù),都離不開(kāi)算力支撐。
最近,AI繪畫(huà)大熱,我們所說(shuō)的“AI繪畫(huà)”的概念,指的是基于深度學(xué)習(xí)模型來(lái)進(jìn)項(xiàng)自動(dòng)作圖的計(jì)算機(jī)程序。
2012年,Google兩位大名鼎鼎的AI大神使用1.6萬(wàn)個(gè)CPU訓(xùn)練了一個(gè)當(dāng)時(shí)世界上最大的深度學(xué)習(xí)網(wǎng)絡(luò), 用來(lái)指導(dǎo)計(jì)算機(jī)畫(huà)出貓臉圖片. 當(dāng)時(shí)他們使用了1000萬(wàn)個(gè)貓臉圖片, 1.6萬(wàn)個(gè)CPU整整訓(xùn)練了3天, 最終生成到了一個(gè)非常模糊的貓臉。
是不是感覺(jué)有點(diǎn)不可思議,2012年大規(guī)模計(jì)算機(jī)集群已經(jīng)處于很現(xiàn)代水平了,可是結(jié)果確如此模糊。
大家或許有個(gè)基本概念, 深度學(xué)習(xí)模型的訓(xùn)練簡(jiǎn)單說(shuō)來(lái)就是利用外部大量標(biāo)注好的訓(xùn)練數(shù)據(jù)輸入, 根據(jù)輸入和所對(duì)應(yīng)的預(yù)期輸出, 反復(fù)調(diào)整模型內(nèi)部參數(shù)加以匹配的過(guò)程。
那么讓AI學(xué)會(huì)繪畫(huà)的過(guò)程, 就是構(gòu)建已有畫(huà)作的訓(xùn)練數(shù)據(jù), 輸入AI模型進(jìn)行參數(shù)迭代調(diào)整的過(guò)程。
一幅畫(huà)帶有多少信息呢? 首先就是長(zhǎng)x寬個(gè)RGB像素點(diǎn).再是繪畫(huà)中每一筆的位置、形狀、顏色等多個(gè)方面的參數(shù),
這里涉及到的參數(shù)組合是非常龐大的. 而深度模型訓(xùn)練的計(jì)算復(fù)雜度隨著參數(shù)輸入組合的增長(zhǎng)
而
急劇增長(zhǎng)。
AI訓(xùn)練所需要的時(shí)間,取決于背后的GPU性能。
以Disco Diffusion為例,基于CLIP-Guided Diffusion網(wǎng)絡(luò),這是輸入以下文字輸出一張的圖片,其實(shí)還可以選不同的畫(huà)家風(fēng)格。這個(gè)可以自己探索~
artstation,GregRutkowski,sea,dikel,ship,industrialization,cloud,time,future,afternoon
接下來(lái)就一起看看怎么在北鯤云超算平臺(tái)上實(shí)現(xiàn)AI繪畫(huà)。
北鯤云超算平臺(tái)可以提供高性價(jià)比的一站式AI計(jì)算服務(wù),根據(jù)平時(shí)的操作習(xí)慣,可以直接通過(guò)命令行提交作業(yè)。平臺(tái)同時(shí)還有大量可供調(diào)用的GPU資源,
例如32G顯存的V100、40G和80G顯存的A100。
啟動(dòng)一個(gè)T4的Jupyter Notebook Desktop,連接后Notebook會(huì)自動(dòng)打開(kāi)。
連接后先打開(kāi)終端,將Notebook(Disco_Diffusion.ipynb)復(fù)制到本地
git clone https://github.com/alembics/disco-diffusion.git
由于項(xiàng)目要用pytorch,涉及到很多庫(kù)的安裝,最好使用Anaconda。Anaconda已經(jīng)在平臺(tái)上預(yù)裝好了,可以通過(guò)以下命令進(jìn)行加載
module add Anaconda3
source activate
我們可以創(chuàng)建一個(gè)獨(dú)立的環(huán)境用來(lái)diffusion,python版本選3.9即可,并將該環(huán)境加到ipykernel中。
conda create -n diffusion python=3.9
conda activate
conda install -c anaconda ipykernel
python -m ipykernel install --user --name=diffusion
這時(shí)候即可打開(kāi)Disco_Diffusion.ipynb,并選擇diffusion作為kernel。
運(yùn)行Notebook,分為四步:環(huán)境搭建、模型設(shè)置、生成文字設(shè)置、生成圖片。
第二個(gè)單元會(huì)提示沒(méi)有檢測(cè)到colab,模型會(huì)選擇本地的models文件夾。
第三個(gè)單元檢測(cè)一些必須的依賴包,沒(méi)裝成的直接conda安裝即可。由于這一步會(huì)下載文件,請(qǐng)耐心等待。
conda install -c pytorch pytorch torchvision torchaudio cudatoolkit=10.2
conda install -c conda-forge opencv timm lpips ftfy einops omegaconf pandas
后面三個(gè)單元定義了一些方法和模型,可以直接運(yùn)行。
這里要注意默認(rèn)用的是512*512的模型會(huì)比較吃顯卡,前面可以調(diào)成256*256的。
然后就是模型設(shè)置,這里batch_name是文件夾名,里面的圖片也會(huì)根據(jù)這個(gè)命名。
width_height是期望的最終圖像大小,應(yīng)該設(shè)置為64px的倍數(shù),并且在默認(rèn)的CLIP模型設(shè)置上至少設(shè)置為512px。如果忘記使用64px的倍數(shù),DD會(huì)調(diào)整圖像尺寸。
steps是迭代步數(shù),越高細(xì)節(jié)越多。
然后Animation Settings和 Extra Settings,這兩個(gè)可以先不動(dòng)。
最關(guān)鍵的短語(yǔ)設(shè)置部分,text_prompts就是短語(yǔ),0:是第一幀,如果是動(dòng)畫(huà)可以設(shè)置從哪一幀開(kāi)始變風(fēng)格,單個(gè)圖片就設(shè)置一句就行。
image_prompts是基于哪張圖片進(jìn)行生成,這個(gè)也很有意思可以自己選圖片實(shí)驗(yàn)。
怎么設(shè)置好的確是門(mén)藝術(shù),不過(guò)大概有場(chǎng)景描述就可以生成,有喜歡的藝術(shù)家也可以加上,還有時(shí)間,地點(diǎn)也可以。
官方的例子描述是:"A beautiful painting of a singular lighthouse, shining its light across a tumultuous sea of blood by greg rutkowski and thomas kinkade, Trending on artstation.”
就是說(shuō):“greg rutkowski和thomas kinkade在Trending on artstation上繪制的一幅美麗的燈塔畫(huà),它的光芒照耀著一片喧囂的血海。”
這里引入了兩位藝術(shù)家,想查看其他藝術(shù)家可以看下方表格,兩千多位藝術(shù)家可以選擇:
https://docs.google.com/spreadsheets/d/14xTqtuV3BuKDNhLotB_d1aFlBGnDJOY0BRXJ8-86GpA/edit#gid=0
high,performance,computing,cloud,
scientist,drug,time,future,cyberpunk
然后就是激動(dòng)人心的生成了, n_batches是要生成的圖片個(gè)數(shù),默認(rèn)是50會(huì)比較久,可以先設(shè)置1個(gè)測(cè)一下速度。點(diǎn)擊運(yùn)行后,圖片就開(kāi)始生成,并會(huì)一點(diǎn)一點(diǎn)變清晰。
此時(shí)可以在終端里通過(guò)nvidia-smi查看GPU的使用率。
等計(jì)算完成后,可以到北鯤云控制臺(tái)首頁(yè)—文件傳輸里下載生成好的圖片。
清華大學(xué)某課題組正面臨管理難、科研效率慢等問(wèn)題,在多方對(duì)比后選擇了北鯤云AI計(jì)算云平臺(tái)。
據(jù)小鯤得知,以下幾點(diǎn)是北鯤云打動(dòng)課題組的關(guān)鍵點(diǎn):
1 滿足每個(gè)賬號(hào)有云主機(jī)多卡多節(jié)點(diǎn)并行
2 已預(yù)裝多種環(huán)境及數(shù)據(jù)集,可直接在平臺(tái)上使用
除此之外,北鯤云豐富的資源、一致的使用體驗(yàn)及極致的數(shù)據(jù)安全保障措施都獲得了老師的好評(píng)。
基于北鯤云超算平臺(tái)開(kāi)發(fā)的北鯤云AI計(jì)算平臺(tái)幫助用戶無(wú)憂上云,大大提升計(jì)算效率。歡迎有相關(guān)需求的同學(xué)來(lái)找鯤寶咨詢。
最近北鯤云通用計(jì)算2區(qū)上線,價(jià)格更優(yōu)惠,選擇更豐富,走過(guò)路過(guò)不要錯(cuò)過(guò)~