什么是人工智能芯片?人們需要知道的一切
譯文【51CTO.com快譯】行業專家指出,許多智能設備和物聯網設備都是由某種形式的人工智能(AI)驅動的——無論是語音助理、面部識別攝像頭,還是電腦。這些設備需要采用某種技術為它們進行的數據處理提供支持。有些設備需要在云平臺的大型數據中心處理數據,而也有一些設備將通過本身的人工智能芯片進行處理。
那么什么是人工智能芯片?它與人們在智能設備中找到的其他芯片有何不同?以下將重點介紹人工智能芯片的重要性,用于不同應用的不同種類的人工智能芯片,以及在設備中使用人工智能芯片的好處。
一、為什么有些芯片不適用于人工智能
計算機技術在上世紀80年代開始興起。這種技術擴展是由CPU(中央處理器)實現的,它執行程序中指令指定的基本算術、邏輯、控制和輸入/輸出操作。CPU是計算機的大腦。而英特爾公司和AMD公司是全球CPU行業領域的行業巨頭。
當談到CPU的發展時,則必須提到ARM,其芯片架構始于上世紀80年代推出的計算機中,但是直到移動計算、智能手機和平板電腦興起之后才成為市場主導者。到2005年,98%的手機使用至少某種形式的ARM架構。而到2013年,全球生產了100億臺采用ARM芯片的手機,而全球目前近60%的移動設備中都有基于ARM的芯片。ARM成為人工智能芯片領域的重要組成部分。
在上世紀90年代,實時3D圖形在街機、計算機和游戲機中變得越來越普遍,這導致對硬件加速3D圖形的需求不斷增加。另一個硬件巨頭NVIDIA公司借助專用于計算機圖形和圖像處理的圖形處理單元(GPU)滿足了這一需求。NVIDIA公司最近宣布以400億美元收購ARM公司。
二、人工智能處理單元
在人工智能處理方面,雖然GPU的表現通常比CPU更好,但并不完美。業界需要專用處理器來實現人工智能應用程序、建模和推理的高效處理。因此,芯片設計人員現在正在努力創建針對執行這些算法而優化的處理單元。這些單元有很多名稱,例如NPU、TPU、DPU、SPU等,但是可以采用人工智能處理單元(AI PU)這個籠統的術語進行概述。
創建AI PU的目的是執行機器學習算法,通常是通過對預測模型(如人工神經網絡)進行操作。由于這些過程通常獨立執行,因此通常將它們分類為訓練或推理。
人們已經在現實世界中看到了一些應用程序:
- 監視系統或區域免受網絡攻擊的威脅,例如涉及實時面部識別的安全系統(IP攝像頭和門禁攝像頭等)。
- 與客戶互動的零售行業或企業聊天機器人。
- 語音助手的自然語言處理。
三、人工智能處理器與GPU
有人可能會詢問GPU是否已經能夠執行人工智能模型?實際上,GPU確實具有一些便于處理人工智能模型的屬性。
GPU可以處理2D甚至3D的圖形,因此需要同時并行處理多個功能字符串。人工智能神經網絡也需要并行處理,因為它們的節點分支很像動物大腦中的神經元。GPU在這方面做得很好。
但是,神經網絡需要卷積,而這正是GPU難以勝任的地方。簡而言之,GPU從根本上針對圖形而不是神經網絡進行優化,它們充其量只是替代品。
另一個需要考慮的重要因素是目前人工智能技術發展加快。世界各地的研究人員和計算機科學家正在不斷地以指數級的速度提高人工智能和機器學習的功能,而CPU和GPU的進步已經跟不上這些技術的發展。
根據摩爾定律,集成電路(IC)中的晶體管數量大約每兩年增加一倍。但是,摩爾定律正在逐漸消亡,已經無法跟上人工智能技術的發展步伐。
人工智能的加速最終將依賴于專門的人工智能加速器,例如AI PU。AI PU通常用于以下目的:
- 與GPU相比,將機器學習任務的計算速度提高了將近1萬倍。
- 低功耗,提高資源利用率。
四、AI SoC的組件
雖然AI PU構成了芯片上人工智能系統(SoC)的大腦,但它只是組成芯片的一系列復雜組件的一部分。以下將細分AI SoC,與AI PU配對的組件以及它們如何協同工作。
1.NPU
如上所述,這是執行AI SoC核心操作的神經處理單元或矩陣乘法引擎,需要指出的是,對于人工智能芯片制造商來說,這也是任何AI SoC從所有其他AI SoC中脫穎而出的關鍵。
2.控制器
控制器通常基于RISC-V(由加州大學伯克利分校設計)、ARM(由ARM公司設計)或自定義邏輯指令集架構(ISA),用于控制所有其他塊和外部處理器并與之通信。
是否在本地進行控制是一個主要問題,需要回答“為什么要創建此芯片?在哪里使用這種芯片?以及由誰使用?”等問題,而芯片制造商在回答控制問題之前需要解答這些問題。
3.SRAM
這是用于存儲模型或輸出的本地存儲器。可以將它想象成一個冰箱,盡管存儲空間很小,但是可以非常快速方便地獲取東西(在這種情況下是數據)或將它們放回去。在某些用例中,尤其是與邊緣人工智能有關的情況下,處理速度至關重要,例如,當行人突然出現在路上時,自動駕駛汽車必須及時剎車。
芯片中包含多少SRAM取決于成本與性能。更大的SRAM存儲池將會增加前期成本,但對DRAM的訪問更少,所以從長遠來看可以收回成本。
另一方面,規模較小的SRAM存儲池具有較低的前期成本,但需要更多的DRAM內存。但是如果市場要求針對特定用例需要成本更低的芯片,則可能需要降低成本。
處理速度也是規模較大的SRAM存儲池與規模較小的SRAM存儲池之間的區別,就像內存影響計算機的性能以及滿足性能需求的能力一樣。
4.I/O
這些模塊用于將SoC連接到SoC之外的組件,例如DRAM和外部處理器。這些接口對于AI SoC最大化其潛在性能和應用程序至關重要,否則會造成瓶頸。因此,接口及其連接的對象(DRAM、外部處理器等)需要顯示AI SoC的潛在性能。
例如,DDR是DRAM的接口。因此,如果將SRAM想象成冰箱,那么可以將DRAM視為雜貨店。它有更大的存儲空間,但是要花費更多的時間去取回物品。
五、互連結構
互連結構是處理器(AI PU、控制器)和SoC上所有其他模塊之間的連接。與I/O一樣,互連結構對于提取AI SoC的所有性能至關重要。通常情況下,只有在芯片內部無法識別互連結構的情況下,才會意識到這種情況。
無論處理器有多快,這些創新都只在互連結構能夠保持正常運行且不會造成阻礙整體性能的延遲的情況下起作用,就像高速公路上沒有足夠的車道會在高峰時段造成交通擁堵一樣。
所有這些組件都是人工智能芯片的關鍵部分。雖然不同的芯片可能有額外的組件,或者對這些組件的投資有不同的優先級,但這些基本組件以共生的方式協同工作,以確保人工智能芯片能夠快速有效地處理人工智能模型。與CPU和GPU不同,AI SoC的設計還遠未成熟。這一部分的產業正在持續快速發展,人們將會看到AI SoC設計方面的進步。
六、人工智能芯片及其用例
市場上有許多人工智能芯片,這些芯片的命名具體取決于設計公司。這些芯片在使用的模型和旨在加速的現實應用中都有不同的用例。
1.訓練與推理
人工智能本質上是使用人工神經網絡對人腦進行的模擬,人工神經網絡旨在替代人們大腦中的生物神經網絡。神經網絡由大量節點組成,可以被調用以執行模型。
這就是人工智能芯片發揮作用的地方。人工智能芯片尤其擅長處理這些人工神經網絡,并且被設計為對它們做兩件事:訓練和推理。
原始的神經網絡最初是通過輸入大量數據來開發和訓練的。訓練非常耗費計算資源,因此需要專注于訓練的人工智能芯片,這些芯片旨在能夠快速有效地處理這些數據。芯片功能越強大,網絡學習的速度就越快。
一旦網絡經過訓練,它就需要為推理而設計的芯片,以便在現實世界中使用數據,比如面部識別、手勢識別、自然語言處理、圖像搜索、垃圾郵件過濾等。
可以將訓練視為構建一個字典,而推理類似于查找單詞并理解如何使用它們。這兩者都是必要且共生的。
值得注意的是,為訓練而設計的芯片也可以進行推理,但是推理芯片無法進行訓練。
2.云計算與邊緣計算
人們需要知道的人工智能芯片的另一方面是它是為云計算用例還是邊緣計算用例設計的,而對于這些用例,人們是否需要采用推理芯片還是訓練芯片。
云計算的可訪問性非常有用,因為它的功能可以完全在場外使用。不需要采用設備上的芯片來處理這些用例中的推理,從而可以節省功耗和成本。但是,在隱私和安全性方面存在弊端,因為數據存儲在可能被黑客入侵或處理不當的云計算服務器上。
對于推理用例,它的效率也可能較低,因為它不如邊緣計算芯片那么專業。可在設備(例如面部識別攝像頭)上找到可在邊緣計算進行處理的芯片。它們比在云計算平臺更私密、更安全,因為所有數據都存儲在設備上,并且其芯片通常是為特定目的而設計的。例如,面部識別攝像頭將使擅長運行設計模型的芯片用于面部識別。它們也有缺點,因為在設備中添加另一個芯片會增加成本和功耗。使用可以平衡成本和功耗的邊緣人工智能芯片很重要,以確保該設備對于用戶來說并不會太昂貴,或者不會過于耗電。
應用程序和芯片有以下配對方式:
3.云計算+訓練
這種配對的目的是開發用于推理的人工智能模型。這些模型最終被細化為特定于用例的人工智能應用程序。這些芯片功能強大,運行成本高,其設計的目的是盡可能快地進行訓練。
其系統示例包括NVIDIA的DGX-2系統,該系統總共具有2 petaFLOPS的處理能力。它由16個NVIDIA V100 Tensor Core GPU組成。另一個例子是英特爾Habana的Gaudi芯片。
人們每天接觸到的需要大量訓練的應用程序的例子包括Facebook照片或谷歌翻譯。隨著這些模型的復雜性日益增加,云計算和培訓市場將繼續受到需要和關注。
4.云計算+推理
這種配對的目的是推理需要大量處理能力,以至無法在設備上進行推理。這是因為應用程序使用更大的模型并處理大量數據。
其芯片示例包括高通公司的Cloud AI 100,這是用于大型云平臺的人工智能芯片。另一個例子是阿里巴巴的Huanguang 800或Graphcore的Colossus MK2 GC200 IPU。
訓練芯片被用來訓練Facebook照片或谷歌翻譯,云計算推理芯片被用來處理輸入的數據。其他的例子包括人工智能聊天機器人或大多數由大型科技公司運營的人工智能服務。
5.邊緣計算+推理
使用邊緣計算設備的芯片進行推理可以消除任何與網絡不穩定或延遲有關的問題,并且可以更好地保護所使用數據的私密性和安全性。使用上傳大量數據(尤其是像圖像或視頻之類的視覺數據)所需的帶寬并沒有相關的成本,因此,只要平衡成本和能效,它就可以比云計算+推理更便宜、更高效。
這里的例子包括Kneron公司的芯片,包括KL520和最近推出的KL720芯片,這些芯片是為設備上使用而設計的低功耗、低成本的芯片。其他示例包括英特爾Movidius和Google的Coral TPU。
其使用案例包括面部識別監控攝像頭、用于行人和危險檢測的車輛攝像頭,以及語音助理的自然語言處理。
這些不同類型的芯片及其不同的實現、模型和用例對于未來人工智能的發展至關重要。在5G等其他新興技術的支持下,人工智能正迅速成為人們工作和生活中的一個重要組成部分。為了適應人們對科技的日益依賴,人工智能芯片領域的發展將會非常迅速。
原文標題:What is an AI chip? Everything you need to know,作者:Albert Liu
【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】