MIT 韓松專訪:Once for All 神經網路高效適配不同硬體平臺

AMiner學術頭條發表於2020-05-12
ICLR,全稱為“International Conference on Learning Representations”,即國際學習表徵會議。雖然其官網非常簡潔,但是 ICLR 本身包括了無監督、半監督和監督表示學習、計劃學習、強化學習機器學習技術在多個領域的應用,可以說是人工智慧學術界的一場盛宴。

來自麻省理工學院的韓松曾在 ICLR 多次發表論文,他的論文 Deep Compression: Compressing Deep Neural Networks with Pruning, Trained Quantization and Huffman Coding 獲得了 2016 年 ICLR 的最佳論文獎。

而在 2020 年,他的團隊又帶來了一項名為 Once-for-All: Train One Network and Specialize it for Efficient Deployment 的突破性研究。

MIT 韓松專訪:Once for All 神經網路高效適配不同硬體平臺

Once-for-All: Train One Network and Specialize it for Efficient Deployment 論文詳情(來源:AMiner 會議智圖開放平臺 ICLR 2020 專題全析圖)

這篇論文的主要內容,是透過一種 Once for All 網路,可高效生成 10^19 獨立工作的子網路以便適配到不同的硬體平臺,比如包含了伺服器端各種不同的 GPU(例如英偉達 1080Ti, 2080Ti, V100), CPU (例如英特爾 Xeon 系列)以及移動端各種不同的邊緣裝置。

為了提高硬體平臺上的推理效率,需要改變神經網路的結構(例如深度,寬度,卷積核大小,輸入解析度等)來適配具體的硬體。在同一個平臺上,研究人員也設定了不同的效率限制,目的是在算力不同的平臺執行時達到平衡。

一個通用的 OFA 網路支援在大量不同的結構設定下透過擷取 OFA 網路的不同部分來進行高效推理。對於計算資源豐富的雲端裝置,可以擷取一個大的子網;而對於計算資源短缺的邊緣裝置,則可以擷取一個較小的子網。

MIT 韓松專訪:Once for All 神經網路高效適配不同硬體平臺

按照傳統方法,開發者往往會考慮手動設計或使用神經體系結構搜尋(Neural Architecture Search,NAS)的方法,但是這需要大量的 GPU hours 和能源消耗(見下圖)。
MIT 韓松專訪:Once for All 神經網路高效適配不同硬體平臺

為了在跨平臺的模型部署中降低成本,順便還能提升運算效率,韓松團隊嘗試建立更小,更綠色的神經網路。為此,他們訓練了一種支援所有體系結構設定(深度,寬度,核心大小和解析度)的“全包式”網路,稱其為“一勞永逸網路”( Once-For-All Network,簡稱 OFA)。
MIT 韓松專訪:Once for All 神經網路高效適配不同硬體平臺

借鑑這篇論文的方法,韓松朱儁彥團隊將在 CVPR’20 發表了題為 GAN Compression: Efficient Architectures for Interactive Conditional GANs 的新成果。這是一篇關於如何壓縮條件生成對抗網路(cGAN)算力消耗量過大的論文,提出了一種通用的壓縮框架,以減少 cGAN 在運算過程中的推理時間和模型大小。
MIT 韓松專訪:Once for All 神經網路高效適配不同硬體平臺

當然,凡是出現壓縮這個關鍵詞,準確率的補償就勢必會成為大家關注的重點。論文提到,對於 CycleGAN 之類的 unpaired(訓練資料給定輸入沒有對應的真實輸出)模型,由於輸入圖片沒有與之對應的真實圖片,因此直接將輸入圖片餵給一個已經訓練好的 teacher 模型,將其輸出當成與輸入對應的真實圖片。由此一來,unpaired 情況也統一成 paired 的情況。同時也降低了模型建模的難度,這使得小模型能夠更好得學習輸入圖片到目標圖片的轉換。

其次,無論是 paired 模型還是 unpaired 模型,都讓小模型的中間層 activations 和 teacher 模型的中間層 activations 儘可能的相匹配,以此來學習隱藏在潛藏在 Teacher 模型中的一些知識,提升小模型的效能。與此同時,和 teacher 模型協同訓練的 discriminator 也保有大量的知識,因此在訓練小網路的過程中,繼續沿用 teacher 的 discriminator,與小網路進行協同訓練。

最後,考慮到模型可能還存在許多冗餘的計算量,進而使用 NAS 方法,自動檢測生成器網路每層的通道數的冗餘度,以此讓網路更加高效。

MIT 韓松專訪:Once for All 神經網路高效適配不同硬體平臺

互動式影像生成目前已經產生了很多的應用,比如使用者可以實時地把自己的繪畫轉換成真實的圖片,此類應用可用在教育領域,培養孩子創造力;或者 VR 場景和裝置,可以把眼前的景象轉換卡通或者油畫風格的,滿足場景體驗的需求。但這些應用都要求 Conditional GANs 在在一些硬體資源有限移動裝置上進行部署,這樣才能將這些應用真正地為人所用。這是這項工作的動機之一。
MIT 韓松專訪:Once for All 神經網路高效適配不同硬體平臺

以下為學術君與韓松團隊的博士生蔡涵的部分交流內容:

學術君: Once-for-All: Train One Network and Specialize it for Efficient Deployment提到了一種可以在多種不同硬體平臺上通用的神經網路,我是否可以把他理解成客戶端和伺服器端通用?那麼 PC 端和手機端是否也能通用?如何實現?

蔡涵: 是的。一個通用的 OFA 網路可以衍生出 10^19 個專用的子網路來適配多種不同硬體平臺,包含了伺服器端各種不同的 GPU(例如英偉達 1080Ti, 2080Ti, V100), CPU (例如英特爾 Xeon 系列)以及客戶端各種不同的邊緣裝置(高階手機例如三星 Note10;低端手機例如三星 S7,谷歌 Pixel1;專用硬體例如賽靈思 FPGA)。不同的硬體平臺有不同的特性和硬體資源。在同一個平臺上,我們也會有不同的效率限制。為了提高硬體平臺上的推理效率,我們需要改變神經網路的結構(例如深度,寬度,卷積核大小,輸入解析度等)來適配具體的硬體。一個通用的 OFA 網路支援在大量不同的結構設定下透過擷取 OFA 網路的不同部分來進行高效推理。對於計算資源豐富的雲端裝置,我們可以擷取一個大的子網。而對於計算資源短缺的邊緣裝置,我們則可以擷取一個較小的子網。

學術君為什麼我們需要這樣的不同硬體平臺通用的 OFA 網路?

蔡涵: 如果我們直接在所有硬體平臺上使用同一個神經網路,這會導致大量效能和效率上的損失,因為同樣的神經網路並不能適配所有場景。如果我們針對每個硬體平臺和效率約束都重頭設計並訓練一個新的神經網路,這會導致大量的計算資源的消耗,因為這種方式計算資源的需求是隨著部署場景數線性增長的。這同樣也會導致嚴重的環境問題,因為大量的計算資源消耗直接可以轉化為大量的二氧化碳排放。因此我們需要這樣的通用的 OFA 網路,既可以針對不同硬體平臺進行適配而不損失效能和效率,同時不需要額外的計算資源來從頭訓練一個新的神經網路

學術君在訓練這樣一個通用的 OFA 網路的時候,你們遇到了什麼挑戰?是如何處理的?

蔡涵: 主要的難點在於,一個 OFA 網路需要同時支援大量不同的子網(>10^19)。它們之間會相互干擾,這使得 OFA 網路比一般結構確定的神經網路要更難最佳化。為了解決這個問題,我們提出 progressive shrinking 演算法來訓練 OFA 網路。我們注意到各種不同的子網是一層層巢狀在最大的神經網路中的。因此我們將 OFA 網路的訓練過程建模為一個逐漸縮小與微調的過程。我們首先會訓練最大的網路。然後逐漸縮小網路的各個維度(輸入解析度,卷積核大小,深度,寬度)來支援較小的子網。同時我們會微調網路的權重使其在支援較小的子網的同時不會丟失在較大子網下推理的能力。某種程度上,progressive shrinking 也可以看作是一種廣義上的剪枝方法。

學術君: OFA 和 NAS 的方法相比有什麼優勢?

蔡涵: 從計算資源的角度,NAS 方法的總計算資源是隨著部署場景數量的增加而線性增長的。當有多個部署場景的時候,OFA 會比 NAS 方法高效得多。具體上,在 40 個部署場景的情況下,OFA 的總計算資源消耗是 ProxylessNAS1/16MnasNet1/1300。從準確率的角度,我們發現 OFA 中的子網在經過微調後可以達到比單獨從頭訓練更好的準確率。在 ImageNet 上,OFA 在大量的硬體平臺和效率約束下都達到了遠好於 EfficientNet 和 MobileNetV3 的準確率。在 ImageNet 移動設定下(< 600M MACs),OFA 達到了最新的 80.0% SOTA 準確率。使用 OFA 網路,我們在第三屆和第四屆低功耗計算機視覺比賽(Low-Power Computer Vision Challenge)中都取得了第一。

學術君你們有開原始碼的計劃嗎?

蔡涵: 我們已經在 Github 上開源了我們的訓練程式碼,以及 50 個用於各種硬體平臺的 ImageNet 預訓練模型,其中包括了我們在 600M MACs 約束下達到 80.0%ImageNet 準確率的模型。我們還提供了預訓練的 OFA 網路,支援以 0 訓練成本得到大量不同的子網。

韓松清華大學電子系本科,史丹佛大學電子系博士,師從 NVIDIA(英偉達)首席科學家 William J. Dally 教授。現任麻省理工學院(MIT)電氣工程和電腦科學系助理教授。他是深鑑科技的聯合創始人、首席科學家,該公司被 Xilinx(賽靈思)收購。

2019 年,韓松被《麻省理工科技評論》評選為全球 “35 歲以下科技創新 35 人” ,2020 年獲得 AI 2000 機器學習全球最具影響力學者提名獎(2020 AI 2000 Most Influential Scholar Award Honorable Mention in Machine Learning)。

韓松的研究廣泛涉足深度學習和計算機體系結構,他提出的 Deep Compression 模型壓縮技術曾獲得 ICLR2016 最佳論文,論文 ESE 稀疏神經網路推理引擎 2017 年曾獲得晶片領域頂級會議——FPGA 最佳論文獎,引領了世界深度學習加速研究,對業界影響深遠。

近兩年,韓松博士的一系列論文獲得了工業界與學術界的廣泛關注,加州伯克利大學和紐約大學均把論文內容納入專題課程。而工業界中,Google, Facebook, Baidu, Xilinx, NVIDIA 等諸多大型科技公司也開始採用“深度壓縮”技術,應用於雲端和移動端的人工智慧產品中;Facebook 和 Amazon 也將韓松團隊的 ProxylessNAS 高效小模型加入了 PytorchHub 和 AutoGluon。

參考資料:
https://arxiv.org/pdf/1908.09791.pdf
https://www.aminer.cn/pub/5e5e189c93d709897ce1f260/once-for-all-train-one-network-and-specialize-it-for-efficient-deployment
https://www.aminer.cn/profile/song-han/542a5aeadabfae646d5557e9

相關文章