人工智能深度學習神經網絡與Soc芯片的關係

人工智能深度學習神經網絡與Soc芯片的關係


在運算能力方面,CPU是不如GPU的,FPGA也不合適。谷歌研發出的TPU芯片,就是專門針對人工智能神經網絡的運算。

人工智能的算法在往下走,在逐漸降低要求;嵌入式的芯片在往上走,在逐漸提升性能,這兩個很快會會師,會結合在一起,誕生出一個在嵌入式系統裏面能跑的東西,這就意味着落地了。

這是一個比較深度的問題。人工智能是需要一個強大的計算能力的,要多強大呢?現在人工智能的實現原理主要是進行計算,之前所說的學習也是進行計算的過程,也是需要大量的運算。運算能力直接決定學習的速度,如果運算能力很差,可能兩年都學不完;如果計算能力很好,可能一天就學完了。就跟人類大腦思考能力決定了學習能力一樣,有的人十歲就已經上大學了,有的人二十都還考不上,這就是看大腦的運算能力有多強。人工智能神經網絡的運算主要是卷積運算。什麼是卷積運算?就是線性代數的一些矩陣運算,這些矩陣運算還會涉及到一些浮點數,所以需要海量的運算性能。是呈指數級的增長的,現在的CPU根本算不動,在運算能力方面,CPU是不如GPU的,FPGA也不合適。FPGA適合要求實時性,要求並行運算方面的,CPU適合做控制,GPU才適合做運算,所以目前人工智能的研究大多數都是用GPU加速運算的。構建一個人工智能的研究平臺的時候,顯卡的重要性比CPU還重要,買個顯卡就需要七八千,甚至一萬多,而買個CPU,最多也就兩三千塊,CPU已經慢慢的不如GPU了。目前總的來說,CPU,GPU,FPGA都不是特別適合人工智能,真正適合人工智能的下一代芯片目前還在研發當中,譬如谷歌研發出的TPU芯片,就是專門針對人工智能神經網絡的運算,針對卷積運算的特徵推出的,它天生適合做人工智能的運算。將來會有越來越多的新的芯片推出,那跟學習嵌入式的同學有什麼關係呢?想一下,如果出了一個新的芯片,是不是需要移植,是不是需要開發各種底層軟件,是不是需要移植開發各種底層的開發系統,是不是要做各種底層的工作,這就是嵌入式領域需要做的一些事情。

芯片廠商也會有很大的變動。大家可能沒關注到,其實有發生很多故事的,現在老牌芯片巨頭Intel壓力就非常大,前兩年他們搞物聯網,推出了安騰那一套,折騰了好幾年,結果什麼都沒有折騰出來。移動領域也徹底被arm壓下去了。人工智能開始發展之後,Intel就非常着急,去年還是今年就花了好幾十億收購人工智能方面的公司。Intel跟微軟都面臨很大的壓力。現在跟人工智能最接近的芯片領域的是nVidia(英偉達,做顯卡的)。他成了領軍人物,人工智能方面最好的顯卡就是他們家出的。就是因爲GPU比CPU更重要了,他們做的是GPU,他們就異軍突起成爲了領軍人物,這是一個有意思的事情,前幾年的時候還是個名不見經傳的小公司。還有高通這幾年也成長的非常快,先後收購了freescale,NXP,CSR等,也成了一個芯片巨頭,但高通的這些更加趨向於工業級的,如果是做的工業,做的汽車裏面的控制等等這些東西,可能用這幾家芯片更加合適一點。還有一些國產的芯片廠商,像華爲海思,瑞芯微,MTK等也有很多積累,也有了突破機會,將來也有可能綻放異彩。國產芯片這幾年也不錯,不要覺得只有外國的才厲害,中國這些年其實也有做很多厲害的東西。

人工智能發展路徑將來是怎麼一個路徑?大概是怎麼一回事,怎麼去弄,是怎麼樣的一個構成?現階段更多的人工智能主要是在服務器級的一個計算機上,所謂服務器級的計算機是指什麼呢?CPU就不用說了,肯定至少是I7,要麼就是E開頭的,比I開頭的還厲害的那些。都是最厲害的芯片,最厲害的CPU。顯卡呢,入門級的都是五六千塊的,一般都是一兩萬的,還有好多技術都是雙顯卡,四顯卡,八顯卡。還有幾百個顯卡集成在一起,串並聯在一起,構成一個超級顯卡矩陣。顯卡上面的顯存都是好幾十個GB,整個電腦配內存都是32G,64G,這種級別的就叫服務器級計算機(用來打遊戲超爽,呵呵)。現在都是在這種計算機上學習和測試研究,更多的是一種研究狀態,還只是在科研領域,離落地還有一段距離。現階段的人工智能還在玩這些,爲什麼人工智能從下圍棋開始玩呢?因爲下圍棋是純理論的,不需要落地。像AlphaGo下棋的時候,旁邊都是有人的,當他運算出一個結果的時候,還需要有人替他落子,他自己是沒有手的,他沒有落地,他只有一個大腦。現階段在服務器級別裏面去運算的人工智能很顯然是無法落地的,把這類的人工智能裝在一個車上面怎麼可能裝得下呢,光他的耗電量車都扛不住。所以說如果想要人工智能落地,就需要優化算法,減少資源消耗。原來的內存需要12G,現在爭取看6G能不能,可能再過兩年,爭取4G就可以了,2G就可以了。算法優化了,能源消耗就會變少;能源消耗變少之後,就可以部署到嵌入式當中了,也就可以落地了。這都是慢慢來的,要先在服務器裏面玩清楚了,然後纔會去優化算法,把它部署到嵌入式系統當中。嵌入式系統也在快速發展,譬如說nVidia,在今年三月份推出的JetsonTX2,它是一個開發板,它是一個芯片,是一個GPU。GPU是目前唯一一個能解決人工智能領域的嵌入式芯片的方案。TX2非常厲害,它比目前現有的跑人工智能的芯片的算法都要快。以後類似於這種的芯片也會越來越多,也就是說人工智能的算法在往下走,在逐漸降低要求;嵌入式的芯片在往上走,在逐漸提升性能,這兩個很快會會師,會結合在一起,誕生出一個在嵌入式系統裏面能跑的東西,這就意味着落地了。那麼這個過程需要多久呢?也就是一兩年,兩三年的事兒,現在已經開始在慢慢的落地了。nVidia的TX2就有跟沃爾沃合作開發自動駕駛方面的東西,可能沃爾沃之後開發出的新一代的高端車型就具有自動駕駛功能。其實已經開始在落地了,只是目前還只有一些巨頭在做,大部分的公司還沒有這個資格去玩那些。國外也有一些***,一些愛好者,技術比較厲害的一些人在樹莓派3等的一些典型的嵌入式系統上面去玩人工智能,例如在弄自動駕駛的一些demo。樹莓派3的性能很一般,這種性能想去跑人工智能的東西就需要算法極其簡化,離使用還差很遠,但也是一些可以用來玩的東西。之後朱老師也會推出這麼一些可以玩的東西,在資源受限的開發板上去玩一些人工智能方面的應用,這些東西是沒法真的上路的,但可以學到基本的原理,把整個流程可以弄清楚。國外有少部分人在玩這個,資源都是英文的,國內還沒有。微軟有一個小組試圖在單片機上實現人工智能,連嵌入式系統都沒搞明白,就想在單片機上面搞事情,我覺得這是不靠譜的,是不看好的。在一些高性能的嵌入式設備上去跑一跑還有可能,在樹莓派3上都壓力山大,在單片機上就更不靠譜了。總結下來就是人工智能的發展對芯片相關開發人員是一大利好,只要是跟芯片底層開發相關的,對於他們來說,迎來了一個春天。嵌入式也是面臨一波行情的,朱老師自己也產生了很多想法,也有想做跟人工智能有關的,當然,是結合嵌入式領域去發揮的一些東西。學習嵌入式的同學其實有很多事可以去做的,像自動駕駛就可以做,老師會在之後推出的專題再詳細說明。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章