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