硬科技:斯斯有2種 那人工智慧晶片有幾種?

2018.10.30 08:00AM
Artificial intelligence, Intelligence, Insilico Medicine, Machine learning, Computer Science, Deep learning, Cognitive computing, Human, Industry, Research, esportes e inteligencia artificial, technology, structure, metropolis, light, architecture, world, electricity, energy, space, symmetry

拜近幾年「人工智慧晶片瘋狗浪」之所賜,眾多晶片廠商之間一直不缺「何種晶片類型最適用」的宣傳戰,而這波嘴砲戰在一向不動聲色的Google在2016年驚天動地的公佈第一世代專用ASIC後,熱度達到高峰,內容農場更不缺所謂「AI晶片發展史」之類的標題,和輸入人工智慧後搜尋引擎自動帶出的各類晶片簡寫,像CPU、GPU、FPGA、ASIC或類腦晶片等等。可能各位科科看到這裡,已經有一股想要跳出此頁的衝動,所以筆者比須談談一般內容農場不太會提到的東西,讓各位科科足以鶴立於科技文青之上。

參考文章:

強的到底是 FPGA 還是 Zen ?由兩顆 AMD EPYC 處理器與 8 張 Xilinx 加速卡創下影像推論吞吐量紀錄

Xilinx 推出 AI 推論加速器 ALVEO ,強調較 CPU 快 20 倍、比 GPU 快 4 倍

硬科技:一窺Google TPU全貌 見證雲端霸主在AI的發展

硬科技:一窺NVIDIA「真正人工智慧」Volta的執行單元細節

硬科技:AMD的Vega到底改進了什麼

硬科技:Intel邁向人工智慧晶片的一小步:Knights Mill


在進入主題之前,先將天花亂墜的技術行銷名詞束之高閣,釐清人工智慧應用可大略簡化成兩個階段:「學習/訓練」和「推論/猜想」,前者透過機器學習技術,利用大量樣本數據對演算法進行訓練;後者則執行演算法,在終端應用解讀現實世界的數據。想的更簡單一點,可分成三個層次:

  • 資料中心的學習訓練:用於訓練模型,需要以較高的運算精確度,一般使用32位元浮點格式。
  • 資料中心的推論猜想:在雲端進行即時連續運算,可適當犧牲精確度 (如短整數),以換取更快的速度和更低的功耗。
  • 邊緣運算的推論猜想:這類應用的核心是低功耗的內嵌式ASIC。

Product, CAF – Development Bank of Latin America, Angle, Development bank, Qualcomm Snapdragon, Bank, Product design, Font, , Qualcomm, caf – development bank of latin america, green, text, font, line, diagram, product, product, area, angle, grass, CAF – Development Bank of Latin America

舉個簡單的例子,我們打算建立一個自動辨識「狗」的人工智慧辨識系統,首先,如同在校授課,我們得先讓這套系統去開始學習特徵 (十之八九採用卷積神經網路,Convolutional Neural Networks,CNN,不是美國那間靠波灣戰爭紅起來的有線電視台),例如狗有尾巴、有耳朵、會一直哈氣等,藉由被稱為卷積 (Convolution) 的特徵篩選機制,將特徵資訊轉變成「票數」,這個過程將由多層神經網路所組成,例如第一層是辨識外型,第二層是判斷外型邊緣的組成方式,第三層尋找特徵資訊等等。

Product, Product design, Font, Angle, Technology, Design, Multimedia, Diagram, cmct, text, product, product, font, technology, line, area, diagram, multimedia, communication, CMCT

接著,再透過反向傳播 (Backpropagation),使用不同答案的圖片,訓練這個卷積神經網路,經由反覆的試誤,讓神經網路的各層猜測到正確的答案,使其調整不同特徵值的權重 (Weights),也就是某個特徵值可以投下的票數,經投票後,將決定這張圖是否是不是「狗」。最後,這個具有適當權重值的神經網路,就是一個用來推論的資料庫,分類資料並猜想出結果。

Product, Angle, Line, Product design, Font, Design, angle, text, line, product, area, font, angle, diagram

各位科科也一定預期到,學習和訓練非常將極度消耗運算資源,也需要較高的資料運算精度,而推論與猜想就簡單很多,一堆滿滿的短整數,但說到底都是密集的矩陣乘積運算,這也是為何NVIDIA一直大肆宣傳那個4x4矩陣乘積的Tensor Core。

Volta, Turing, Graphics processing unit, CUDA, , Nvidia, Nvidia Tesla, Nvidia Jetson, Multi-core processor, NVIDIA Tesla V100, nvidia volta tensorcore, green, product, text, product, technology, line, font, numeric keypad, area, communication

總之,由近至遠,從現實到未來,筆者將晶片種類重新定義如下 (僅列出比較有名氣者,若有遺漏敬請見諒):

  • CPU

傳統型:這個就不必解釋了
推論猜測特化型:Intel的MIC、眾多手機行動處理器的類神經輔助處理器 (NPU)
泛用型:Arm ML Processor (現實應用應該會偏推論),Apple A12的NPU

  • GPU

推論猜測特化型:AMD Vega
深度學習特化型:NVIDIA Volta / Turing

  • FPGA:Intel / Altera (例如微軟Project BrianWave),Xilinx (包含DeePhi)
  • 專用定製ASIC

推論猜測特化型:Google第一世代TPU
深度學習特化型:Google第二、第三世代TPU,寒武紀MLU100
邊緣運算推論猜想特化型:Google Edge TPU

  • 記憶體式運算

動態記憶體
快閃記憶體

推論猜測特化型:Mythic,Syntiant

  • 類腦晶片

神經網路層面:IBM TrueNorth
神經元層面:IBM的人造神經元

  • 量子電腦 (看起來還很遙遠)

Rugby Architectural Building Products, Angle, Line, Organization, Architecture, Document, Product design, Product, Design, Diagram, rugby architectural building products, text, line, font, diagram, product, area, organization, angle, document, Rugby Architectural Building Products

 

因為各類型晶片都有其優缺點,筆者也不敢冒著引爆世界大戰的風險,斬釘截鐵蓋棺論定不同晶片之間的優劣,不過,倒是短期內有些事情還是不會改變:

  • 搞清楚自身需求的有錢人就會自己開ASIC。
  • 想不燒荷包再講求效能,就乖乖用FPGA。
  • GPU在學習訓練上依舊保有優勢。
  • 特化CPU最大的罩門還是在軟體。
  • Arm在這個戰場已經落後其他人一大步,而且不見得有機會收回失地,畢竟這生意跟CPU IP沒有直接的關聯。
  • 不同領域的廠商不見得老死不相往來,也是有攜手合作的可能性,哪天看到ASIC搭配FPGA「互補有無」也不會讓人感到意外。

總之,這股「人工智慧掏金熱」勢必方興未艾,各位科科大概還會很有多年的好戲可以等著慢慢看。搞不好這技術發展到最後會讓大家通通笑不出來也說不定喔。科科。