自從投身智能硬件以來,又開始重新關(guān)注嵌入式領(lǐng)域的相關(guān)技術(shù),。這是“2018嵌入式處理器報告: 神經(jīng)網(wǎng)絡(luò)加速器的興起”(http://www./processing/2018-embedded-processor-report-rise-of-the-neural-network-accelerator,,作者 BRANDON LEWIS) 的短譯文。 人工智能和機器學習(ML)的應(yīng)用是嵌入式處理器的下一個巨大市場機遇,。 然而, 傳統(tǒng)的處理解決方案并不是為了計算神經(jīng)網(wǎng)絡(luò)的工作負載, 而這些工作負荷是許多應(yīng)用動力基礎(chǔ), 因此需要新的架構(gòu)來滿足不斷增長的智能需求,。 隨著數(shù)以十億計的連接傳感器節(jié)點被部署在物聯(lián)網(wǎng)上, 有一件事已經(jīng)變得清晰起來: 自動化無處不在,。 考慮到物聯(lián)網(wǎng)系統(tǒng)的天然特點, 許多物聯(lián)網(wǎng)系統(tǒng)具有重要的經(jīng)濟、生產(chǎn)力和安全意義, 這種需求超越了簡單規(guī)則引擎或程序設(shè)計閾值的使用,。 從而, 業(yè)界已經(jīng)轉(zhuǎn)向人工智能和機器學習。 如今的許多人工智能和機器學習應(yīng)用都依賴于人工神經(jīng)網(wǎng)絡(luò), 人工神經(jīng)網(wǎng)絡(luò)是一系列算法,,這些算法對不同層面的數(shù)據(jù)集來定義特性,,進而組織成一系列結(jié)構(gòu)化層次。 這些網(wǎng)絡(luò)最初是建立在高性能計算平臺上的, 這些平臺使算法根據(jù)特定的參數(shù)做出決策或預(yù)測,。 然后對該算法進行優(yōu)化, 并將其移植到嵌入的目標中, 并根據(jù)在該領(lǐng)域收到的輸入數(shù)據(jù)進行推理,。 不同的嵌入式處理解決方案根據(jù)具體應(yīng)用程序來執(zhí)行神經(jīng)網(wǎng)絡(luò)算法, 這給 AI 和 ML 開發(fā)者留下了一系列可供選擇項。 但是, 正如Linely Group的高級分析師,、"A Guide to Processors for Deep Learning"一書的合著者 Mike Demler 所說的那樣, 這些方案在權(quán)力,、性能和成本方面都有權(quán)衡。 他說,,"根本就沒有一種嵌入式的 AI 處理器,。神經(jīng)網(wǎng)絡(luò)引擎可能使用 cpu, dsp, gpu, 或者專門的深度學習加速器, 或者組合。" "趨勢肯定是引入 cpu,、 gpu 和 dsp 的加速器,, 原因是它們比其他通用核更具有多領(lǐng)域和低功耗應(yīng)用能力。 隨著標準的開放式深度學習框架的使用, 如 Caffe 和 TensorFlow 的增加, 以及像 GoogleNet 和 ResNet 這樣隨時可用的開源網(wǎng)絡(luò), IP 供應(yīng)商更容易設(shè)計專門用于運行各種神經(jīng)網(wǎng)絡(luò)層的硬件,。 這就是為什么許多加速器不斷增加越來越大的乘數(shù)累加器陣列, 因為神經(jīng)網(wǎng)絡(luò)中的大部分計算都是 MAC,。" 人工智能工作負載的新型架構(gòu) 對于神經(jīng)網(wǎng)絡(luò)工作負載的 IP 供應(yīng)商而言,一個主要側(cè)重點是靈活性, 這樣才能針對不斷變化的人工智能市場的需求,。 這方面的一個例子可以在 CEVA 最近發(fā)布的 NeuPro AI 處理器架構(gòu)中找到, 該架構(gòu)包括一個完全可編程的矢量處理單元(VPU) , 以及矩陣乘法和計算激活,、池、卷積和完全連接的神經(jīng)網(wǎng)絡(luò)層(圖1),。 圖1 處理神經(jīng)網(wǎng)絡(luò)工作負載的一個共同挑戰(zhàn)是對內(nèi)存進行大型數(shù)據(jù)集交換,。 為了克服這個問題, NeuPro 體系結(jié)構(gòu)采用了直接存儲控制器(DMA) , 以提高 DDR 帶寬的利用率。 其中一個更有趣的特性是能夠動態(tài)地調(diào)整解析精度, 以適應(yīng)各個網(wǎng)絡(luò)層的精確要求,。 根據(jù) CEVA 成像和計算機視覺產(chǎn)品營銷總監(jiān) Liran Bar 的說法, 這有助于最大限度地提高神經(jīng)網(wǎng)絡(luò)推理的準確性,。 "并不是所有的圖層都需要同樣的精度。 事實上, 許多商業(yè)神經(jīng)網(wǎng)絡(luò)需要16位分辨率來保持高精度, 但同時8位對于某些層來說已經(jīng)足夠了,"巴爾說,。 "NeuPro 提前確定每一個8位或16位層的精度, 以便充分靈活性,。 例如, 當使用 NP4000產(chǎn)品時, 允許在運行時動態(tài)選擇40008x8,204816x8或102416x16 MACs。" 在Imagination Technologies的 PowerVR Series2NX 中也有類似的功能, 這是一個神經(jīng)網(wǎng)絡(luò)加速器(NNA) , 其本地支持深度為4位,。 Powervr Series2NX 采用動態(tài)縮放到極端, 但是, 支持4-, 5-, 6-, 7-, 8-, 10-, 12-, 和16位分辨率的相同核心的更高精度(圖2),。 圖2 "人們可以把 NNA 架構(gòu)看作是張量處理管道,"Imagination Technologies 公司 Vision 和 AI 副總裁羅素 · 詹姆斯說。 "它有一個針對大張量(輸入數(shù)據(jù)和權(quán)重)快速卷積優(yōu)化了的神經(jīng)網(wǎng)絡(luò)計算引擎, 輔之以各種其他單元的表現(xiàn)元素和張量操作, 如激活,、匯集和規(guī)范化,。 該體系結(jié)構(gòu)還使用了一個優(yōu)化的數(shù)據(jù)庫, 可以將操作分組成傳遞, 從而最小化外部內(nèi)存訪問,。" 換格式的能力, 這使得異構(gòu)系統(tǒng)在神經(jīng)網(wǎng)絡(luò)處理中占據(jù)了先機。 Imagination Technologies提供了一個網(wǎng)絡(luò)開發(fā)工具包(NDK) , 用于評估核, 其中包含將神經(jīng)網(wǎng)絡(luò)映射到 NNA 的工具, 調(diào)整網(wǎng)絡(luò)模型, 以及轉(zhuǎn)換在諸如 Caffe 和 TensorFlow 等框架中開發(fā)的網(wǎng)絡(luò),。 神經(jīng)網(wǎng)絡(luò)處理: 全員參與 除了IP供應(yīng)商, 大型芯片制造商也繼續(xù)充分利用人工智能的工作負載,。 NVIDIA Tegra 和 Xavier SoCs 將 CPU、 GPU 和自主駕駛系統(tǒng)的自定義深度學習加速器結(jié)合在一起, 而高通公司則繼續(xù)在 Hexagon DSP 中構(gòu)建機器學習功能,。 就英特爾而言, 他們已經(jīng)進行了長達18個月的瘋狂采購, 收購了 Mobileye,、 Movidius 和神經(jīng)網(wǎng)絡(luò)技術(shù), 為各個市場開發(fā)神經(jīng)網(wǎng)絡(luò)技術(shù)。 甚至谷歌(Google)也創(chuàng)建了一個 TPU ,。 這些公司都采用了不同的方法來處理神經(jīng)網(wǎng)絡(luò)工作負載, 每個架構(gòu)處理的使用場景略有不同,。 當開發(fā)者涉及到人工智能的時候, 當然是選擇越多越好了。
|
|