天天看點

神經網絡加速器的興起

版權聲明:本文為半吊子子全棧工匠(wireless_com,同公衆号)原創文章,未經允許不得轉載。 https://blog.csdn.net/wireless_com/article/details/79286412

自從投身智能硬體以來,又開始重新關注嵌入式領域的相關技術。這是“2018嵌入式處理器報告: 神經網絡加速器的興起”(http://www.embedded-computing.com/processing/2018-embedded-processor-report-rise-of-the-neural-network-accelerator,作者 BRANDON LEWIS) 的短譯文。

人工智能和機器學習(ML)的應用是嵌入式處理器的下一個巨大市場機遇。 然而, 傳統的處了解決方案并不是為了計算神經網絡的工作負載, 而這些工作負荷是許多應用動力基礎, 是以需要新的架構來滿足不斷增長的智能需求。

随着數以十億計的連接配接傳感器節點被部署在物聯網上, 有一件事已經變得清晰起來: 自動化無處不在。 考慮到物聯網系統的天然特點, 許多物聯網系統具有重要的經濟、生産力和安全意義, 這種需求超越了簡單規則引擎或程式設計門檻值的使用。 進而, 業界已經轉向人工智能和機器學習。

如今的許多人工智能和機器學習應用都依賴于人工神經網絡, 人工神經網絡是一系列算法,這些算法對不同層面的資料集來定義特性,進而組織成一系列結構化層次。 這些網絡最初是建立在高性能計算平台上的, 這些平台使算法根據特定的參數做出決策或預測。 然後對該算法進行優化, 并将其移植到嵌入的目标中, 并根據在該領域收到的輸入資料進行推理。

不同的嵌入式處了解決方案根據具體應用程式來執行神經網絡算法, 這給 AI 和 ML 開發者留下了一系列可供選擇項。 但是, 正如Linely Group的進階分析師、"A Guide to Processors for Deep Learning"一書的合著者 Mike Demler 所說的那樣, 這些方案在權力、性能和成本方面都有權衡。

他說,"根本就沒有一種嵌入式的 AI 處理器。神經網絡引擎可能使用 cpu, dsp, gpu, 或者專門的深度學習加速器, 或者組合。"

"趨勢肯定是引入 cpu、 gpu 和 dsp 的加速器, 原因是它們比其他通用核更具有多領域和低功耗應用能力。 随着标準的開放式深度學習架構的使用, 如 Caffe 和 TensorFlow 的增加, 以及像 GoogleNet 和 ResNet 這樣随時可用的開源網絡, IP 供應商更容易設計專門用于運作各種神經網絡層的硬體。 這就是為什麼許多加速器不斷增加越來越大的乘數累加器陣列, 因為神經網絡中的大部分計算都是 MAC。"

人工智能工作負載的新型架構

對于神經網絡工作負載的 IP 供應商而言,一個主要側重點是靈活性, 這樣才能針對不斷變化的人工智能市場的需求。 這方面的一個例子可以在 CEVA 最近釋出的 NeuPro AI 處理器架構中找到, 該架構包括一個完全可程式設計的矢量處理單元(VPU) , 以及矩陣乘法和計算激活、池、卷積和完全連接配接的神經網絡層(圖1)。

圖1

處理神經網絡工作負載的一個共同挑戰是對記憶體進行大型資料集交換。 為了克服這個問題, NeuPro 體系結構采用了直接存儲控制器(DMA) , 以提高 DDR 帶寬的使用率。

其中一個更有趣的特性是能夠動态地調整解析精度, 以适應各個網絡層的精确要求。 根據 CEVA 成像和計算機視覺産品營銷總監 Liran Bar 的說法, 這有助于最大限度地提高神經網絡推理的準确性。

"并不是所有的圖層都需要同樣的精度。 事實上, 許多商業神經網絡需要16位分辨率來保持高精度, 但同時8位對于某些層來說已經足夠了,"巴爾說。 "NeuPro 提前确定每一個8位或16位層的精度, 以便充分靈活性。 例如, 當使用 NP4000産品時, 允許在運作時動态選擇40008x8,204816x8或102416x16 MACs。"

在Imagination Technologies的 PowerVR Series2NX 中也有類似的功能, 這是一個神經網絡加速器(NNA) , 其本地支援深度為4位。 Powervr Series2NX 采用動态縮放到極端, 但是, 支援4-, 5-, 6-, 7-, 8-, 10-, 12-, 和16位分辨率的相同核心的更高精度(圖2)。

圖2

"人們可以把 NNA 架構看作是張量處理管道,"Imagination Technologies 公司 Vision 和 AI 副總裁羅素 · 詹姆斯說。 "它有一個針對大張量(輸入資料和權重)快速卷積優化了的神經網絡計算引擎, 輔之以各種其他單元的表現元素和張量操作, 如激活、彙集和規範化。 該體系結構還使用了一個優化的資料庫, 可以将操作分組成傳遞, 進而最小化外部記憶體通路。"

換格式的能力, 這使得異構系統在神經網絡進行中占據了先機。 Imagination Technologies提供了一個網絡開發工具包(NDK) , 用于評估核, 其中包含将神經網絡映射到 NNA 的工具, 調整網絡模型, 以及轉換在諸如 Caffe 和 TensorFlow 等架構中開發的網絡。

神經網絡處理: 全員參與

除了IP供應商, 大型晶片制造商也繼續充分利用人工智能的工作負載。 NVIDIA Tegra 和 Xavier SoCs 将 CPU、 GPU 和自主駕駛系統的自定義深度學習加速器結合在一起, 而高通公司則繼續在 Hexagon DSP 中建構機器學習功能。 就英特爾而言, 他們已經進行了長達18個月的瘋狂采購, 收購了 Mobileye、 Movidius 和神經網絡技術, 為各個市場開發神經網絡技術。 甚至谷歌(Google)也建立了一個 TPU 。

這些公司都采用了不同的方法來處理神經網絡工作負載, 每個架構處理的使用場景略有不同。 當開發者涉及到人工智能的時候, 當然是選擇越多越好了。

繼續閱讀