來源:ST社區
開發者和系統設計人員在為其嵌入式設計增加某種形式的神經網絡或深度學習功能時,有多個選擇。以前,甚至是現在,設計人員成功地使用GPU和FGPA來滿足了深度學習的內存密集型需求。現在,即便是傳統的x86 CPU也已經進入了AI應用。
許多開發者發現現有的這些技術并不總是最合適的。因此,在過去幾年中,許多初創公司(以及成熟的芯片開發商)開始專注于為AI應用設計和開發芯片。這些芯片是從頭開始構建的,可以滿足AI算法和運行應用的算力需求。
要知道,對SoC來說,IP模塊是提供神經網絡功能的另一種選擇,但這是另一個話題了。在IP模塊方面,主要供應商包括Cadence、Ceva、NXP、Synopsys和VeriSilicon等。
但與所有技術一樣,每種解決方案都有其優缺點。總而言之,設計人員需要根據自己特定的應用來選擇最佳的技術。AI芯片通常分為三個關鍵應用領域:云端訓練、云端推理和邊緣推理。
訓練方面的大拿是Nvidia的GPU,它已經成為訓練機器學習算法的熱門選擇。訓練過程要分析數萬億個數據樣本,GPU的并行計算架構在這方面是一大優勢。
云端推理可以構建許多AI應用的機器學習模型,這些任務需要密集的計算而無法部署在邊緣設備上。FPGA類的處理器具有低延遲特點,并可執行計算密集型任務,在這些應用方面具有優勢。但并非所有AI計算任務都可以在云端完成,無論成熟公司還是初創公司,很多芯片開發商都在開發自己的AI芯片,并為其處理器添加AI功能。
AI Processor Options: benefits and trade-Offs: AI處理器選擇:優勢和不足
CPUs: CPU
Universal availability in the cloud: 云端通用性好
Flexible across deep learning inference and all other cloud workloads: 深度學習推理與所有其他云端工作負載能連接靈活
Great software tools: 成熟的軟件工具
Limitation: Not high enough performance for training: 不足:訓練性能不高
GPUs: GPU
Very high performance on both deep learning inference and training: 深度學習訓練和推理都表現出色
Wide availability in the cloud: 在云端適用性廣
Flexible across deep learning and some other high-performance computing workloads: 深度學習與一些高性能計算負載連接靈活
Great software tools: 成熟的軟件工具
Limitation: high power, high cost: 不足:功耗高,成本高
FPGAs: FPGA
High performance on deep learning inference and a few other DSP workloads: 在深度學習推理和一些DSP工作負載中性能優異
Some availability in the cloud: 可用于云端一些應用
Energy efficient: 能效高
Limitation: less mature software, not suited for training: 不足:缺少成熟的軟件,不適合訓練
AI Chips: AI芯片
Very high performance on deep learning inference and training (depending on chip) : 在深度學習訓練和推理方面性能很高(取決于芯片)
Usually very energy efficient and cost effective: 通常能效高,成本低
Limitation: Only very early availability especially in cloud; software usually less mature; often applicable only to deep learning tasks: 不足:還處于早期階段,特別是在云端;軟件不成熟;通常只適用于深度學習任務
那么設計師在將腳踏入AI深水之前首先需要回答哪些問題?我與硅谷創業家兼技術專家Chris Rowen進行了交談。做為BabbleLabs公司和Cognite Ventures的首席執行官,他列出了以下問題。
問題一:了解你的最終應用需求
對于任何設計,第一個問題應該都是:你的應用需求是什么?接下來是“我有一個需要完成的具體任務嗎?”,有時這很清楚。Rowen表示, “如果我是一名系統設計師,要開發一個安全攝像頭,我會非常關心芯片對視頻流交叉部分的處理,包括對象檢測、對象識別、對象跟蹤等,清楚知道少數幾個與最終應用特別相關的任務。”
下一個問題是,應用是在云端還是在邊緣設備中運行。這將決定工程師需要考慮設計的方向和選擇什么樣的芯片。
“最終應用顯然很重要,” Rowen說道。“如果在云端運行,問題將是,‘它是用于訓練神經網絡,還是在一個已經訓練過的網絡上僅用于推理?’。如果它在邊緣運行,那么想要運行的特定應用集是什么?”
Rowen表示,大多數新的芯片都是為邊緣視覺應用而設計的,這些芯片主要針對推理應用,以各種不同的形式進行成像或視頻分析。音頻,尤其是語音處理是越來越重要且快速增長的一個子類別。
所以,首先要確定是在云端還是邊緣。若在云端,是訓練還是推理?若在邊緣,它是通用的(應用不確定)還是視覺處理,或其他專門的應用(比如語音處理)?
問題二:軟件支持
軟件工具也有助于區分不同的芯片。“如果它是一個訓練芯片,它是否支持各種訓練環境,包括TensorFlow、PyTorch和其它框架,因為應用和軟件開發團隊會使用許多重要的訓練環境,”Rowen說道。他認為Nvidia是當今訓練芯片的黃金標準和主導供應商。
“在推理方面,你怎么才能更好地將預先訓練好的模型與芯片自身的特性一一對應。如果有像神經網絡交換格式(NNEF)這樣的標準,這個問題就很容易回答了。“NNEF是Khronos Group推廣的一個標準,可以更容易地標準化映射工具。
“通常情況下,相對于將應用映射到其他新的處理引擎所涉及到的軟件,這些神經網絡的復雜性并不算高,”Rowen解釋道。 “即使這些工具并不完美,人們通常也可以找到一種方法,使用不太復雜的工具將現有神經網絡映射到視覺芯片、音頻芯片,或者其它邊緣處理芯片。”
無論軟件是不是最關鍵的,設計人員都應該考慮硬件的價格、性能和功耗,這就帶來了下一個問題。
問題三:內存要求
任何芯片選擇都有一個長期存在的問題,那就是成本和性能。對于神經網絡,這個問題就是芯片采用什么片上存儲器,以及可以提供多大的存儲器帶寬?
“有些神經網絡非常耗費內存,”Rowen說。 “當然,通常在云端進行的訓練過程是內存密集型的,需要大量的片上內存和非常高的內存帶寬。”
他補充說,視目標應用不同,推理過程通常占用的內存較少,可能也不需要太高的片外帶寬。
這就帶來了一個問題。區分一個芯片是通用,還是針對特定應用的一個指標,就是芯片設計人員是否集成了大量片上存儲資源和片外存儲器帶寬。但是,如果設計人員不知道他們的目標應用是什么,可能就會在內存帶寬方面過度配置,這就會大幅增加芯片成本。
“過度配置將增加成本,因此通用芯片幾乎總是比專用芯片更昂貴,因為他們必須確保可以滿足各種需求,”Rowen說。利弊權衡包括成本、功耗和物理尺寸等。
Rowen認為,如果設計人員可以稍微縮小需求范圍,以便降低一些成本和功耗,系統級的性能可能會有大幅提升。“通用和專用[芯片]之間的差異可能高達一個數量級。”
問題四:性能------延遲與吞吐量
性能的最終定義是芯片可以多快地運行神經網絡應用,這里的兩個相關指標是吞吐量和延遲,要明確系統優化是針對增加吞吐量,還是針對減少延遲。
Rowen表示,在云端,重點通常是吞吐量,而延遲往往在實時邊緣系統中非常重要。例如,如果你在為自動駕駛應用開發一款芯片,延遲更為重要,而且是一個關鍵的安全問題,他補充道。
“幸運的是,對于很多神經網絡應用來說,所能達到的性能與芯片的乘積運算速度之間存在很強的相關性,”Rowen解釋道。 “計算資源的利用率有一些變化,但在最簡單的水平上,只要問‘在給定精度下每秒乘積-累加多少次’或‘每瓦多少次乘積-累加’,就可以大致知道該芯片的性能。”
一般來說,現在GPU是云端神經網絡訓練的主導力量,而普通x86處理器是云端推理的最常見平臺,因為它在單個芯片上可以靈活地運行包括深度學習和傳統軟件在內的完整應用,Rowen表示。
在大多數情況下,邊緣沒有太多的訓練工作要做。它主要針對視頻或音頻等特定用例進行推理。
Rowen為我們提供了一個粗略的評估,按照應用來劃分芯片(來自初創公司和成熟企業)。 “有一種趨勢是,針對云端的芯片更具通用性,而針對邊緣的芯片更為專用。”
以下是一些AI增強型芯片和平臺的簡要介紹,展示了目前市場上從移動端到企業級應用的各種神經網絡解決方案:
Gyrfalcon Lightspeeur AI芯片:
這是初創企業Gyrfalcon技術公司推出的超低功耗和高性能AI芯片。Lightspeeur 2801S智能矩陣處理器基于APiM架構,使用內存作為其AI處理單元。該公司宣稱,“這個基于APiM架構的方案,有28000個并行神經計算核,真正支持片上并行與原位計算,不需要使用外部存儲單元,成功克服了由存儲器帶寬而導致的性能瓶頸,在效率能耗比方面表現卓越,達到 9.3Tops/Watt,無論在訓練模式還是推理模式下均可提供高密度計算性能。”
該公司聲稱其算術邏輯單元(ALU)的使用效率為77%,運行卷積神經網絡(CNN)效率會更高。
Gyrfalcon提供交鑰匙(Turnkey)參考設計,包括USB加密狗、多芯片線路板和系統開發套件。其目標應用包括移動邊緣計算、基于AI的IoT,消費類便攜設備、智能監控視頻、AR/VR產品、人臉檢測/識別、自然語言處理、支持深度學習的設備、AI數據中心服務器,以及自動駕駛等。
華為麒麟970:
這是華為消費業務事業部的首個移動AI計算平臺,采用專用神經處理單元(NPU),可將云端AI與本機AI處理有機結合。麒麟970包括一個八核CPU和新一代12核GPU。
“與四核Cortex-A73 CPU集群相比,麒麟970新的異構計算架構可實現高達25倍的性能提升,以及50倍的效率提高,”華為表示。這意味著該芯片組以更低的功耗,更快地提供相同的AI計算任務。基準圖像識別測試表明,麒麟970每分鐘可處理2,000張圖像。
除了在自己的手機中使用新的AI芯片組外,華為還將移動AI定位為開放平臺,為開發人員和合作伙伴提供技術。
英特爾Nervana神經網絡處理器(NPP):
英特爾Nervana NNP專為深度學習而設計,沒有標準的緩存層次結構,其片上存儲器由軟件管理。 “更好的內存管理使該芯片能夠實現海量計算的高利用率,”英特爾宣稱。 “這可以為深度學習模型提供更快的訓練時間。”
除了新的存儲器架構外,英特爾還開發了一種新的數字格式Flexpoint,它可以顯著提高芯片的并行度,同時降低每次計算的功耗。英特爾表示,由于單個芯片的神經網絡計算主要受功耗和內存帶寬的限制,因此Flexpoint可為神經網絡任務提供更高的吞吐量。英特爾這一新設計的目標是“獲得高計算利用率并支持多芯片互連的真實模型并行性”。
英特爾Movidius VPU:
英特爾正在與微軟合作,將微軟Windows ML與英特爾的Movidius視覺處理單元(VPU)相結合來推動邊緣AI推理。英特爾Movidius Myriad X VPU是一款專門用于加速邊緣AI應用的芯片,它聲稱是業界首款具有專用神經計算引擎的系統級芯片解決方案,可用于邊緣深度學習推理的硬件加速。 “這款第三代VPU可以高速和低功耗運行深度神經網絡,以減輕其它硬件的特定AI處理負擔,”英特爾表示。
英特爾還會針對通用機器學習和推理繼續優化其Xeon可擴展處理器和數據中心加速器。
聯發科技NeuroPilot AI平臺:
NeuroPilot平臺專為AI邊緣計算而設計,可提供一系列的硬件和軟件、AI處理單元和NeuroPilot軟件開發套件(SDK)。它所支持的主流AI框架包括Google TensorFlow、Caffe、Amazon MXNet和Sony NNabla,并且在操作系統方面支持Android和Linux。
聯發科技表示,該平臺“使AI更接近芯片組級別,適用于邊緣計算設備,即深度學習和智能決策需要更快完成的場景”,開創了一個從邊緣到云端的AI計算方案混合體。
Nvidia Tesla V100 GPU:
與上一代產品相比,Nvidia的深度學習計算平臺性能提升了10倍。全新的NVIDIA Tesla V100還將內存提升了一倍(到32 GB內存),以處理內存密集型的深度學習和高性能計算任務,此外還添加了一個名為NVIDIA NVSwitch的全新GPU互連結構。該公司表示,這可以使多達16個Tesla V100 GPU同時以每秒2.4太字節(TB)的速度進行通信,Nvidia還更新了軟件堆棧。 Tesla V100 32GB GPU適用于整個NVIDIA DGX系統產品家族。
NPX面向邊緣處理的機器學習(ML)環境:
為證明利用現有的CPU可以在邊緣運行機器學習模型,NXP半導體公司推出了嵌入式AI環境,可讓設計人員基于NXP的產品系列部署機器學習,從低成本微控制器到i.MX RT處理器,直到高性能應用處理器。NXP表示,ML環境提供了簡便的交鑰匙方案,可讓設計人員選擇正確的執行引擎(Arm Cortex內核或高性能GPU/DSP)和工具,以便在其上部署機器學習模型(包括神經網絡)。
此外,NXP還表示,該環境包括一些免費軟件,允許用戶導入他們自己訓練過的TensorFlow或Caffe模型,將它們轉換為優化的推理引擎,并將它們部署在NXP從低成本的MCU到i.MX,以及Layerscape處理器解決方案上。
“在嵌入式應用中實施機器學習,一切都要平衡成本和最終用戶體驗,”恩智浦AI技術負責人Markus Levy在一份聲明中表示。 “例如,許多人仍然感到驚訝,即使在低成本MCU上,他們也可以部署具有足夠性能的推理引擎。另一方面,我們的高性能混合交叉和應用處理器具有足夠的處理資源,可在許多客戶應用中運行快速推理和訓練。隨著AI應用的擴大,我們將繼續通過下一代專用機器學習加速器來推動這一領域的增長。”
NXP的EdgeScale套件提供了一套基于云的工具和服務,用于物聯網和邊緣計算設備的安全制造與注冊。該解決方案為開發人員提供了一套安全機制,供他們在應用中利用主流的云計算框架,遠程部署和管理無限數量的邊緣設備。NXP的合作伙伴生態系統還包括ML工具、推理引擎,解決方案和設計服務等。
審核編輯 黃昊宇
-
芯片
+關注
關注
453文章
50406瀏覽量
421833 -
AI
+關注
關注
87文章
30146瀏覽量
268418
發布評論請先 登錄
相關推薦
評論