谷歌發布EfficientNet-EdgeTPU,首次基於AutoML構建加速器優化模型
新智元報道
來源:Google AI
編輯:大明
【新智元導讀】谷歌發布EfficientNet-EdgeTPU,這是一個源於EfficientNet的定製化圖像分類模型,能夠通過Auto ML在谷歌Edge TPU上實現自定義運行,運行速度比ResNet-50快10倍,延時由53ms縮短至5ms。
過去幾十年來,計算機處理器通過減少每個晶元內部晶體管的尺寸,每兩年將其性能提高一倍。隨著壓縮晶體管尺寸變得越來越困難,業界正在重新關注開發特定領域的架構 - 例如硬體加速器 - 以繼續提高計算能力。
對於機器學習來說,這一點尤其重要,特別是構建用於神經網路(NN)加速的專用架構。具有諷刺意味的是,雖然這些架構在數據中心和邊緣計算平台上不斷湧現,但在其上運行的神經網路很少可以實現定製化,以更充分利用底層硬體。
昨日,谷歌宣布推出EfficientNet-EdgeTPU,這是一個源自EfficientNets的圖像分類模型系列,但是可以自定義在Google的 Edge TPU上運行,這是一種節能的硬體加速器,可供開發人員通過Coral Dev Board和USB加速器運行。通過這種模型定製,Edge TPU能夠提供實時圖像分類性能,同時能夠運行規模更大、計算量更多的模型,通常這類精度只能在數據中心才能實現。
用AutoML為Edge TPU構建定製化EfficientNets
EfficientNets已被證明可以在圖像分類任務中實現最先進的精度,同時可以顯著降低模型的規模和計算複雜度。為了構建能夠利用Edge TPU加速器架構的EfficientNets,我們調用了AutoML MNAS框架,並使用在Edge TPU上高效執行的構建塊擴充了原始EfficientNet的神經網路架構搜索空間。
我們還構建並集成了「延遲預測器」模塊,該模塊通過在周期精確的架構模擬器上運行模型,在邊緣TPU上執行時提供模型延遲的估計。AutoML MNAS控制器實現強化學習演算法以在嘗試最大化獎勵時搜索該空間,這是預測的等待時間和模型準確度的聯合函數。根據以往的經驗,我們知道當模型適合其片上存儲器時,Edge TPU的功率效率和性能趨於最大化。因此,我們還修改了獎勵函數,以便為滿足此約束的模型生成更高的獎勵。
用於設計定製EfficientNet-Edge TPU模型的總體AutoML流程
搜索空間設計
當執行上述架構搜索時,必須考慮EfficientNets主要依賴於深度可分離卷積,這是一種神經網路塊,它將常規卷積的因素減少以減少參數的數量以及計算量。但是,對於某些配置,常規卷積更有效地利用Edge TPU架構並且執行速度更快,儘管計算量更大。儘管手動製作使用不同構建塊的最佳組合的網路是可能的,儘管很乏味,但使用這些加速器最佳塊來增加AutoML搜索空間是一種更具可擴展性的方法。
常規3x3卷積(右)比深度可分卷積(左)具有更多計算力,但對於某些輸入/輸出形狀來說,在Edge TPU上執行速度更快,效率更高,硬體利用率提升了約3倍。
此外,從搜索空間中刪除需要修改Edge TPU編譯器以完全支持的某些操作,例如嗖嗖的非線性和擠壓和激勵塊,自然會導致模型很容易移植到Edge TPU硬體。這些操作傾向於略微提高模型質量,因此通過從搜索空間中消除它們,我們已經有效地指示AutoML發現可以補償任何潛在質量損失的替代網路架構。
模型性能表現:比ResNet-50快10倍
上述神經結構搜索(NAS)產生了一個基線模型EfficientNet-EdgeTPU-S,隨後使用EfficientNet的複合縮放方法對其進行放大,以生成-M和-L模型。複合縮放方法為輸入圖像解析度縮放、網路寬度和深度縮放的最佳組合,以構建更大、更準確的模型。-M和-L模型以增加的延遲為代價實現更高的準確性,具體表現如下圖所示。
EfficientNet-Edge TPU-S / M / L模型通過專門針對Edge TPU硬體的網路架構,實現了比現有EfficientNets(B1),ResNet和Inception更短的延遲和更高的準確性。尤其是EfficientNet-Edge TPU-S實現了更高的精度,運行速度比ResNet-50快10倍。
有趣的是,NAS生成的模型在網路的初始部分中非常廣泛地使用了常規卷積,其中深度可分離卷積在加速器上執行時往往不如常規卷積有效。這清楚地突出了這樣一個事實,即在優化通用CPU模型(如減少總操作數)時,進行權衡並不一定是硬體加速器的最佳選擇。而且,即使不使用複雜的操作,這些模型也可以實現高精度。與其他圖像分類模型(如Inception-resnet-v2和Resnet-50)相比,EfficientNet-EdgeTPU模型不僅更精確,而且在Edge TPU上運行速度更快。
這項研究使用AutoML構建加速器優化模型的第一個實驗。基於AutoML的模型定製不僅可以擴展到各種硬體加速器,還可以擴展到依賴神經網路的幾種不同應用。
從雲TPU的訓練到Edge TPU的部署
我們已經在github存儲庫上發布了EfficientNet-Edge TPU的訓練代碼和預訓練模型。我們使用tensorflow的訓練後量化工具將浮點訓練模型轉換為Edge TPU兼容整數量化模型。對於這些模型,訓練後的量化效果非常好,並且僅產生非常輕微的精度損失(不到0.5%)。
https://ai.googleblog.com/2019/08/efficientnet-edgetpu-creating.html
※剛剛!美國雲計算巨頭Salesforce與阿里巴巴達成戰略合作
※Reddit熱議!DeepMind最新研究解決災難性遺忘難題
TAG:新智元 |