每日最新頭條.有趣資訊

韓松等人提出NN設計新思路:訓練一次,全平台應用

選自arXiv

作者:Han Cai、Chuang Gan、韓松

機器之心編譯

參與:熊貓

本文將介紹麻省理工學院與 MIT-IBM Watson AI Lab 的研究者提出的一種「一勞永逸」方法。通過分離模型訓練與架構搜索過程,該方法能極大降低神經網絡模型設計部署成本。

鏈接:https://arxiv.org/pdf/1908.09791.pdf

如要有效地部署深度學習模型,需要專門的神經網絡架構,以便最好地適應不同的硬體平台和效率限制條件(定義為部署場景(deployment scenario))。傳統的方法要麽是人工設計,要麽就是使用 AutoML(自動機器學習)來搜索特定的神經網絡,再針對每個案例從頭開始訓練。這些方法的成本高昂,而且難以擴展,因為它們的訓練成本與部署場景的數量有關。

本研究為高效神經網絡設計引入了一種 Once for All(OFA/一勞永逸)方法,可處理很多部署場景。這種新方法的特點是分離了模型訓練與架構搜索過程。這種方法不會針對每種案例都訓練一個專用模型,而是訓練一個支持多種不同架構設置(深度、寬度、核大小和分辨率)的 OFA 網絡。

然後給定一個部署場景,再通過選擇 OFA 網絡中特定的子網絡來搜索合適的結果,這個過程無需訓練。因此,專用模型的訓練成本就從 O(N) 降到了 O(1)。但是,我們卻難以防止許多不同子網絡之間的干擾。針對這一問題,MIT 的這些研究者提出了漸進式收束算法(progressive shrinking algorithm)。該算法能夠訓練支持超過 10^19 個子網絡的 OFA 網絡,同時還能保持與獨立訓練的網絡一樣的準確度,從而節省非重複性工程開發(non-recurring engineering/NRE)成本。

研究者在多種不同的硬體平台(移動平台/CPU/GPU)和效率限制條件上進行了廣泛的實驗,結果表明:相比於當前最佳(SOTA)的神經架構搜索(NAS)方法,OFA 能穩定地取得同等水準(或更好)的 ImageNet 準確度。值得注意的是,OFA 在處理多部署場景(N)時的速度比 NAS 快幾個數量級。當 N=40 時,OFA 所需的 GPU 工作小時數比 ProxylessNAS 少 14 倍、比 FBNet 少 16 倍、比 MnasNet 少 1142 倍。部署場景越多,則相比於 NAS 就節省越多。

引言

深度學習模型的模型大小和計算成本的爆發式增長帶來了新的難題:如何在不同的硬體平台上有效地部署它們?當硬體資源(比如片上記憶體大小、算術單元的數量)不同時,最佳的神經網絡架構也存在很大的差異。即使在同樣的硬體上運行時,由於電池條件或工作負載的差異,最佳的模型架構也大為不同。

在不同的硬體平台和效率限制條件下,研究者要麽專門為移動平台設計緊湊的模型,要麽通過壓縮來加速已有的模型,實現有效部署。但是,不管是人工設計方法,還是基於 AutoML 的方法,為每個部署場景都設計各自的專用 DNN 都具有很高的工程開發成本和計算成本。

針對這一難題,這篇論文給出的解決方案是:設計一種一勞永逸(OFA)的網絡,使其可以直接在部署在不同的架構配置上。推理可以通過選擇該 OFA 網絡的一部分來實現。它無需再訓練,就能靈活地支持不同的深度、寬度、核大小和分辨率。

具體來說,首先在模型訓練階段訓練一個單一的 OFA 網絡,然後可以基於此生成具有不同架構配置的不同子網絡。據介紹,這項研究的關注重點是在各個子網絡不互相干擾的情況下提升每個子網絡的準確度。在模型具體化階段,研究者首先會為子網絡的一個子集預構建準確度表和硬體效率表(延遲或能耗)。這些子網絡的權重直接取自 OFA 網絡,無需再訓練。在測試時,給定一個部署場景,僅需查詢準確度表和硬體延遲表就能得到一個特定的子網絡。這個查詢過程的成本可以忽略不計。

但是,訓練這個 OFA 網絡卻並不輕鬆,因為這需要權重的聯合優化,這樣才能維持大量子網絡的準確度。為了解決這些問題,研究者提出了用於這個 OFA 網絡的漸進式收束網絡。簡單來說,首先訓練一個帶有最大深度、寬度和核大小的神經網絡,然後逐步訓練該網絡以支持更小的子網絡。

研究者在 ImageNet 上評估了所提出的框架的效率,並測試了不同的硬體平台(移動平台/CPU/GPU)和效率限制條件。在所有的部署場景中,OFA 相比於當前最佳的硬體感知型 NAS 方法都總是能取得同等或更高的 ImageNet 準確度,同時在處理不同部署場景時的效率要高出幾個數量級。

方法

圖 1:左圖:訓練單個 OFA 網絡,以支持包括深度、寬度、核大小和分辨率在內的不同架構配置。給定一個部署場景,無需訓練,直接從該 OFA 網絡中選擇一個專用子網絡。中圖:這種方法可將專用深度學習部署的成本從 O(N) 降至 O(1)。右圖:OFA 網絡之後再使用模型選擇,可以實現很多準確度-延遲權衡,而整個過程僅需訓練一次。相比而言,傳統方法需要反覆多次訓練。表 2 給出了搜索成本比較,圖 6 是在更多硬體平台上的結果。

這項研究探索了卷積神經網絡架構的四個重要維度,即深度、寬度、核大小和分辨率。膨脹和分組數量等其它維度可以很自然地整合進來,但還有待進一步的研究。整體目標是使訓練得到的網絡的每個受支持的子網絡都能實現與同樣的架構配置同等水準的準確度。

圖 2:漸進式收束過程的一個示例。其覆蓋 CNN 架構的四個重要維度(深度 D、寬度 W、核大小 K、分辨率 R),得到一個由不同子網絡構成的大型空間(>10^19)。

訓練 OFA 網絡

首先訓練一個彈性分辨率的帶有最大 [深度, 寬度, 核大小] 的完整神經網絡。然後以一種漸進的方式微調這個神經網絡(從大型子網絡到小型子網絡),以同時支持完整的 [深度, 寬度, 核大小] 和部分的 [深度, 寬度, 核大小]。

圖 3:彈性核大小的核變換矩陣。這裡支持 7×7、5×5 和 3×3 的核。權重共享使其比獨立式的設置更有效率。

圖 4:彈性深度的訓練過程概覽。這裡不會單獨地跳過每個塊,而是會保留前 D 個塊,然後跳過後面 (4-D) 個塊。藍色和綠色塊的權重在 D=2, 3, 4 上是共享的。橙色塊在 D=3, 4 上共享。

訓練流程的詳情如下:

彈性分辨率(圖 2)。為了支持彈性分辨率,研究者在訓練模型時為每批訓練數據采樣了不同的圖像大小。

彈性核大小(圖 3)。研究者在共享核權重時引入了核變換矩陣。具體而言,就是在不同的塊上使用不同的核變換。在每個塊中,核變換矩陣在不同的通道之間共享。

彈性深度(圖 4)。為了在原本有 N 個塊的階段得到有 D 個塊的子網絡,首先保留前 D 個塊,再跳過後面的 N-D 個塊。最後,前 D 個塊的權重在大型和小型模型之間共享。

彈性寬度(圖 5)。寬度的意思是通道數量。研究者為每一層都提供了選擇不同通道擴展比的靈活性。

知識蒸餾(圖 2)。研究者既使用了訓練數據給出的硬標簽,也使用了在訓練 OFA 網絡時通過訓練完整網絡所得到的軟標簽。

使用 OFA 網絡進行專用模型部署

圖 5:用於彈性寬度的漸進式收束過程概覽。這個例子是漸進地支持 4、3、2 個通道的設置。更小的通道設置的初始化是用通道分類後最重要的通道(大 L1 范數)來完成。

目標是搜索一個在目標硬體平台上滿足效率限制條件(延遲、能耗等)的神經網絡,同時優化其準確度。

這項研究的做法是隨機采樣子網絡的一個子集,並構建它們的準確度表和延遲表。由此,給定目標硬體和延遲限制條件時,可以直接查詢準確度表和對應的延遲表,得到表內的最佳子網絡。查詢這些表的成本可以忽略不計,從而可避免總成本的線性增長。

在實驗中,研究者采樣了 1.6 萬個子網絡,並在 1 萬張驗證圖像(采樣自原始訓練集)上構建了準確度表。此外,由於支持彈性分辨率,還會在多種輸入圖像大小上測量同樣的子網絡。

實驗

研究者首先在 ImageNet 上應用了漸進式收束算法來訓練 OFA 網絡,然後在多種不同的硬體平台(三星 Note8、谷歌 Pixel1、Pixel2、NVIDIA 1080Ti、2080Ti、V100 GPU、英特爾 Xeon CPU)上使用不同的延遲限制條件展示了所訓練的 OFA 網絡的有效性。

在 ImageNet 上訓練 OFA 網絡

研究者訓練了一個支持彈性深度(每個階段中塊數量可以為 2、3 或 4)、彈性寬度(每個塊的擴展比可以為 4、5 或 6)和彈性核大小(每個深度可分的卷積層的核大小可以為 3、5 或 7)。因此,對於 5 個階段,有大約 ((3 × 3)^2 + (3 × 3)^3 + (3 × 3)^4)^5 ≈ 2 × 10^19 個子網絡。此外,輸入圖像尺寸也是彈性的,以步幅 4,從 128 到 224 不等。

訓練過程使用了標準的隨機梯度下降(SGD)優化器,Nesterov 動量為 0.9,權重衰減為 4e-5。初始學習率為 0.4,學習率衰減使用了餘弦調度(cosine schedule)。獨立模型以 2048 的批大小在 32 個 GPU 上訓練了 150 epoch。OFA 網絡的訓練使用了同樣的訓練設置,但訓練成本更高(大約 8 倍),在 V100 GPU 上訓練了大約 1200 GPU 小時。

結果

表 2:在三星 Note8 上與當前最佳的硬體感知型 NAS 方法的比較。OFA 的模型訓練與架構搜索是分離的。隨著部署場景數量的增長(在實驗中 N=40),搜索成本和訓練成本都保持不變。#25 表示從 OFA 網絡抓取權重後微調了 25 epoch 的專用子網絡。

表 3:在三星 Note8 上,不同延遲限制條件下的 ImageNet 準確度結果。

論文鏈接:https://arxiv.org/pdf/1908.09791.pdf

本文為機器之心編譯,轉載請聯繫本公眾號獲得授權。

------------------------------------------------

獲得更多的PTT最新消息
按讚加入粉絲團