Google 推出 EfficientNet-EdgeTPU 演算法,加快 AI 邊緣裝置效能

作者 | 發布日期 2019 年 08 月 12 日 7:45 | 分類 AI 人工智慧 , Google follow us in feedly


EfficientNet-EdgeTPU 是針對 Coral Dev Board、Tinker Edge T 等搭載 Edge TPU 張量處理器進行最佳化的演算法,能提升神經網路運算效能達 10 倍,對運算能量有限的邊緣裝置來說,是相當重要的突破,並能帶來更多應用可能性。

透過 AI 彌補摩爾定律放緩

摩爾定律(Moore’s law)由 Intel 創始人之一戈登‧摩爾提出,他預測每隔兩年積體電路可容納的電晶體數目會增加 1 倍,過去數十年,電腦發展都相當契合這條定律。

Google 在官方 AI 研究部落格提到,在半導體製程越來越精進之後,要進一步縮小電晶體的尺寸比以往更困難,因此資訊產業便逐漸將開發焦點轉移到硬體加速等特殊應用領域,以持續推動產業發展。

這個現象也發生在 AI、機器學習領域,許多研發單位都在致力打造神經網路(Neural Network,NN)的加速運算單元,但是諷刺的是,即便應用於資料中心或邊緣裝置的神經運算裝置越來越普遍,但卻很少為這些硬體最佳化設計的演算法。

為了解決這個問題,Google 發表了 EfficientNet-EdgeTPU 影像分類演算模型,顧名思義可猜到它以 Google 自家開源 EfficientNets 模型為基礎,並針對 Edge TPU 最佳化,以利提升邊緣裝置在 AI 運算的效能表現。

▲ 摩爾定律至今仍準確描述半導體產業發展。(Source:Wgsimon [CC BY-SA 3.0], via Wikimedia Commons

▲ Coral Dev Board 藉由 Edge TPU 強化 AI 運算效能。

▲ Asus 推出的 Tinker Edge T 開發板也搭載 Edge TPU。

針對 Edge TPU 最佳化

為了將 EfficientNets 最佳化,Google 的研發團隊使用 AutoML MNAS 框架,並針對 Edge TPU 的特性調整神經網路的搜尋空間(Search Space),同時也整合延遲預測模組,以利預估 Edge TPU 的運算延遲。

執行運算時,EfficientNets 主要採用深度可分離捲積(Depthwise-Separable Convolutions),雖然可以降低運算量,但並不適合 Edge TPU 的架構,因此 EfficientNet-EdgeTPU 改採一般常規捲積,雖然會讓運算量增加,但還是有較好的整體運算效能。

實際驗證的測試中,EfficientNet-EdgeTPU-S 代表基本模型,而 -M 和 -L 模型則代先採用複合縮放將原始圖像調整為最佳解析度,以更大、更準確的模型判讀,犧牲延遲換取更高準確度。結果報告顯示,無論使用哪款模型,效能與準確度都有出色表現,效能大幅領先 ResNet-50,準確度也遠高於 MobileNet V2。

▲ EfficientNet-EdgeTPU 採用最佳化的 AutoML 運算流程。(Source:Google AI Blog

▲ 常規的 3×3 捲積(右)具 173M 個乘積累加運算,而深度可分離捲積則只有 24M 個乘積累加運算,但是 Edge TPU 在常規捲積卻有約 3 倍的整體效能。(Source:Google AI Blog

▲ EfficientNet-EdgeTPU-S/M/L 模型有高度效率與準確度,效能甚至比 ResNet-50 快 10 倍。(Source:Google AI Blog

Edge TPU 原本就是電力效率相當好的運算單元,在 EfficientNet-EdgeTPU 的加持下,甚至可以完成原本需要更高階電腦才能負荷的即時影像辨識、分類,讓邊緣運算有更多可能性。

(本文由 T客邦 授權轉載;首圖來源:shutterstock)