Arm第一代AI處理器不怎麼樣,為何各方都很忌憚_風聞
大太阳黑子-2018-08-26 11:55
在過去的幾年中,多家芯片初創公司一直致力於尋找新的方法來有效地訓練和執行神經網絡,但是否值得為每一個創意而重造輪子,這是值得商榷的。 在本週舉行的、一年一度的Hot Chips會議上,移動芯片IP供應商Arm也展示了他們的第一代機器學習處理器,在今年晚些時候,合作伙伴也則可以用上這些IP。 這個最先被名為“Trillium”的架構由一些熟悉的元素與Arm邏輯核心捆綁在一起,對於那些對Nvidia Volta GPU提供的TensorCore、深鑑提供的壓縮技術、擁有可編程特性的FPGA和低功耗的DSP感興趣的人來説,這可能意味着很多。換句話説,Arm可能剛剛“拼湊”出了世界上最好的AI處理器,對於那些芯片製造商來説,這可能會是很大的麻煩。 正如Arm的技術總監兼傑出工程師Ian Bratt本週在Hot Chips上告訴我們的那樣,作為首次涉足AI處理器初哥,Arm的設計目的是儘可能拓寬產品的應用範圍,以便能夠滿足服務器端AI的市場需求,同時也可以為汽車和物聯網這些小型設備提供服務。 “在第一代機器學習處理器的開發過程中,我們走了一些彎路,那就是我們將舊框架帶入了一個新問題。我們可以看到GPU,CPU和DSP如何被用於機器學習,但我們開始看到我們如何能夠更明顯地利用每一項技術。” 如下所示,Arm的機器學習架構並沒有什麼特別之處,但值得注意的是他們從硬件,壓縮和編譯器中最成功的創新中汲取的東西。 構建塊是計算引擎,每個(總共16個)是64 KB的SRAM片。MAC引擎(與Nvidia的TensorCore不同)是執行卷積的地方,可編程層引擎處理層之間的大部分必要的混排(shuffling)。該架構具有DMA引擎,用於與外部存儲器接口通信。Arm自己的Cortex技術則充當控制引擎。 Bratt通過對神經網絡處理器芯片中最重要的內容的理解來打破各種架構特徵。保持這些設備包括靜態調度功能,高效卷積,帶寬減少機制以及可編程性和靈活性在內的的多個“面向未來”的關鍵特性。 我們可能很容易忽略第一個元素——靜態調度的價值 - 但正如Bratt所解釋的那樣,這是芯片整體性能和效率的關鍵部分。 在推理期間,存儲器訪問模式是完全靜態可分析的,並且可以容易地理解和映射,但是許多設備沒有利用這一點。CPU具有複雜的高速緩存層次結構,用於圍繞非確定性存儲器訪問進行優化。但對於確定性神經網絡,它可以提前將所有內容放在內存中,然後編譯器可以獲取神經元併為不同的組件創建命令流(由Arm控制處理器編排)並命中(hit)寄存器以控制這些組件。這個問題的簡短答案是不需要緩存。另一個隱藏的效率是流量控制被大大簡化,意味着更少的能量消耗和更可預測的性能。 處理卷積的效率更高。下圖的SRAM突出顯示了編譯器為輸入要素圖和壓縮模型權重分配一部分資源的方式。每個計算引擎都將使用跨計算引擎交叉的不同特徵映射。 Arm的MAC引擎可以做8個16×16點(dot )的產品。我們之前已經討論了為什麼這很重要,但是在這些操作中有很多zeroes可以在MAC引擎中檢測和調整以避免消耗功耗。 Arm還具有所謂的可編程層引擎,它使用Cortex CPU技術來支持非卷積運算符以及向量和神經網絡擴展。 使用機器學習處理器特徵映射壓縮技術可以獲得更高的效率,這些技術聽起來類似於DeePhi為CNN壓縮所做的工作。 Bratt表示,Arm的機器學習業務部門擁有150名員工,隨着機器學習需求的不斷增長,這一數字也在不斷增長,而他們也正在將其整合到現有的工作流程和設置中。他説,這樣做的目標是讓這項工作跨越一系列細分市場。他表示,為用户提供一個擁有所有所需功能的通用平台並不簡單。 消除高速緩存,改善壓縮,使用混合精度算法,並將精簡的SRAM片上的計算結合在一起並將其移植到密集點(dot)產品引擎上,這些操作都使得Arm的IP在市場上引人側目,並且可以針對關鍵工作負載進一步細化。 與某些AI特定處理器相比,增加高帶寬內存(或HMC)可能使其更容易被識別( recognizable ),但是被授權者可以更好地瞭解它在系統中如何協同工作。Arm工程師真正從生態系統中汲取了最佳的AI處理器技術,並與開源軟件掛鈎,吸引客户的興趣。 上面的直方圖顯示了Inception V3上的8X8塊,突出了無損壓縮結果。採用零/非零濾波方法,顯著減少了神經網絡的大小。weight compression結果保留在內部SRAM中,並且修剪技術也保持在那裏直到被需要。 Arm正在人家智能市場露出其獠牙