
作者 | 維克多
自從今年1月份OpenAI祭出120億參數(shù)魔法模型DALL·E,眾多科研工作者開始對(duì)其進(jìn)行多方位的剖析,希望也能做出給定“自然語言文字描述直接生成對(duì)應(yīng)圖片”的程序或軟件。
120億參數(shù).........這意味著只有“頂級(jí)玩家”才能入局。如果縮小模型參數(shù),程序還能跑出高質(zhì)量的結(jié)果么?
今日,谷歌和Hugging Face的研究員們開放了一款DALL·E mini的小程序。顧名思義,作為DALL·E的復(fù)刻版,模型規(guī)模比原版小了27倍,且只在單個(gè)TPU v3-8上訓(xùn)練了3天。
mini版的DALL·E創(chuàng)造思路非常簡(jiǎn)單:在官方開源代碼以及預(yù)訓(xùn)練模型的基礎(chǔ)上,簡(jiǎn)化體系結(jié)構(gòu)和減少模型內(nèi)存需求。
效果如何?作者在博客中說:
“在硬件資源受限的情況下,雖然質(zhì)量比較低,但結(jié)果仍然是令人印象深刻的?!?/p>
AI科技評(píng)論將其與正版DALL·E進(jìn)行了對(duì)比,結(jié)果如下:
圖注:左邊為DALL·E mini輸出結(jié)果,右邊為OpenAI官方博客中的示范圖注:左邊為DALL·E mini輸出結(jié)果,右邊為OpenAI官方博客中的示范圖注:左邊為DALL·E mini輸出結(jié)果,右邊為OpenAI官方博客中的示范通過以上對(duì)比,mini版的DALL·E只在“鱷梨形狀的扶手椅”交出了令人滿意的答卷,在“遛狗”和“店面”測(cè)試中,前者生成的是抽象派畫面,后者只生成了店面......果然,魔法還是念完完整咒語,才能發(fā)揮最完美的效果。https://huggingface.co/spaces/flax-community/dalle-mini考慮到較小規(guī)模的模型架構(gòu),以及只訓(xùn)練了三天,因此,其模型結(jié)構(gòu)和訓(xùn)練方法對(duì)我們也有借鑒意義。模型架構(gòu) 
1.圖像通過VQGAN編碼器進(jìn)行編碼,該編碼器將圖像轉(zhuǎn)換為一系列tokens。2.文字描述通過BART編碼器進(jìn)行編碼。其中,BART解碼器是一個(gè)自回歸模型,其目標(biāo)是預(yù)測(cè)下一個(gè)tokens。3.損失函數(shù)來自VQGAN中真實(shí)圖像編碼和預(yù)測(cè)值之間的softmax cross entropy。在推理時(shí)候,只有標(biāo)題(captions)可用,圖像生成過程如下:3.基于解碼器在下一個(gè) token的預(yù)測(cè)分布,對(duì)圖像 token進(jìn)行順序采樣前面也提到,對(duì)于圖像的編碼和解碼,作者使用VQGAN。VQGAN的目標(biāo)是將一幅圖像編碼成一系列離散的 token,這些 token可用于transformers模型。圖注:訓(xùn)練transformers以實(shí)現(xiàn)高分辨率圖像合成值得一提的是,為了充分利用TPU,該模型用JAX編程。此外,為了加快數(shù)據(jù)加載速度,作者使用圖像編碼器對(duì)所有圖像進(jìn)行了預(yù)編碼。其中,每個(gè)TPU處理的Batch size為56,這可以最大限度地增加每個(gè)TPU的可用內(nèi)存;采用Adafactor為優(yōu)化器,提高內(nèi)存效率,使我們可以使用更高的Batch size。作者們還花了半天的時(shí)間,通過啟動(dòng)超參數(shù)搜索來為模型找到一個(gè)好的學(xué)習(xí)率(0.005)。與OpenAI DALL·E相比
1.Dall·E使用120億參數(shù)版本的GPT-3。相比之下,Dall·E mini的模型小27倍,參數(shù)約為4億。
2.Dall·E mini使用大量預(yù)先訓(xùn)練好的模型(VQGAN、BART編碼器和CLIP),而OpenAI從頭開始訓(xùn)練。
3.在圖像編碼方面,表( vocabulary )的對(duì)比是8192 vs 16384,tokens的對(duì)比是1024vs256。Dall·E使用VQVAE,而作者使用VQGAN。
4.在文本編碼方面,表( vocabulary )的對(duì)比是16384 vs 50264,tokens的對(duì)比是256 vs 1024。
5.Dall·E通過自回歸模型讀取文本,而Dall·E mini使用雙向編碼器。
6.Dall·E接受了2.5億對(duì)圖像和文本的訓(xùn)練,而Dall·E mini只使用了1500萬對(duì)。
綜上,以上的設(shè)置差異使得Dall·E mini的訓(xùn)練時(shí)間大大縮小,即只在單個(gè)TPU v3-8上訓(xùn)練了3天。據(jù)作者計(jì)算,模型的訓(xùn)練成本不到200美元,即使算上在TPU和超參數(shù)搜索上的實(shí)驗(yàn),額外的開銷也不超過1000美元。基于此,Dall·E生成的圖像的質(zhì)量雖然比Dall·E mini模型高得多,但調(diào)用的資源非常少。不得不承認(rèn)這個(gè)模型在復(fù)現(xiàn)OpenAI幾個(gè)官方示例中確實(shí)失敗了。
同時(shí),作者也放出了一些實(shí)驗(yàn)結(jié)果,如下所示:
?差在哪?
作者也承認(rèn)了Dall·E mini的幾個(gè)缺陷,在文末,他們總結(jié)到:3.很難預(yù)測(cè)該模型的優(yōu)勢(shì)和缺陷,例如該模型很擅長(zhǎng)生成“鱷梨形狀的扶手椅”,但不能生成與“計(jì)算機(jī)logo ”相關(guān)的任何內(nèi)容;4.目前僅接受英文輸入,在其他語言中表現(xiàn)不佳。經(jīng)過分析,作者認(rèn)為之所以出現(xiàn)缺陷,可能是因?yàn)閿?shù)據(jù)集,畢竟數(shù)據(jù)偏見一直是研究社區(qū)所討論的;另外,模型本身以及訓(xùn)練的流程、推理的流程都有可能是出問題的地方。雷鋒網(wǎng)雷鋒網(wǎng)雷鋒網(wǎng)
雷峰網(wǎng)特約稿件,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。