-
1 # 繁星落石
-
2 # IT數碼大排檔
這裡拿華為海思麒麟970SOC整合的神經元網路單元 寒武紀 1A NPU來舉例。
有部分使用者以為寒武紀也是華為海思的一款處理器產品名稱,其實不是的,寒武紀科技是有著中科院背景的AI創業公司,投資方來自國投創業、阿里巴巴、愛國想等,目前是國內首屈一指的AI晶片產品企業。華為僅僅是向寒武紀購買IP授權的合作關係。
寒武紀1A這款NPU也叫深度神經元網路處理器。大概意思就是在計算機裡面使用虛擬的神經元和突觸把它們聯結在一起,構成多層次性人工神經元網路。如果對這點比較疑惑,你可以想象一下計算機廣域網網路,分佈在世界各地的計算機也是跟蜘蛛網一樣各處聯結,這個蜘蛛網裡面的每個結點都擁有自己的計算能力。
寒武紀1A這款處理器基於國際首個AI專用指令集,是具有完全自主智慧財產權的AI晶片產品。由於指令集和晶片設計特性,處理器在計算機視覺(影片)、語音識別、自然語言處理擁有非常高的通用性和效能比。這款1A處理器在1GHz的頻率下理論峰值半精度浮點運算可以達到5120億次每秒。在稀疏化神經網路計算理論上最高可以達到2萬億次每秒的浮點運算。同時支援八位定點運算和一位權重。
在人工智慧的測試中,寒武紀1A可以達到麒麟960的4個A73大核的25倍以上效能和50倍以上的能效,所以這款處理器在華為海思麒麟970中達到非常不俗的AI處理能力。
不過這樣的描述似乎不是很清晰,那麼在麒麟970裡邊使用者能從具體上看到的最直觀的表現是怎樣的?
在華為的每分鐘圖片識別測試裡,麒麟970三U上陣可以做到每分鐘識別2005張照片,而三星835的CPU則只能識別95張照片,I7P的雙U齊上陣僅能識別487張圖片。
上面說了,NPU在手機中處理影象和影片能達到CPU+GPU難以企及的優勢。當然並不是說CPU和GPU就廢了,因為這三種U面對的計算方向完全不一樣,你讓NPU是處理一下3D加速看看?只不過NPU的加入能讓SOC在影象和影片處理中如虎添翼,特別是在未來的視覺場景中NPU也是有很大的應用市場。同時也在手機中增強了某些方面的效能也減輕了CPU等負擔,而且能耗特別低。
所以,你在華為的麒麟970手機中看到的AI拍攝,AI場景增強很大一部分功勞就來自NPU。
NPU也並不是一種噱頭而是著實的增強,從麒麟970整合首款NPU到後來的高通、蘋果紛紛跟進就足以證明NPU在SOC上的整合肯定是有著不少作用的發揮。
-
3 # 譚宏21
你這問題比較專業。具體的手機體系、零部件不是十分清楚,但可以說一點“大話”供你參考。
當前的所謂人工智慧都是數理邏輯下的計算機程式,或就是按某種數理邏輯策略下的資料搜尋程式。只不過分工明確,更專業而已。
計算機核心部件就是CPU,即邏輯運算單元,用來執行數理邏輯命令的。計算機為什麼能自動工作,執行程式就是有CPU的緣故。所以說,無論什麼人工智慧器件,你都必須有CPU。
你所說的人工智慧CPU,可能是專用的,內化了一些成熟搜尋演算法的,針對特定資訊處理的CPU。像所謂GPU,就是影象搜尋識別的專用CPU。雖然,還是數理邏輯運算器件,但內化了影象資訊的辨識和搜尋策略和邏輯。就是個專用影象識別軟體。手機裡裝這麼個程式,你手機就有什麼影象AI了。類似的還有語音AI。
目前興起了一種NPU,就人工神經網路專用邏輯器件,多數也就是一個軟體程式。用程式擬合出人工神經網路功能,其搜尋策略就是馬甲BP演算法---深度學習。這種東西仍然沒突破線性可分障礙。也就是說,對簡單問題,資料空間較單調,搜尋到全域性最優值無什麼困難。比如說,簡單對話,“不使詐”的對話;下個圍棋;簡單路況下開個AI汽車;這都沒什麼問題。實際上,我們遇到的資料空間是非常複雜的,就像無數的山峰和溝谷,而且,山疊著山,溝套著溝。這時,目前的AI,無論你多麼深的學習,你都找不到其中的最優值。圍棋資料空間,只是拓撲空間巨大而已,但還是相當“平坦”的,所以,現在人類暫時下不過它。手機中,比如影象識別和語言識別,在實際中遇到的問題,可能其資料空間很複雜,也就是其資訊空間很“不平坦”,這時,智慧手機就會出現判斷失誤,或宕機現象(邏輯判斷死迴圈)。
總之,手機等所謂智慧電器,功能越多,所謂“智慧”越高,出故障率越大。當然,“高智商”手機用起來還是方便一些。
回覆列表
想題主的問題是問有沒有NPU對於一個SoC的影響吧?
因為首先,CPU只是中央處理器,它只是一個處理元件,而人工智慧是一個演算法,是在CPU上層的軟體層面的東西,兩者不存在是否包含的關係,所以不會有有沒有這種事情發生。另外,人工智慧說白了也就只是重複性大資料推算的一種演算法,一般CPU都是可以支援的,只是CPU算力不同會導致演算法的效能不同,演算法對CPU的負荷不同,就會導致諸如發熱等問題,但這就是題外話了,只要有CPU,一般來說就都可以進行目前來說的AI運算。
另外,現在幾乎沒有單純設計CPU的,都是直接設計SoC,SoC裡面必然會有GPU,所以沒有必要把AI的計算任務交給CPU,GPU對於這種問題的處理要來得更熟練和快速,更適合進行這種重複性計算。所以只要是搭在了SoC的裝置,理論上都可以進行AI運算,唯一的限制可能就是算力實在太差,支撐不住,會發熱、卡頓等,那就是硬體效能問題了。
而NPU是一種ASIC,它無法執行GPU的圖形渲染工作,也無法執行CPU的指令集功能,NPU所能做的,就會被特化過的神經網路計算。NPU的設計思路和CPU和GPU都不相同,它對於神經網路如CNN、DNN等和機器學習模型的支援十分全面,運算起來速度快、效率高,而且功耗很小,在SoC中整合NPU可以極大地提高AI的運算效率和效能,所以現在的SoC基本上都會整合一個NPU在裡面,來完成可能需要的AI計算任務。