AI處理器-寒武紀(jì)NPU芯片簡介
一、前言
本文引用地址:http://butianyuan.cn/article/202206/434797.htm當(dāng)今時(shí)代,人工智能(AI)正被廣泛運(yùn)用于各式各樣的應(yīng)用上。人工智能的三大支撐是硬件、算法和數(shù)據(jù),其中硬件指的是運(yùn)行 AI 算法的芯片與相對(duì)應(yīng)的計(jì)算平臺(tái)。由于使用場(chǎng)景變多,所需處理的數(shù)據(jù)量變大,人們的需求也更高,這就使得AI算法必須能夠高效的運(yùn)行在硬件平臺(tái)上。在硬件方面,目前主要是使用 GPU 并行計(jì)算神經(jīng)網(wǎng)絡(luò),同時(shí),還有 FPGA 和 ASIC 也具有未來異軍突起的潛能。
GPU稱為圖形處理器,它是顯卡的“心臟”,與 CPU 類似,只不過是一種專門進(jìn)行圖像運(yùn)算工作的微處理器。GPU 在浮點(diǎn)運(yùn)算、并行計(jì)算等部分計(jì)算方面可以提供數(shù)十倍乃至于上百倍于 CPU 的性能。不過在應(yīng)用于深度學(xué)習(xí)算法時(shí),有三個(gè)方面的局限性:
應(yīng)用過程中無法充分發(fā)揮并行計(jì)算優(yōu)勢(shì)
硬件結(jié)構(gòu)固定不具備可編程性
運(yùn)行深度學(xué)習(xí)算法能效遠(yuǎn)低于 ASIC 及 FPGA。
FPGA稱為現(xiàn)場(chǎng)可編程門陣列,用戶可以根據(jù)自身的需求進(jìn)行重復(fù)編程。與 GPU、CPU 相比,具有性能高、能耗低、可硬件編程的特點(diǎn)。FPGA 比GPU 具有更低的功耗,比 ASIC 具有更短的開發(fā)時(shí)間和更低的成本。FPGA也有三類局限:
基本單元的計(jì)算能力有限;
速度和功耗有待提升;
FPGA 價(jià)格較為昂貴。
ASIC(Application Specific Integrated Circuit)是一種為專門目的而設(shè)計(jì)的集成電路。無法重新編程,效能高功耗低,但價(jià)格昂貴。近年來涌現(xiàn)出的類似TPU、NPU、VPU、BPU等令人眼花繚亂的各種芯片,本質(zhì)上都屬于ASIC。ASIC不同于 GPU 和 FPGA 的靈活性,定制化的 ASIC 一旦制造完成將不能更改,所以初期成本高、開發(fā)周期長的使得進(jìn)入門檻高。目前,大多是具備 AI 算法又擅長芯片研發(fā)的巨頭參與,如 Google 的 TPU。由于完美適用于神經(jīng)網(wǎng)絡(luò)相關(guān)算法,ASIC 在性能和功耗上都要優(yōu)于 GPU 和 FPGA,TPU1 是傳統(tǒng) GPU 性能的 14-16 倍,NPU 是 GPU 的 118 倍。寒武紀(jì)已發(fā)布對(duì)外應(yīng)用指令集,預(yù)計(jì) ASIC 將是未來 AI 芯片的核心。
綜上所述,在性能上,ASIC是優(yōu)于另外幾種計(jì)算方案的。在ASIC類眾多芯片中,NPU的性能非常的突出,所以下面來介紹一下NPU。
二、NPU介紹
所謂NPU(Neural network Processing Unit), 即神經(jīng)網(wǎng)絡(luò)處理器。顧名思義,它是用電路來模擬人類的神經(jīng)元和突觸結(jié)構(gòu)!如果想用電路模仿人類的神經(jīng)元,就得把每個(gè)神經(jīng)元抽象為一個(gè)激勵(lì)函數(shù),該函數(shù)的輸入由與其相連的神經(jīng)元的輸出以及連接神經(jīng)元的突觸共同決定。為了表達(dá)特定的知識(shí),使用者通常需要(通過某些特定的算法)調(diào)整人工神經(jīng)網(wǎng)絡(luò)中突觸的取值、網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)等。該過程稱為“學(xué)習(xí)”。在學(xué)習(xí)之后,人工神經(jīng)網(wǎng)絡(luò)可通過習(xí)得的知識(shí)來解決特定的問題。
由于深度學(xué)習(xí)的基本操作是神經(jīng)元和突觸的處理,而傳統(tǒng)的處理器指令集(包括x86和ARM等)是為了進(jìn)行通用計(jì)算發(fā)展起來的,其基本操作為算術(shù)操作(加減乘除)和邏輯操作(與或非),往往需要數(shù)百甚至上千條指令才能完成一個(gè)神經(jīng)元的處理,深度學(xué)習(xí)的處理效率不高。這時(shí)就必須另辟蹊徑——突破經(jīng)典的馮·諾伊曼結(jié)構(gòu)!
神經(jīng)網(wǎng)絡(luò)中存儲(chǔ)和處理是一體化的,都是通過突觸權(quán)重來體現(xiàn)。 而馮·諾伊曼結(jié)構(gòu)中,存儲(chǔ)和處理是分離的,分別由存儲(chǔ)器和運(yùn)算器來實(shí)現(xiàn),二者之間存在巨大的差異。當(dāng)用現(xiàn)有的基于馮·諾伊曼結(jié)構(gòu)的經(jīng)典計(jì)算機(jī)(如X86處理器和英偉達(dá)GPU)來跑神經(jīng)網(wǎng)絡(luò)應(yīng)用時(shí),就不可避免地受到存儲(chǔ)和處理分離式結(jié)構(gòu)的制約,因而影響效率。這也就是專門針對(duì)人工智能的專業(yè)芯片能夠?qū)鹘y(tǒng)芯片有一定先天優(yōu)勢(shì)的原因之一。
NPU的典型代表有國內(nèi)的寒武紀(jì)(Cambricon)芯片和IBM的TrueNorth。以中國的寒武紀(jì)為例,2016年3月,中國科學(xué)院計(jì)算技術(shù)研究所陳云霽、陳天石課題組提出了國際上首個(gè)深度學(xué)習(xí)處理器指令集DianNaoYu。DianNaoYu指令直接面對(duì)大規(guī)模神經(jīng)元和突觸的處理,一條指令即可完成一組神經(jīng)元的處理,并對(duì)神經(jīng)元和突觸數(shù)據(jù)在芯片上的傳輸提供了一系列專門的支持。
三、寒武紀(jì)NPU介紹
2016年,寒武紀(jì)科技發(fā)布了世界首款終端AI處理器、首款商用神經(jīng)網(wǎng)絡(luò)處理器(NPU)“寒武紀(jì)1A”(Cambricon-1A),面向智能手機(jī)、安防監(jiān)控、可穿戴設(shè)備、無人機(jī)和智能駕駛等各類終端設(shè)備,主流智能算法能耗比全面超越傳統(tǒng)CPU、GPU。其高性能硬件架構(gòu)及軟件支持Caffe、Tensorflow、MXnet等主流AI開發(fā)平臺(tái)??蓮V泛應(yīng)用于計(jì)算機(jī)視覺、語音識(shí)別、自然語言處理等智能處理關(guān)鍵領(lǐng)域。
2017年,寒武紀(jì)科技又發(fā)布了第二代NPU架構(gòu)“寒武紀(jì)1H”(Cambricon-1H),該系列較初代產(chǎn)品1A系列其能效比有著數(shù)倍提升,可以廣泛應(yīng)用于計(jì)算機(jī)視覺、語言識(shí)別、自然語言處理等智能處理關(guān)鍵領(lǐng)域。其中,Cambricon-1H16版本的IP作為1H系列高性能版本使用256MAC 16位浮點(diǎn)運(yùn)算器以及512MAC 8位定點(diǎn)運(yùn)算器。在1GHz主頻下,進(jìn)行16位浮點(diǎn)神經(jīng)網(wǎng)絡(luò)運(yùn)算的峰值速度為0.5Tops;進(jìn)行8位定點(diǎn)神經(jīng)網(wǎng)絡(luò)運(yùn)算的峰值速度為1Tops。Cambricon-1H8版本IP作為1H系列中量級(jí)版本使用512MAC 8位定點(diǎn)運(yùn)算器。在1GHz主頻下,進(jìn)行8位定點(diǎn)神經(jīng)網(wǎng)絡(luò)運(yùn)算的峰值速度為1Tops。Cambricon-1H8mini版本IP作為1H系列輕量級(jí)版本使用256MAC 8位定點(diǎn)運(yùn)算器。在1GHz主頻下,進(jìn)行8位定點(diǎn)神經(jīng)網(wǎng)絡(luò)運(yùn)算的峰值速度為0.5Tops。
2018,寒武紀(jì)科技又發(fā)布了第三代IP產(chǎn)品“寒武紀(jì)1M”(Cambricon-1M),全球首個(gè)采用臺(tái)積電7nm工藝制造,能耗比達(dá)到5Tops/W,即每瓦特5萬億次運(yùn)算,并提供2Tops、4Tops、8Tops三種規(guī)模的處理器核,滿足不同場(chǎng)景、不同量級(jí)的AI處理需求,并支持多核互聯(lián)。寒武紀(jì)1M處理器延續(xù)了前兩代IP產(chǎn)品寒武紀(jì)1H/1A卓越的完備性,單個(gè)處理器核即可支持CNN、RNN、SOM等多樣化的深度學(xué)習(xí)模型,更進(jìn)一步支持SVM、k-NN、k-Means、決策樹等經(jīng)典機(jī)器學(xué)習(xí)算法,支持本地訓(xùn)練,為視覺、語音、自然語言處理以及各類經(jīng)典的機(jī)器學(xué)習(xí)任務(wù)提供靈活高效的計(jì)算平臺(tái),可廣泛應(yīng)用于智能手機(jī)、智能音箱、智能攝像頭、智能駕駛等領(lǐng)域。
四、Cambricon-1A NPU應(yīng)用
這里要首先介紹一下華為海思的麒麟970手機(jī)處理器,是因?yàn)樗侨蚴卓钊斯ぶ悄芤苿?dòng)計(jì)算平臺(tái),是業(yè)界首顆帶有獨(dú)立NPU(Neural Network Processing Unit)專用硬件處理單元的手機(jī)芯片。麒麟970創(chuàng)新性的集成了NPU專用硬件處理單元,創(chuàng)新設(shè)計(jì)了HiAI移動(dòng)計(jì)算架構(gòu),其AI性能密度大幅優(yōu)于CPU和GPU。相較于四個(gè)Cortex-A73核心,處理相同AI任務(wù),新的異構(gòu)計(jì)算架構(gòu)擁有約 50 倍能效和 25 倍性能優(yōu)勢(shì),圖像識(shí)別速度可達(dá)到約2000張/分鐘。而如此強(qiáng)大的NPU專用硬件處理單元,正是使用的寒武紀(jì)的Cambricon-1A系列的IP,也即麒麟970芯片集成了“寒武紀(jì)1A”處理器作為其核心人工智能處理單元(NPU)。
————————————————
版權(quán)聲明:本文為CSDN博主「耐心的小黑」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/qq_39507748/article/details/109402395
評(píng)論