首頁>科技>

2019年8月23日,華為在深圳正式釋出商用AI晶片Ascend 910(昇騰910),它是當前全球算力最強、訓練速度最快的AI晶片。八位整數精度(INT8)下的效能達到512TOPS,16位浮點數(FP16)下的效能達到256 TFLOPS。

2019年9月25日,阿里巴巴在杭州雲棲大會上正式釋出含光800 AI晶片,這是全球最高效能的AI推理晶片。在業界標準的ResNet-50測試中,推理效能達到78563 IPS,能效比500 IPS/W。

都說自己是地表最強AI晶片,那麼到底誰是最強呢?什麼是AI晶片呢?與普通晶片的差異是什麼?

AI晶片定義

目前關於AI 晶片並沒有一個十分嚴格的定義,只要是面向人工智慧應用的晶片都可以稱為AI 晶片。百度百科的定位為:

AI晶片也被稱為AI加速器或計算卡,即專門用於處理人工智慧應用中的大量計算任務的模組(其他非計算任務仍由CPU負責)。當前,AI晶片主要分為GPU、FPGA 、ASIC。

AI晶片分類

根據2018年清華大學釋出的《2018人工智慧晶片技術白皮書》,可以將AI 晶片主要分為三類:

1. 經過軟硬體優化可以高效支援AI 應用的通用晶片,例如GPU,FPGA;

2. 專門為特定的 AI 產品或者服務而設計的晶片,稱之為ASIC(Application-Specific Integrated Circuit),主要是側重加速機器學習(尤其是神經網路、深度學習),這也是目前AI 晶片中最多的形式;

3. 受生物腦啟發設計的神經形態計算晶片,這類晶片不採用經典的馮·諾依曼架構,而是基於神經形態架構設計,比如清華大學8月1日在《自然》雜誌上發表的“天機”類腦晶片。

很多AI應用廠商經常宣稱自己做出了全球第一款XXX的SoC晶片,那麼SoC晶片又是什麼AI晶片呢?

從上圖不難發現,SoC就是ASIC晶片,只不過進行了細分。

如果將MPU、MCU、DSP、儲存系統(或片外儲存控制介面)、以及其他外圍器件整合在單一晶片上,那麼這類ASIC晶片就稱為片上系統SoC,也稱為系統級晶片。

ASSP和ASIC之間的唯一區別是:ASSP是更通用的裝置,適用於多個系統,如獨立的USB介面晶片可以歸類為ASSP,而ASIC通常是客戶定製的,或是面向特定用途的產品。

AI晶片使用場景:訓練和推理、雲端和邊緣端

AI系統通常分為訓練(Training)和推斷(Inference)兩個步驟。訓練是指對已有資料進行學習,獲得某些能力;推斷是指根據訓練出來的模型(能力)去推斷新資料。 對神經網路而言,訓練過程就是通過不斷更新網路引數,使訓練誤差最小化的過程 ;推斷過程則是直接將資料輸入神經網路並評估結果的正向計算過程。

根據其部署場景,AI晶片可以運用於雲端和邊緣端。雲端AI處理主要強調精度、處理能力、記憶體容量和頻寬,同時追求低延時和低功耗;邊緣裝置中的AI處理則主要關注功耗、響應時間、體積、成本和隱私安全等問題。

首先,由於計算精度直接影響推斷的準確度,所以支援訓練的硬體必須支援具有較長字長的浮點數或定點數。

其次,由於訓練中需要進行多次正向和反向的計算過程, 計算量非常大,所以就需要支援訓練的晶片不僅要具有強大的單晶片計算能力,還要具備很好的擴充套件性, 可以通過多晶片系統提供更強大的計算能力。

再次,由於訓練過程中需要處理大量的資料,所以對記憶體數量、訪問記憶體的頻寬和記憶體管理方法的要求都非常高,解決“記憶體牆”瓶頸。

最後,由於訓練需要更新(寫入)和使用(讀取)神經網路中的引數(權重),所以需要複雜的資料同步技術,同時也要求儲存器能夠支援更快速的讀寫,特別是對於線上訓練。

對推斷來說,運算和儲存的需求都遠遠低於訓練。由於推斷的應用場景多種多樣,所以需求和約束也呈現出多樣化的特點。對於多數應用來說,速度、能效、安全和硬體成本等是最重要的考慮因素,而模型的準確度和資料精度則可以依具體情況適當降低。

對一些應用來說,降低精度的設計不僅加速了機器學習演算法的推斷,甚至可能更符合神經形態計算的特徵,同時可以節省大量記憶體和降低能量消耗。

常見的AI晶片評價指標

對於AI晶片,目前沒有統一的權威評價指標(benchmark)。

業界通常用TOPS來衡量處理器運算能力,百度百科對TOPS的解釋為:

TOPS是Tera Operations Per Second的縮寫,1TOPS代表處理器每秒鐘可進行一萬億次(10^12)操作。

對於浮點數,其評價指標為FLOPS,百度百科對FLOPS的解釋為:

FLOPS(即“每秒浮點運算次數”,“每秒峰值速度”),是“每秒所執行的浮點運算次數”(floating-point operations per second)的縮寫。它常被用來估算計算機的執行效能。

在某些情況下,還使用 TOPS/W 來作為評價處理器運算能力的一個性能指標,TOPS/W 用於度量在1W功耗的情況下,處理器能進行多少萬億次操作。

另外一種就是阿里的這種評價標準,從某種程度上來說,這是阿里玩的一個文字把戲,用IPS和IPS/W來衡量其效能,沒有從正面迴應其晶片處理效能,而是從側面來表明其AI晶片的強勁。

不論是哪種評價指標,通常要麼指定資料集或者指定典型網路:

1.指定資料集:ImageNet、COCO等。

2.指定典型網路:Resnet-50、YoloV2、MobileNet、Faster-RCNN等。

華為昇騰910是在雲端使用的訓練晶片,含光800是在雲端使用的推理晶片,所以他們各自宣稱自己是地表最強晶片,都不為過,因為它們在各自的領域都是最強的。

總結

雖然目前大部分機器學習方法都可以比較清晰地劃分為訓練和推斷的過程,但還有一些領域,比如增強學習(Reinforcement Learning)和線上學習(On-line Learning)則處於持續學習和改進模型的程序中。因此,在未來的AI應用當中,訓練和推斷會交織在一起,相互融合。

目前最普遍的方式是在雲端訓練神經網路,然後在雲端(由邊緣裝置採集資料)或者邊緣裝置進行推斷。未來雲和邊緣裝置以及連線他們的網路可能會構成一個巨大的AI 處理網路,它們之間協作訓練和推斷,提供最佳的使用者體驗。

最新評論
  • 整治雙十一購物亂象,國家再次出手!該跟這些套路說再見了
  • Linus Torvalds 不擔心微軟將控制 Linux