有消息稱,阿里巴巴達摩院正在研發一款神經網絡芯片——Ali-NPU,主要運用於圖像視頻分析、機器學習等AI推理計算。按照設計,這款芯片性能將是目前市面上主流CPU、GPU架構AI芯片的10倍,而制形成本和功耗僅爲一半,其性價比超過40倍。算法
應用上,經過此款芯片的研發將會更好的落地在圖像、視頻識別、雲計算等商業場景中。據阿里達摩院研究員驕暘介紹說:「CPU、GPU做爲通用計算芯片,爲處理線程邏輯和圖形而設計,處理AI計算問題時功耗高,性價比低,在AI計算領域急需專用架構芯片解決上述問題。阿里巴巴此款Ali-NPU在AI領域積累了大量算法模型優點,以最小成本實現最大量的AI模型算法運算。」編程
英特爾、英偉達、AMD等傳統芯片處理器巨頭在CPU和GPU上存在的優點,並且它們都將人工智能定位爲將來重要戰略。緩存
事實上,隨着人工智能產業的發展,CPU、GPU、TPU、DPU、NPU、BPU……各類PU也開始爆發式出現。那麼,究竟這些PU在性能和使用上有何異同,又有哪些優劣呢?網絡
CPU:計算力佔據部分很小 擅長邏輯控制架構
CPU是最爲廣泛,最爲常見的中央處理器。主要包括運算器(ALU)和控制單元(CU),除此以外還包括若干寄存器、高速緩存器和它們之間通信的數據、控制及狀態的總線。依循馮諾依曼架構,CPU須要大量空間放置存儲單元和控制邏輯,計算能力只佔據很小的部分,更擅長邏輯控制。框架
GPU:計算單元數量衆多 但沒法單獨使用機器學習
GPU的誕生能夠解決CPU在計算能力上的自然缺陷。採用數量衆多的計算單元和超長的流水線,善於處理圖像領域的運算加速。但GPU的缺陷也很明顯,即沒法單獨工做,必須由CPU進行控制調用才能工做。ionic
TPU:高性能低功耗 然則開發週期長、轉換成本高佈局
谷歌專門爲 TensorFlow 深度學習框架定製的TPU,是一款專用於機器學習的芯片。TPU能夠提供高吞吐量的低精度計算,用於模型的前向運算而不是模型訓練,且能效更高。但它的缺陷主要是開發週期長、可配置性能有限,缺少靈活性且轉換成本高。性能
國際上,Wave Computing最先提出DPU。在國內,DPU最先是由深鑑科技提出,是基於Xilinx可重構特性的FPGA芯片,設計專用深度學習處理單元,且能夠抽象出定制化的指令集和編譯器,從而實現快速的開發與產品迭代。
NPU:運行效率提高 不支持大樣本訓練
NPU是神經網絡處理器,在電路層模擬人類神經元和突觸,而且用深度學習指令集直接處理大規模的神經元和突觸,一條指令完成一組神經元的處理。相比於CPU和GPU的馮諾伊曼結構,NPU經過突觸權重實現存儲和計算一體化,從而提升運行效率。但NPU也有自身的缺陷,好比不支持對大量樣本的訓練。
BPU:比在CPU上用軟件實現更爲高效 不可再編程
BPU是由地平線主導的嵌入式處理器架構。第一代是高斯架構,第二代是伯努利架構,第三代是貝葉斯架構。BPU主要是用來支撐深度神經網絡,比在CPU上用軟件實現更爲高效。然而,BPU一旦生產,不可再編程,且必須在CPU控制下使用。
從CPU、GPU的市場來看,已經基本被英特爾、英偉達和AMD三分天下。而在ASIC框架下的TPU,只有谷歌的體量和實力纔有開發專用加速的動力。
推出DPU的深鑑科技有清華和斯坦福雙重學術背景,公司目前的兩條發展路線是:以芯片技術爲主的純技術路線,以及基於技術的產品路線。其處理器作深度學習應用端,不作訓練端。目前,其深度壓縮技術能夠將神經網絡壓縮數十倍而不影響精度,還可使用芯片存儲深度學習算法模型,減小內存讀取次數,下降運行功耗。
去年10月,深鑑科技推出了六款AI產品,分別是人臉檢測識別模組、人臉分析解決方案、視頻結構化解決方案、ARISTOTLE架構平臺,深度學習SDK DNNDK,以及雙目深度視覺套件。
寒武紀最初是中科院從2008年開始的一研究項目,負責人爲陳氏兄弟陳雲霽和陳天石,也是寒武紀科技的創始人,與他們合做研究Diannao系列的Olivier Temam是Google TPU的主架構師。2016年11月,寒武紀科技正式成立,同時推出世界首款商用深度學習專用處理器 Cambricon-AI,是一款神經網絡處理器,面向手機、無人機等類手機的終端設備。
去年,一時火爆的華爲麒麟970一大賣點就是集成了獨立NPU,被宣傳爲世界首款手機AI芯片。確實屬實。但據瞭解,這塊NPU也並不是華爲的研究成果,而是來自寒武紀。對於華爲來講,之因此如此重視NPU,或許和阿里爆出新聞的心態同樣,認爲集成NPU表明了人工智能將來的發展趨勢。
去年末,地平線在創辦兩年後終於發佈首款芯片——「征程」與「旭日」。目前,這兩款處理器都屬於嵌入式人工智能視覺芯片,分別面向智能駕駛和智能攝像頭。2018年CES上,英特爾和地平線還發布了基於伯努利架構的新一代征程處理器,其發展路徑圖爲:2018年,感知;2019年,建模;2020年,決策。
而由於與英特爾的合做,地平線不由讓市場聯想到英特爾早前重金收購的Mobileye。在嵌入式人工智能領域,Mobileye是業界領頭羊。地平線在英特爾的定位版圖是不是中國版Mobileye?但其創始人餘凱的抱負是,地平線是要作中國的英特爾。
最後,談到人工智能芯片,仍是不得不提BAT。在國際四大科技巨頭都造芯片,且ARM、英特爾、英偉達等傳統芯片廠商仍然統治芯片天下的狀況下,中國芯能不能發展起來,還須要看國內科技巨頭們的表現。相較而言,阿里在三家中最爲熱衷芯片佈局,上述包括寒武紀、深鑑科技均有阿里參投。
趣聞二:
「神經網絡(Neural Networks)」和「機器學習(Machine Learning)」是近兩年移動處理器領域最流行的兩個詞。華爲麒麟970的NPU(神經網絡處理器)、Google Pixel 2內置的IPU(圖像處理器),以及蘋果A11 Bionic,都是實現上述功能特性的專用硬件解決方案。
既然華爲、Google和蘋果都在都在探索神經引擎處理器,你可能覺得機器學習須要特定的硬件。其實否則,神經網絡能夠在任何形式的處理器上運行,從微處理器到CPU、GPU甚至是DSP。
因此,問題的根本不在於處理器是否能利用神經神經網絡和機器學習,而在於它到底有多快,能提高多少效率。
若是時間倒退回30年前,當年的桌面處理器是沒有的FPU(浮點運算單元)芯片的,在486以後,Intel把FPU集成到了CPU內部,浮點運算性能大幅提高。而在不少實例計算中,全都是浮點數運算。這樣以來,有FPU和沒有FPU,運算效率天差之別。
而現在,移動處理器中的NPU也是相似的狀況。你可能以爲咱們並不須要NPU,就能使用神經網絡,但實時狀況是,華爲正在用事實案例證實,當遇到實時處理運算的狀況,NPU是必須的。
簡單來講,「神經網絡」能夠理解爲「機器學習」中「教」一臺機器區別分辨不一樣「事物」的一系列技術中的一種。上述「事物」能夠是一張照片、一個單詞甚至是一種動物的聲音,諸如此類。
「神經網絡」由不少「神經元」組成,這些「神經元」能夠接收輸入信號,而後經過網絡再向外傳播信號,這取決於輸入的強度和自身閾值。
舉個簡單的例子,神經網絡正在監測一組燈其中一個的開關,但在網絡中,這些燈的狀態只能0或者1來表達,但不一樣的燈可能會出現同樣的開關狀態。
那麼問題來了,神經網絡怎麼知道是該輸出0仍是該輸出1呢?沒有規則或者程序能告訴神經網絡,輸出咱們想獲得的邏輯答案。
惟一的方面就是對神經網絡進行訓練。大量的「樣本」和預期結果一塊兒被注入到神經網絡中,各類各樣的閾值反覆微調,不斷產生接近預期的結果。這個階段能夠稱爲「訓練階段」。
這聽起來很簡單,但實際上至關複雜,尤爲是遇到語言、圖像這種複雜樣本的時候。一旦訓練達成,神經網絡會自動學會輸出預期結果,即使輸入的「樣本」以前歷來沒有見過。
神經網絡訓練成功後,本質上就成了一種靜態神經網絡模型,它就能應用在數以百萬計的設備上用於推理,在CPU、GPU甚至是DSP上運行。這個階段能夠稱爲「推理階段」。
Gary Sims指出,「推理階段」的難度要低於「訓練階段」,而這正是NPU發揮專長的地方。
因此,華爲麒麟970最大的不一樣是,專門設置了NPU硬件芯片,它在處理靜態神經網絡模型方面有得天獨厚的優點,不只更快,還更有效率。事實上,NPU甚至能以17-33fps實時處理智能手機攝像頭拍攝的「直播」視頻。
其次是功耗和效率。NPU並不是「電老虎」會犧牲手機的續航,相反它能高效的幫CPU承擔大量推理運算的任務,反而能節省很多功耗。
總結,Gary Sims表示,若是華爲能吸引更多第三方App開發者使用NPU,其前景不可限量。想象一下,當App在使用圖像、聲音、語音識別的時候,所有都能本地處理,再也不須要網絡鏈接或者雲服務,App的使用體驗將大大提高和增強。
試想,一名遊客直接經過相機App就能認出當地地標,App能智能識別你的食物並給出相應的卡路里熟知、提醒食物過敏......
你認爲,NPU會像當年FPU之於CPU同樣,成爲移動Soc芯片的標準嗎?不妨在評論中發表本身的見解。
一、NPU
麒麟980的獨立NPU相比麒麟970也有所升級,其配備雙兩個NPU單元,算力更強,支持人臉識別、物體識別、物體檢測、圖像分割、智能翻譯等AI場景,並有更高精度的深度網絡,具有更佳的實時性。
二、內存支持
麒麟980雖然和麒麟970同樣,均支持LPDDR4X內存,不過麒麟980支持目前最高的LPDDR4X 2133Mhz高頻內存,帶寬可達34.1GB/s,相比麒麟970有所提高。
至於內存方面,則與麒麟970保存不變,依然是支持UFS 2.1。
三、視頻解碼
視頻解碼,麒麟980配備了新的第四代ISP,並且是雙單元配置,相比麒麟970解碼速度號稱提高達46%,同時支持4K60fps視頻解碼、4K30fps視頻編碼。
三、GPU不一樣
上一代麒麟970內置的Mali-G72 MP12 12核心設計,主頻爲746Mhz。而新一代麒麟980則內置的是Mali-G76 10核心設計,主頻爲720Mhz。
表面上看,麒麟980的核心數和頻率都有所下降,但事實上其用的是新一代更先進架構的Mali-G76,相比G72性能其實明顯更強了。按照華爲官方宣佈的數據,其圖像性能最高提高達到46%。
四、基帶不一樣
新一代麒麟980基帶版本爲LTE Cat.21/18,相比麒麟970的Cat.18/13,提高了一個檔次。麒麟980移動網絡最高速率達到1.4Gbps,目前全網最快。它支持4x4 MIMO、三個20Hz載波聚合、256-QAM等特性。
另外,隨着5G網絡將於明顯開啓商用,麒麟980支持外掛巴龍5000基帶實現對5G網絡的支持。而上一代麒麟970則不支持5G網絡,即使外掛基帶也可能不支持。
參考:http://www.eefocus.com/mcu-dsp/408822