01 術(shù)? 語
CPU/GPU/NPU 等等都是硬件芯片,簡單來說,晶體管既可以用來實(shí)現(xiàn)邏輯控制單元, 也可以用來實(shí)現(xiàn)運(yùn)算單元(算力)。在芯片總面積一定的情況下,就看控制和算力怎么分。 ?
CPU:通用目的處理器,重邏輯控制;
GPU:通用目的并行處理器(GPGPU),圖形處理器;
NPU:專用處理器,相比 CPU/GPU,擅長執(zhí)行更具體的計算任務(wù)。
CPU
大部分芯片面積都用在了邏輯單元,因此邏輯控制能力強(qiáng),算力弱(相對)。 ?
GPU
大部分芯片面積用在了計算單元,因此并行計算能力強(qiáng),但邏輯控制弱。適合圖像渲染、矩陣計算之類的并行計算場景。作為協(xié)處理器, 需要在 CPU 的指揮下工作。
Image Source [8] ?
NPU / TPU
也是協(xié)處理器。在 wikipedia 中沒有專門的 NPU (Neural Processing Unit) 頁面,而是歸到 AI Processors 大類里面, 指的是一類特殊目的硬件加速器,更接近 ASIC,硬件實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)運(yùn)算, 比如張量運(yùn)算、卷積、點(diǎn)積、激活函數(shù)、多維矩陣運(yùn)算等等[7]。 ? 如果還不清楚什么是神經(jīng)網(wǎng)絡(luò),可以看看?以圖像識別為例,關(guān)于卷積神經(jīng)網(wǎng)絡(luò)(CNN)的直觀解釋(2016)。 ? 在這些特殊任務(wù)上,比 CPU/GPU 這種通用處理器效率更高,功耗更小,響應(yīng)更快?(比如一個時鐘周期內(nèi)可以完成幾十萬個乘法運(yùn)算), 因此適合用在手機(jī)、邊緣計算、物聯(lián)網(wǎng)等等場景。 ? TPU:這里特制 Google 的 Tensor Processing Unit,目的跟 NPU 差不多。[11] 對 TPU 和 GPU 的使用場景區(qū)別有一個非常形象的比喻: ? 如果外面下雨了,你其實(shí)并不需要知道每秒到底有多少滴雨, 而只要知道雨是大還是小。與此類似,神經(jīng)網(wǎng)絡(luò)通常不需要 16/32bit 浮點(diǎn)數(shù)做精確計算,可能 8bit 整型預(yù)測的精度就足以滿足需求了。
Floor Plan of Google TPU die(yellow = compute, blue = data, green = I/O, red = control) [11] ?
小? 結(jié)
GPU 已經(jīng)從最初的圖像渲染和通用并行計算,逐步引入越來越多的神經(jīng)網(wǎng)絡(luò)功能 (比如 Tensor Cores、Transformer);另一方面,NPU 也在神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上,開始引入越來越強(qiáng)大的通用計算功能, 所以這倆有雙向奔赴的趨勢。 ? ? 02 華為 DaVinci 架構(gòu):一種方案覆蓋所有算力場景
場景、算力需求和解決方案
不同算力場景下,算力需求(TFLOPS)和內(nèi)存大小(GB)的對應(yīng)關(guān)系 [1]
華為的解決方案:一種架構(gòu)(DaVinci),覆蓋所有場景?[1] ? 用在幾個不同產(chǎn)品方向上,手機(jī)處理器,自動駕駛芯片等等,專門的 AI 處理器,使用場景類似于 GPU。 ?
Ascend NPU 設(shè)計
2017 年發(fā)布了自己的 NPU 架構(gòu),[2] 詳細(xì)介紹了 DaVinci 架構(gòu)的設(shè)計。除了支持傳統(tǒng)標(biāo)量運(yùn)算、矢量運(yùn)行,還引入了 3D Cube 來加速矩陣運(yùn)算。 ?
Image Source [2] ? 單位芯片面積或者單位功耗下,性能比 CPU/GPU 大幅提升:
Image Source [2] ? 下面看看實(shí)際使用場景和產(chǎn)品系列。 ? ? 03 路線一:NPU 用在手機(jī)芯片(Mobile AP SoC) ? 現(xiàn)代手機(jī)芯片不再是單功能處理器,而是集成了多種芯片的一個 片上系統(tǒng)(SoC), 華為 NPU 芯片就集成到麒麟手機(jī)芯片內(nèi)部,隨著華為 Mate 系列高端手機(jī)迭代。
Image Source [7] ? 比如,一些典型的功能劃分 [7]: ?
CPU 主處理器,運(yùn)行 app;
GPU 渲染、游戲等;
NPU 圖像識別、AI 應(yīng)用加速。
Mate 系列手機(jī)基本上是跟 Kirin 系列芯片一起成長的,早期的手機(jī)不是叫 “Mate XX”, 而是 “Ascend Mate XX”,從中也可以看出跟昇騰(Ascend)的淵源。 ?
Kirin 970,2017, Mate 10 系列手機(jī)
據(jù)稱是第一個手機(jī)內(nèi)置的 AI 處理器(NPU)[3]。在 AI 任務(wù)上(比如手機(jī)上輸入文字搜圖片,涉及大批量圖片識別)比 CPU 快 25~50 倍。 ?
10nm,臺積電代工
CPU 8-core with a clockspeed of uP to 2.4GHz i.e. 4 x Cortex A73 at 2.4GHz + 4 x Cortex 53 at 1.8GHz
GPU?12-core Mali G72MP12 ARM GPU
NPU?1.92 TFLOPs FP16
Kirin 990 5G,2019, Mate 30 系列手機(jī)
Kirin 990 包含了 D-lite 版本的 NPU [1]:
World’s st 5G SoC Poweed by 7nm+ EUV
World’s 1st 5G NSA & SA Flagship SoC
Wolrd’s 1st 16-Core Mali-G76?GPU
World’s 1st Big-Tiny Core Architechture?NPU
麒麟 990 5G 芯片邏輯拓?fù)?[1] ? 一些硬件參數(shù) [1,4]:
臺積電?7nm+?工藝
CPU 8-Core
NPU?2+1 Core
GPU?16-core Mali-G76(ARM GPU)
GPU?16-core Mali-G76 (ARM GPU)
NPU
——HUAWEI Da Vinci Architecture, ——2x Ascend Lite + 1x Ascend Tiny
2G/3G/4G/5G Modem
LPDDR 4X
4K HDR Video
Kirin 9000 5G,2020,Mate 40 系列手機(jī)
Image Source ?
臺積電?5nm?工藝
GPU 24-core Mali-G78, Kirin Gaming+ 3.0
NPU
——HUAWEI?Da Vinci Architecture 2.0?第二代架構(gòu) ——2x Ascend Lite + 1x Ascend Tiny ? 這個是臺積電 5nm 工藝 [5],然后就被***了。所以 Mate 50 系列用的高通處理器,Mate 60 系列重新回歸麒麟處理器。 ?
Kirin 9000s,2023,Mate 60 系列手機(jī)
王者低調(diào)回歸,官網(wǎng)沒有資料。 ? 據(jù)各路媒體分析,是中芯國際 7+nm 工藝,比上一代 9000 落后一些, 畢竟制程有差距,看看國外媒體的副標(biāo)題 [6]: ? It's tough to beat a 5nm processor with a 7nm chip. ? Wikipedia 提供的參數(shù) [10]:
SMIC 7nm FinFET
CPU HiSilicon Taishan microarchitecture Cortex-A510
GPU Maleoon 910 MP4
NPU 有,但是沒提
小? 結(jié)
手機(jī)芯片系列先到這里,接下來看看作為獨(dú)立卡使用的 NPU 系列。 ? ? 04 路線二:NPU 用作推理/訓(xùn)練芯片(Ascend AI Processor)
兩個產(chǎn)品:301 低功耗;910 高算力。 ? 設(shè)計見 paper [2]。 ?
產(chǎn)品:加速卡 Atlas 系列
型號 Atlas 200/300/500/…,包括了 NPU 在內(nèi)的 SoC,用于 AI 推理和訓(xùn)練。 ?
Ascend 310,2019,推理
>Spec 用的是 D-mini version:
紙面算力基本對標(biāo) NVIDIA T4 [9]。 ?
Ascend 910,?2019,訓(xùn)練
>Spec & Performance, vs. Google TPU
Image Source [1]
Image Source [1] ? >計算集群
Image Source [1]
審核編輯:黃飛
?
評論
查看更多