
【 圖檔來源:Arm Community 所有者:Arm Community 】
雷鋒網按:Arm 社群近期發表文章,深入地介紹了一個機器學習處理器(Machine Learning Processor),據了解,這個處理器能夠在邊緣裝置上加速計算過程;這是 Arm 第一次專門推出類似于 NPU 的 AI 專用處理器。雷鋒網将全文編譯如下。
想一下,你有多少個互聯裝置?
無論你是一個電子産品成瘾者,還是隻是一個普通電子産品擁有者,你現在擁有的電子産品很有可能會比五年前的多。從智能手機、平闆電腦到個人健康追蹤器、智能哮喘吸入器和智能門鈴,我們年複一年都忙着加強互聯互通,這讓個人資料呈現爆炸式增長。根據最近的一份報告,在近十年裡,全球人均聯網裝置的數量不足 2 台,到 2020 年,這個資料将躍升至 6.58 ——大量的裝置制造了大量的資料。
一直以來,這些資料會發送到雲端進行處理;但随着資料和裝置的數量呈指數型增長,要想不斷地來回移動資料都不太實際,更不用說安全和成本效益。幸運的是,機器學習(Machine Learning,以下簡稱 ML)的最新進展意味着現在比以往任何時候可以在裝置上完成更多的處理和預處理。這帶來了一些好處,資料洩露的風險降低進而提高了安全性,節約了成本和電力。将資料在雲端和裝置之間來回傳輸的基礎設施并不便宜,是以在裝置上可以完成的處理越多越好。
性能曲線上的功率和效率
裝置上的機器學習是從 CPU 開始的, CPU 充當一個熟練的“流量控制器”,要麼單獨管理整個機器學習工作量,要麼将標明的任務配置設定給特定的機器學習處理器。
Arm CPU 和 GPU 已經跨過性能曲線,為成千上萬的 ML 用例提供動力,尤其是在移動端,邊緣機器學習已經驅動了消費者所期望的标準特性。
随着這些處理器變得越來越強大,越來越高效,它們能夠驅動更高的性能,進而為邊緣的安全 ML 提供更多的裝置上計算能力。(例如,可以在不影響電池壽命的情況下,管理計算密集型任務的第三代 DynamIQ 大核心 Arm Cortex-A77 CPU,以及為 ML 提供了 60% 的性能改進的 Arm Mali-G77 GPU。)
但是,盡管 CPU 和 GPU 本身就是 ML 的動力源,但是在最密集、最高效的性能需求下,它們自身可能很難滿足這個需求。在這些任務中,專用神經處理單元( NPU )的強大功能 (如 Arm ML 處理器)将派上用場,為邊緣的 ML 推理提供最高的吞吐量和最高效的處理。
在性能和功耗之間做平衡
是什麼讓 ML 處理器變得如此特别?
它的特别之處在于,它以全新的體系結構為基礎,以連接配接裝置為目标,例如智能手機,智能相機,增強現實與虛拟現實裝置(AR/VR)、無人機,還有醫療電子和消費電子産品。它的運算性能多達 4 TOP/s,進而能夠啟動以前由于電池壽命或熱量限制而無法實作的新用例——這讓開發人員能夠建立出新的使用者體驗,比如說 3D 人臉解鎖,或是具有深度控制或人像照明功能的進階人像模式等。
當然,性能優越是件好事。但是,如果它需要你每隔幾個小時就得給你的裝置充電,或者到哪都要帶着你的充電寶,這就沒那麼好了。為了将使用者從充電電纜的“暴政”中解放出來,這個 ML 處理器擁有業界領先 5TOPs/W 的電源效率,這是通過最先進的優化(例如重量壓縮、活化壓縮,Winograd )來實作的。
Winograd 使關鍵卷積濾波器的性能比其他 NPU 高出 225% ,占用的空間更小,還能在減少任何給定設計所需元件數量的同時提高效率。這進而降低了成本和電力需求,同時又不影響使用者體驗。
該體系結構由固定函數引擎和可程式設計層引擎組成,前者用于高效執行卷積層,後者用于執行非卷積層和實作標明的原語和運算符。這些本地支援的功能與常見的神經架構緊密結合,減少了網絡部署成本,進而加快了上市時間。
我們再來看一下這款處理器的參數:
效能:CPUs, GPUs, DSPs 提供巨大提升力,多達 5 TOPs/W 的加速器;
網絡支援:處理各種流行的神經網絡,包括卷積層(CNNs)和遞歸(RNNs),用于分類、物體探測、圖像增強、語音識别以及自然語言了解;
安全性:使用 Arm TrustZone 體系結構的基礎,以最小攻擊面執行;
可擴充性:通過多核擴充,單個叢集中最多有 8 個 NPUs 和 32 個 TOPs,網格配置中最多有 64 個NPUs;
神經架構支援:與現有架構緊密內建:TensorFlow , TensorFlow Lite , Caffe , Caffe 2 以及其他通過 ONNX 實作的架構;
Winograd 卷積:與其他 NPUs 相比,普通過濾器的速度提高了 225%,能夠在更小的區域内獲得更高的性能;
記憶體壓縮:通過各種壓縮技術,将系統記憶體帶寬最小化;
異構 ML 計算:優化使用 Arm Cortex-A CPUs 和 Arm Mali GPUs;
開源軟體功能:通過 Arm NN 的支援去減少成本和避免鎖定;
面向開發人員和未來
為了讓開發人員輕松一些,這個 ML 處理器有一個內建的網絡控制單元和 DMA(Direct Memory Access,直接記憶體存取),這個 DMA 能夠管理整個網絡的執行和周遊,還能在背景将資料移入和移出主記憶體。
同時,闆載存儲器允許中央存儲權重和特征圖,減少了外部儲存器的通信,延長了電池的壽命,這是對消費者所期望的标準使用者體驗的又一次認可。
至關重要的是,這個 ML 處理器足夠靈活,可以支援具有更高需求的用例,運作更多且更大的并發特性:在單個叢集中可配置 8 個核心,達到 32 TOP/s 的性能;或是在網格配置中達到 64 NPUs。
最終,這個 ML 處理器增強了性能,提高了效率,減少了網絡部署成本,并且,通過固定功能和可程式設計引擎的緊密耦合,讓固件随着新功能的開發而更新,進而使得這個設計不會過時。
總而言之,通過能力、效率、靈活性三者的結合,這個 ML 處理器在邊緣定義了 ML 推理的未來,讓開發者在建立今天最佳使用者體驗的同時,滿足未來的用例需求。
雷鋒網注:本文編譯自 Arm Community,雷鋒網(公衆号:雷鋒網)編譯。
雷鋒網版權文章,未經授權禁止轉載。詳情見轉載須知。