迷你版DALL-E:模型縮小27倍,訓練成本僅200美元,在線可玩!

  • 2021 年 8 月 3 日
  • AI

作者 | 維克多

自從今年1月份OpenAI祭出120億參數魔法模型DALL·E,眾多科研工作者開始對其進行多方位的剖析,希望也能做出給定「自然語言文字描述直接生成對應圖片」的程式或軟體。

120億參數.........這意味著只有「頂級玩家」才能入局。如果縮小模型參數,程式還能跑出高品質的結果么?

今日,Google和Hugging Face的研究員們開放了一款DALL·E mini的小程式。顧名思義,作為DALL·E的復刻版,模型規模比原版小了27倍,且只在單個TPU v3-8上訓練了3天。

mini版的DALL·E創造思路非常簡單:在官方開源程式碼以及預訓練模型的基礎上,簡化體系結構和減少模型記憶體需求。

效果如何?作者在部落格中說:

「在硬體資源受限的情況下,雖然品質比較低,但結果仍然是令人印象深刻的。」

AI科技評論將其與正版DALL·E進行了對比,結果如下:

文本提示:穿著芭蕾舞短裙的蘿蔔寶寶在遛狗。

AI生成的影像:
圖註:左邊為DALL·E mini輸出結果,右邊為OpenAI官方部落格中的示範

文本提示:寫著「OpenAI」字樣的店面。

AI生成的影像:
圖註:左邊為DALL·E mini輸出結果,右邊為OpenAI官方部落格中的示範

文本提示:鱷梨形狀的扶手椅。

AI生成的影像:
圖註:左邊為DALL·E mini輸出結果,右邊為OpenAI官方部落格中的示範

通過以上對比,mini版的DALL·E只在「鱷梨形狀的扶手椅」交出了令人滿意的答卷,在「遛狗」和「店面」測試中,前者生成的是抽象派畫面,後者只生成了店面......果然,魔法還是念完完整咒語,才能發揮最完美的效果。

目前,已經開放demo,在線可玩。
//huggingface.co/spaces/flax-community/dalle-mini
考慮到較小規模的模型架構,以及只訓練了三天,因此,其模型結構和訓練方法對我們也有借鑒意義。
1

模型架構 

圖註:模型訓練流程

1.影像通過VQGAN編碼器進行編碼,該編碼器將影像轉換為一系列tokens。
2.文字描述通過BART編碼器進行編碼。其中,BART解碼器是一個自回歸模型,其目標是預測下一個tokens。
3.損失函數來自VQGAN中真實影像編碼和預測值之間的softmax cross entropy。
圖註:模型推理流程
在推理時候,只有標題(captions)可用,影像生成過程如下:
1.標題通過BART 編碼器編碼
2.token 通過通過BART解碼器傳送
3.基於解碼器在下一個 token的預測分布,對影像 token進行順序取樣
4.影像token序列通過VQGAN解碼器解碼
5.Clip用於選擇最佳生成的影像
前面也提到,對於影像的編碼和解碼,作者使用VQGAN。VQGAN的目標是將一幅影像編碼成一系列離散的 token,這些 token可用於transformers模型。
圖註:訓練transformers以實現高解析度影像合成
值得一提的是,為了充分利用TPU,該模型用JAX編程。此外,為了加快數據載入速度,作者使用影像編碼器對所有影像進行了預編碼。
其中,每個TPU處理的Batch size為56,這可以最大限度地增加每個TPU的可用記憶體;採用Adafactor為優化器,提高記憶體效率,使我們可以使用更高的Batch size。作者們還花了半天的時間,通過啟動超參數搜索來為模型找到一個好的學習率(0.005)。
2

與OpenAI DALL·E相比 

1.Dall·E使用120億參數版本的GPT-3。相比之下,Dall·E mini的模型小27倍,參數約為4億。


2.Dall·E mini使用大量預先訓練好的模型(VQGAN、BART編碼器和CLIP),而OpenAI從頭開始訓練。


3.在影像編碼方面,表( vocabulary )的對比是8192 vs 16384,tokens的對比是1024vs256。Dall·E使用VQVAE,而作者使用VQGAN。


4.在文本編碼方面,表( vocabulary )的對比是16384 vs 50264,tokens的對比是256 vs 1024。


5.Dall·E通過自回歸模型讀取文本,而Dall·E mini使用雙向編碼器。


6.Dall·E接受了2.5億對影像和文本的訓練,而Dall·E mini只使用了1500萬對。

綜上,以上的設置差異使得Dall·E mini的訓練時間大大縮小,即只在單個TPU v3-8上訓練了3天。據作者計算,模型的訓練成本不到200美元,即使算上在TPU和超參數搜索上的實驗,額外的開銷也不超過1000美元。
最後,作者寫道:
基於此,Dall·E生成的影像的品質雖然比Dall·E mini模型高得多,但調用的資源非常少。不得不承認這個模型在復現OpenAI幾個官方示例中確實失敗了。
同時,作者也放出了一些實驗結果,如下所示:
‍

3

差在哪?

作者也承認了Dall·E mini的幾個缺陷,在文末,他們總結到:
1.生成的圖片經常有水印;
2.人物和動物的生成往往有缺陷;
3.很難預測該模型的優勢和缺陷,例如該模型很擅長生成「鱷梨形狀的扶手椅」,但不能生成與「電腦logo 」相關的任何內容;
4.目前僅接受英文輸入,在其他語言中表現不佳。
經過分析,作者認為之所以出現缺陷,可能是因為數據集,畢竟數據偏見一直是研究社區所討論的;另外,模型本身以及訓練的流程、推理的流程都有可能是出問題的地方。

雷鋒網雷鋒網雷鋒網

Tags: