上市時間:特殊硬體通常需要數年才能上市。為新開發的硬體加速器建立關聯的編譯器和系統軟體會進一步延長該過程。使用此類硬體的應用程式經常需要使用特殊的 API 並滿足許多特殊的約束(例如,將計算限制到特定大小),這會延長 AI 產品的上市時間。
成本:開發專用的 ASIC 處理器非常昂貴,將它們新增到現有系統中會產生額外的費用。
技術成熟度:與通用處理器不同,專用硬體的生產量要小得多;因此,其生產可用的技術通常比通用處理器落後幾代。例如,大多數 AI 加速器都基於 28 至 65nm CMOS 技術,其電晶體密度比最新的移動 CPU 或 GPU 低 10 倍以上。
速度:由於採用了舊技術,專用處理器的執行速度比通用處理器要慢得多。
生態系統:通用處理器具有完善的生態系統(除錯工具,最佳化工具,安全措施),這使得高質量應用程式的開發比使用特殊處理器要容易得多。
使用:由於上述所有原因,使用特殊處理器通常僅限於建立該處理器的公司及其很少的密切客戶。結果,為特殊處理器開發的 AI 應用程式僅可以被有限數量的裝置所採用。
需求 / 偏好級別:在此級別上,協同作用是在設計另一個元件時考慮一個元件的偏好或需求。一個例子是,主流處理器通常更喜歡具有某些計算模式(pattern)的程式碼。如果模型壓縮步驟可以考慮該首選項,則可以建立一個更可修改的方案,以使得編譯步驟有效地工作。
視角 / 內涵級別:在此級別上,協同作用是在處理其中一個元件的問題時採取另一個元件對該問題的視角或內涵。一個例子就是可組合性或模組化原則,這個原則在保持程式設計系統和編譯高效且可擴充套件方面一直髮揮著至關重要的作用。
方法論級別:在此級別上,協同作用是將兩個元件的方法論緊密整合在一起。例如,透過自動生成程式碼以啟用新的深度學習剪枝方案的編譯器框架,我們可以產生高達 180 倍的加速。
智慧手機本身具有超高的能量效率。智慧手機計算晶片是使用最先進的技術(例如 7nm,11nm 技術)構建的,並且是技術進步的關鍵驅動力,而 FPGA / ASIC 解決方案則基於 28nm 或 40nm 技術,而這些技術本身就不那麼節能。同樣,ARM(用於移動 CPU)和高通(Qualcomm)(用於移動 GPU)尤其擅長高效電路 / 系統設計。
雖然現有的移動編譯器框架對不同神經網路的支援有限(例如,不支援 RNN 或大規模 DNN),但我們的編譯器可以支援所有主要型別的神經網路,從而釋放了移動裝置的全部潛力。
由於基於軟體的解決方案具有高度的靈活性,因此我們的方法在不同的 DNN 基準上始終保持高效能。相反,可以清楚地看到,當前的 ASIC / FPGA 解決方案針對特定的 DNN 型別 / 大小進行了最佳化,因此缺乏通用性。具體而言,邊緣 TPU 針對小型 DNN 最佳化,而 Cambricon MLU-100 針對大型 DNN 最佳化。
[AAAI’2020] Xiaolong Ma, Fu-Ming Guo, Wei Niu, Xue Lin, Jian Tang, Kaisheng Ma, Bin Ren, and Yanzhi Wang, PCONV: The Missing but Desirable Sparsity in DNN Weight Pruning for Real-Time Execution on Mobile Device, The 34th AAAI Conference on Artificial Intelligence, February, 2020.
[ASPLOS’2020] Wei Niu, Xiaolong Ma, Sheng Lin, Shihao Wang, Xuehai Qian, Xue Lin, Yanzhi Wang, and Bin Ren, PatDNN: Achieving Real-Time DNN Execution on Mobile Devices with Pattern-based Weight Pruning, The 25th International Conference on Architectural Support for Programming Languages and Operating Systems, March, 2020.
[PLDI’2019] “Wootz: A Compiler-Based Framework for Fast CNN Pruning via Composability”, Hui Guan, Xipeng Shen, Seung-Hwan Lim, Programming Language Design and Implementation, Phoenix, AZ, USA, June, 2019.