2016年人工智慧技術進展大盤點

文章推薦指數: 80 %
投票人數:10人

作者簡介:趙永科,筆名卜居,CSDN博主,堅持寫技術博客8年。

現就職於阿里雲計算有限公司,從事異構平台上的人工智慧算法優化與系統設計,熱愛讀書和NES遊戲。

著有《深度學習:21 天實戰 Caffe》一書。

如果說2015年大家還在質疑深度學習、人工智慧,認為這是又一輪泡沫的開始,那麼2016年可以說是人工智慧全面影響人們生活的一年。

從AlphaGo到無人駕駛,從美國大選到量子計算機,從小Ai預測「我是歌手」到馬斯克的太空計劃,每個焦點事件背後都與人工智慧有聯繫。

縱覽2016年的人工智慧技術,筆者的印象是實用化、智能化、晶片化、生態化,讓所有人都觸手可及。

下面我們以時間為坐標,盤點這一年的技術進展。

AlphaGo

3月9-15日,棋壇新秀AlphaGo一戰成名,以4:1成績打敗韓國職業棋手圍棋九段李世石(圍棋規則介紹:對弈雙方在19x19棋盤網格的交叉點上交替放置黑色和白色的棋子,落子完畢後,棋子不能移動,對弈過程中圍地吃子,以所圍「地」的大小決定勝負)。

其實早在2015年10月,AlphaGo v13在與職業棋手、歐洲冠軍樊麾二段的五番棋比賽中,以5:0獲勝。

在與李世石九段比賽中版本為v18,賽後,AlphaGo榮獲韓國棋院授予的「第〇〇一號 名譽九段」證書。

7月19日,AlphaGo在GoRantings世界圍棋排名中超過柯潔,成為世界第一。

看到AlphaGo這一連串不可思議的成績,我們不禁要問,是什麼讓AlphaGo在短短時間內就能以如此大的能量在古老的圍棋這一競技項目迅速擊敗數千年歷史積累的人類?

圖1 AlphaGo與李世石的對陣

AlphaGo由Google在2014年收購的英國人工智慧公司DeepMind開發,背後是一套神經網絡系統,由許多個數據中心作為節點相連,每個節點內有多台超級計算機。

這個系統基於卷積神經網絡(Convolutional Neural Network, CNN)——一種在大型圖像處理上有著優秀表現的神經網絡,常用於人工智慧圖像識別,比如Google的圖片搜索、百度的識圖、阿里巴巴拍立淘等都運用了卷積神經網絡。

AlphaGo背後的系統還借鑑了一種名為深度強化學習(Deep Q-Learning,DQN)的技巧。

強化學習的靈感來源於心理學中的行為主義理論,即有機體如何在環境給予的獎勵或懲罰的刺激下,逐步形成對刺激的預期,產生能獲得最大利益的習慣性行為。

不僅如此,AlphaGo借鑑了蒙特卡洛樹搜索算法(Monte Carlo Tree Search),在判斷當前局面的效用函數(value function)和決定下一步的策略函數(policy function)上有著非常好的表現。

作為一個基於卷積神經網絡、採用了強化學習模型的人工智慧,AlphaGo具有廣泛適應性,學習能力很強,除了玩遊戲、下圍棋,最近的DeepMind Health項目將人工智慧引入了疾病診斷和預測中,為人們的健康提供更好的保障。

AlphaGo系統和IBM在上個世紀打敗西洋棋大師卡斯帕羅夫的深藍超級計算機有什麼不同?

西洋棋AI算法一般是枚舉所有可能招法,給局面打分。

AI能力主要分為兩方面:一是局面打分算法是否合理,二是疊代的深度。

西洋棋開局的時候可以動8個兵(*2)和兩個馬(*2)共20種招法,雖然開局到中期招法會多一點,但是總數也就是幾十種,遊戲判斷局面也簡單,將軍的加分,攻擊強子加分,被將軍或者有強子被攻擊減分,控制範圍大的加分,西洋棋里即將升變的兵加分,粗略一算就可以有個相對不錯的判斷。

圍棋棋盤上每一點,都有黑、白、空,三種情況,棋盤上共有19*19=361個點,所以可能產生的局數為3的361次方種(可以想像,從137億年前宇宙初始下起,60億人口每天下60億盤,到目前為止,只下了不到億億億萬分之一)。

圍棋可選招法非常多,在初期可以全盤落子,打劫的時候則要找「劫材」。

圍棋判斷形勢的複雜度也很高,因為所有棋子地位平等,不在於一子定勝負,但每一子對於全局又都是牽一髮而動全身,所以需要的是整體協調和全局決策。

AlphaGo不僅能很快計算圍棋當前局面的效用函數和決定下一步的策略函數,還能結合蒙特卡洛樹搜索算法進行縱深的分析,得到整局棋的「最優解」。

無論從計算複雜度還是決策的深度上,AlphaGo都有質的飛躍。

小結: AlphaGo可能是Google公關塑造的一個AI形象,但這是一次十分成功的嘗試,引起了世界性的關注。

在這些華麗的成績之外,技術鋪墊仍然是一項不容小覷的工作,包括DQN算法模型與硬體平台。

我們接下來會詳細介紹。

深度增強學習DQN

增強學習是最近幾年中機器學習領域的最新進展。

增強學習的目的是通過和環境交互學習到如何在相應的觀測中採取最優行為。

行為的好壞可以通過環境給的獎勵來確定。

不同的環境有不同的觀測和獎勵。

增強學習和傳統機器學習的最大區別在於,增強學習是一個閉環學習的系統,算法選取的行為會直接影響到環境,進而影響到該算法之後從環境中得到的觀測。

增強學習存在著很多傳統機器學習所不具備的挑戰。

首先,因為在增強學習中沒有確定在每一時刻應該採取哪個行為的信息,算法必須通過探索各種可能才能判斷出最優行為。

如何有效地在可能行為數量較多的情況下有效探索,是增強學習的重要問題。

其次,在增強學習中一個行為不僅可能會影響當前時刻的獎勵,而且還可能會影響之後所有時刻的獎勵。

在最壞的情況下,一個好行為不會在當前時刻獲得獎勵,而會在很多步都執行正確後才能得到。

在這種情況下,判斷出獎勵和很多步之前的行為有關非常難。

雖然增強學習存在很多挑戰,它也能夠解決很多傳統機器學習不能解決的問題。

首先,由於不需要標註的過程,增強學習可以更有效地解決環境中所存在著的特殊情況。

比如,無人車環境中可能會出現行人和動物亂穿馬路的特殊情況。

只要模擬器能模擬出這些特殊情況,增強學習就可以學習到怎麼在這些特殊情況中做出正確的行為。

其次,增強學習可以把整個系統作為一個整體,從而對其中的一些模塊更加魯棒。

例如,自動駕駛中的感知模塊不可能做到完全可靠。

前一段時間,特斯拉無人駕駛的事故就是因為在強光環境中感知模塊失效導致的。

增強學習可以做到,即使在某些模塊失效的情況下也能做出穩妥的行為。

最後,增強學習可以比較容易學習到一系列行為。

自動駕駛需要執行一系列正確的行為才能成功駕駛。

如果只有標註數據,學習到的模型每個時刻偏移了一點,到最後可能就會偏移非常多,產生毀滅性的後果。

而增強學習能夠學會自動修正偏移。

DeepMind曾用五款雅達利(Atari)遊戲Pong、打磚塊、太空侵略者、海底救人、Beam Rider分別測試了自己開發的人工智慧,結果發現:遊戲後,神經網絡的操控能力已經遠超世界上任何一位已知的遊戲高手。

DeepMind用同樣的一套人工智慧,測試各種各樣的智力競技項目,取得了優異的戰績,足以證明坐在李世石面前的AlphaGo,擁有多強的學習能力。

圖2 Atari遊戲畫面

小結:如果說深度學習相當於嗷嗷待哺的嬰兒,需要人們準備好大量有營養的數據親手餵給它,那麼增強學習就是擁有基本生活能力的青少年,叛逆而獨立,充滿激情,喜歡挑戰,不斷在對抗中學習成長。

雖然與成熟的人工智慧仍有較大差距,但可以肯定,這只是個時間問題。

Google TPU

Google在今年5月18日Google I/O大會上宣布了加速機器學習的定製ASIC方案:張量處理單元(TPU)。

這款晶片由Google工程師設計,用於加速TensorFlow軟體,在AlphaGo中TPU也大顯神通。

TPU已經在用戶無感知的情況下在Google雲語音、Gmail、Google Photos和Google搜索業務中使用了一年時間。

相比目前商品級GPU和FPGA,TPU每瓦性能高出一個數量級。

在大多數企業和研究機構中,設計並構建應用專用處理器是十分奢侈的。

開發晶片即使很小的設計也需要投入上百萬美元。

定製設計的優勢相比通用處理器具備更好的性能以及能效。

為了平衡收支,需要大規模使用案例和部署量,這樣才能將成本攤薄。

雲服務廠商顯然滿足這個條件。

圖3 Google TPU近照

圖4 配備Google TPU的集群

圖5 寒武紀深度神經網絡處理器發布現場

Google認為機器學習的規模是不可預估的,因此有必要構建專用硬體。

這個舉動當然也給世界上兩大晶片廠商——Intel和NVIDIA帶來不小觸動,兩家在新產品的研發上不得不多了一個難纏的對手。

近兩年國內的人工智慧處理器也如火如荼,最為知名的寒武紀深度神經網絡處理器架構採用硬體神經元和硬體突觸作為運算器,並為神經網絡的高速連接設計了存儲結構,另外還專門設計了與通用處理器完全不同的指令集。

最新推出的寒武紀-1A(Cambricon-1A)商用智能處理器IP產品,可集成至各類終端SoC晶片,每秒可處理160億個虛擬神經元,每秒峰值運算能力達2萬億虛擬突觸,性能比通用處理器高兩個數量級,功耗降低了一個數量級。

該處理器榮獲第三屆世界網際網路大會「世界網際網路領先科技成果」獎項。

小結:通用處理器的設計和製造一向由晶片巨頭壟斷,而在人工智慧快速發展的這幾年,新架構、新應用使得處理器設計的話語權逐步轉移到更大體量的網際網路公司,利用規模優勢,按照日益增長的需求定製計算架構,在處理器歷史上書寫新的篇章。

智能駕駛

汽車關係到人們出行,幾乎每天必備,而利用人工智慧解決出行需求是一個大膽的嘗試。

從去年的「滴滴」、「快的」燒錢大戰開始,到兩家合併、今年滴滴完成了對Uber中國併購,國內打車軟體實現大一統。

技術上,目前主要是利用大數據指導車輛調度,利用更少的成本滿足乘客的需求。

而各地曝光的打車亂象也成為平台痼疾。

如何利用技術克服人性的弱點,是個自然而然的問題。

一種思路是使用機器代替人擔任司機。

無人駕駛、人工智慧等已成為世界性的前沿科技,Google、微軟、特斯拉等科技巨頭新貴等紛紛布局於此,足見無人車極高的研發價值和廣闊的市場。

除了商業價值,無人駕駛所能帶來的社會價值更加讓人浮想聯翩。

首先可以想到,未來無人駕駛技術成熟,可以解放人們的雙手。

開車出行時,可以有更多的時間做自己的事情。

而對於殘障人士來說,則意義更大,可以有效提高出行效率,過上更加便捷快速的交通生活。

其次,無人車一定程度上會革新現代交通模式,解決交通道路安全問題。

百度高級副總裁、自動駕駛事業部總經理王勁曾表示,人工智慧用大量的伺服器和數據來擬合成人類的駕駛能力,這個系統會比人類所有駕駛員甚至賽車手的水平都更高,這樣才能保障駕駛的安全性。

安全性之外,智能化的無人車同時也是大數據集散中心,可以時時將交通狀況、行駛情況回傳,政府交通指揮中心根據大數據進行交通調度,勢必可以更好解決擁堵問題。

此外,無人車還能推動汽車工業更環保,同時激活更多新興產業,帶動新的產業升級和行業轉型,促進更多就業,高精尖人才的發展。

特斯拉(Tesla)

今年10月20日,馬斯克宣布所有特斯拉新車將裝備具有全自動駕駛功能的硬體系統——Autopilot 2.0,這套系統包括了8個攝像機、12個超聲波傳感器以及一個前向探測雷達。

攝像機將提供360度的視角,最大識別距離250米,其中三個將觀察前方,提供冗餘以確保安全;超聲波傳感器能夠探測軟性和硬性的物體;而雷達則可以確保在雨天、霧天、沙塵和霧霾天氣中正常工作。

圖6 Tesla汽車內景

圖6 Tesla汽車內景

此外升級的還有車載電腦——新系統的大腦「Tesla Neural Net」(特斯拉神經網)基於nVIDIA的Titan GPU——每秒鐘能進行12萬億次計算,比上一代車載電腦快了40倍。

馬斯克表示,這次的硬體升級將會即時實行,成為未來特斯拉汽車的標配。

換句話說,從今天起,每輛新產出的特斯拉都會具有完全自動駕駛的能力。

百度無人車

在11月16日開幕的第三屆世界網際網路大會上,百度無人車再次亮相。

大會期間,18輛百度無人車在桐鄉市子夜路智能汽車和智慧交通示範區內首次進行開放城市道路運營。

此次百度無人車在烏鎮運營體驗,是百度首次在開放城市道路情況下,實現全程無人工干預的L4級無人駕駛技術。

在去年12月的烏鎮世界網際網路大會上,習近平主席視察網際網路之光博覽會時,百度CEO李彥宏向習近平介紹了百度無人駕駛車。

早在2013年,百度就已經開啟了前沿領域的項目布局,無人車由百度研究院主導歷時兩年研發,2015年12月,更是專門成立自動駕駛事業部,足見百度對無人車項目的重視。

憑藉LBS、圖像識別、大數據等領域深厚的技術積累和人工智慧技術的領先,目前百度無人車的研發已經達到世界領先地位。

百度無人駕駛是國內唯一一家通過功能安全ISO26262國際標準的全自動駕駛研究項目。

去年12月,百度無人車實現了在北京五環上的上路測試,最高時速100公里,並首次實現城市、環路及高速道路混合路況下全自動駕駛,標誌著中國無人駕駛車的發展進入里程碑的新階段。

對於無人車來說,人工智慧、深度學習的技術發展至關重要。

無人車在行駛過程中,攝像頭、感應器等原件會收集大量數據,而這些數據需要實時處理和分析,通過高性能的計算能力、先進的算法及深度學習系統,來實時適應周圍的路面情況自動駕駛汽車。

而據了解,百度在國內擁有首家自主研發的三維高精度地圖技術,已達到較高精度,同時具備國內領先的高精度地圖採集與自動化處理技術,具備完整的高精度地圖採集與自動化處理系統,可支持高精度地圖的規模化生產。

另外,百度也已經掌握了國內領先的實時高精度定位技術,實現厘米級的定位精度,相比於GPS定位精度提升了兩個數量級。

在關鍵技術上「領跑」世界。

小結:智能駕駛是一項複雜的工程,涵蓋了汽車製造、自動控制、傳感器、人工智慧、地理信息、雲計算、交通法規、社會倫理等多個領域,需要極強的技術水準和高尚的職業操守。

Intel人工智慧布局

Intel收購Nervana

8月9日,Intel宣布收購創業公司Nervana Systems。

Nervana的IP和加速深度學習算法經驗可幫助Intel在人工智慧領域獲得一席之地。

Nervana提供基於雲的服務用於深度學習,使用獨立開發的、使用彙編級別優化的、支持多GPU的Neon軟體,在卷積計算時採用了Winograd算法,數據載入也做了很多優化。

該公司宣稱,訓練模型時,Neon比使用最普遍的Caffe快2倍。

不僅如此,Nervana準備推出深度學習定製晶片Nervana Engine,相比GPU在訓練方面可以提升10倍性能。

與Tesla P100類似,該晶片也利用16-bit半精度浮點計算單元和大容量高帶寬內存(HBM,計劃為32GB,是競品P100的兩倍),摒棄了大量深度學習不需要的通用計算單元。

在硬體基礎上,Nervana於11月份推出了Intel Nervana Graph平台(簡稱ngraph)。

該框架由三部分組成:一個用於創建計算圖的API、用於處理常見深度學習工作流的前端API(目前支持TensorFlow和Neon)、用於在 CPU/GPU/Nervana Engine上編譯執行計算圖的轉換器API。

與此同時宣布成立Intel Nervana人工智慧委員會,加拿大蒙特婁大學Yoshua Bengio教授擔任創始會員。

圖7 Nervana Engine晶片架構

圖7 Nervana Engine晶片架構

8月17日,在Intel開發者峰會(IDF)上,Intel透露了面向深度學習應用的新Xeon Phi處理器,名為Knights Mill(縮寫為 KNM)。

它不是Knights Landing和Knights Hill的競品,而是定位在神經網絡雲服務中與NVIDIA Tesla GPU一較高下。

圖8 ngraph框架

9月6日,Intel收購計算機視覺創業公司Movidius。

Movidius是人工智慧晶片廠商,提供低能耗計算機視覺晶片組。

Google眼鏡內配置了Movidius計算機視覺晶片。

Movidius晶片可以應用在可穿戴設備、無人機和機器人中,完成目標識別和深度測量等任務。

除了Google之外Movidius與國內聯想和大疆等公司簽訂了協議。

Movidius的Myriad 2系列圖形處理器已經被聯想用來開發下一代虛擬現實產品。

9月8日,Intel FPGA技術大會(IFTD)杭州站宣布了Xeon-FPGA集成晶片項目。

這是Intel併購Altera後最大的整合舉動,Intel將推出CPU+FPGA架構的硬體平台,該平台預計於2017年量產,屆時,一片Skylake架構的Xeon CPU和一片Stratix10的FPGA將「合二為一」,通過QPI Cache一致性互聯使FPGA獲得高帶寬、低延遲的數據通路。

在這種形態中,FPGA本身就成為了CPU的一部分,甚至CPU上的軟體無需「感知」到FPGA的存在,直接調用mkl庫就可以利用 FPGA來加速某些計算密集的任務。

Xeon-FPGA樣機已經在世界七大雲廠商(Amazon、Google、微軟、Facebook、百度、阿里、騰訊)試用,用於加速各自業務熱點和基礎設施,包括機器學習、搜索算法、資料庫、存儲、壓縮、加密、高速網絡互連等。

除了上面CPU+FPGA集成的解決方案,Altera也有基於PCIe加速卡的解決方案。

圖9 Xeon-FPGA集成晶片架構

圖9 Xeon-FPGA集成晶片架構

11月8日ISDF大會上宣布,預計明年將銷售深度學習預測加速器(DLIA,Deep Learning Inference Accelerator)。

該加速器為軟硬體集成的解決方案,用於加速卷積神經網絡的預測(即前向計算)。

軟體基於Intel MKL-DNN軟體庫和Caffe框架,便於二次開發,基於PCIe的FPGA加速卡提供硬體加速。

該產品將直接同Google TPU、NVIDIA Tesla P4/M4展開競爭。

小結: Intel在人工智慧領域的動作之大(All in AI),品類之全(面向訓練、預測,面向伺服器、嵌入式),涉獵之廣(Xeon Phi,FPGA,ASIC)令人為之一振。

冰凍三尺非一日之寒,AI硬體和上層軟體的推廣與普及還有很長一段路要走。

NVIDIA人工智慧布局

NVIDIA財報顯示,深度學習用戶目前占據數據中心銷售額一半,而HPC占三分之一,剩下的為虛擬化(例如虛擬桌面)。

這也驅動NVIDIA在硬體架構和軟體庫方面不斷加強深度學習性能,典型例子是在Maxwell處理器中最大化單精度性能,而在Pascal架構中增加了半精度運算單元。

與HPC不同,深度學習軟體能夠利用較低精度實現較高吞吐。

Pascal架構

在4月5日GTC(GPU Technology Conference)2016大會上,NVIDIA發布了16nm FinFET製程超級核彈帕斯卡(Pascal)顯卡,最讓人驚嘆的還是一款定位於深度學習的超級計算機DGX-1。

DGX-1擁有8顆帕斯卡架構GP100核心的Tesla P100 GPU,以及7TB的SSD,兩顆16核心的Xeon E5-2698 v3以及512GB的DDR4內存,半精度浮點處理能力170TFLOPS,功耗3.2kW。

售價129000美元,現已面市。

9月13日,NVIDIA在GTC中國北京站發布了Tesla P4和P40。

這兩個處理器也基於最新的Pascal架構,是去年發布的M4和M40的升級版,包括了面向深度學習預測計算的功能單元,丟掉了64位雙精度浮點計算單元,取而代之的是8-bit整數算法單元。

詳細參數如下。

圖10 DGX-1外觀

圖10 DGX-1外觀

Tesla P4為半高半長卡,功耗只有50~75W,便於安裝到已有的Web Server提供高效的預測服務。

同時,P4包括一個視頻解碼引擎和兩個視頻編碼引擎,對基於視頻的預測服務更為適合。

Tesla P40與P4用途稍有不同,絕對性能高,適合訓練+預測,使用GoogLeNet評估時相比上一代M40有8倍性能提升。

圖11 Tesla P4/P40參數對比

圖11 Tesla P4/P40參數對比

Tesla P100仍然是最合適訓練的GPU,自帶NVLink多GPU快速互聯接口和HBM2。

這些特性是P40和P4不具備的,因為面向預測的GPU不需要這些。

Pascal家族從P100到P4,相對三年前的Kepler架構提速達到40~60倍。

在硬體之外,NVIDIA軟體方面也不遺餘力。

圖12 NVIDIA Pascal架構軟硬體加速情況

圖12 NVIDIA Pascal架構軟硬體加速情況

cuDNN

NVIDIA CUDA深度神經網絡庫(cuDNN)是一個GPU上的深度神經網絡原語加速庫。

cuDNN提供高度優化的標準功能(例如卷積、下採樣、歸一化、激活層、LSTM的前向和後向計算)實現。

目前cuDNN支持絕大多數廣泛使用的深度學習框架如Caffe、TensorFlow、Theano、Torch和CNTK等。

對使用頻率高的計算,如VGG模型中的3x3卷積做了特別優化。

支持Windows/Linux/MacOS系統,支持Pascal/Maxwell/Kepler硬體架構,支持嵌入式平台Tegra K1/X1。

在Pascal架構上使用FP16實現,以減少內存占用並提升計算性能。

TensorRT

TensorRT是一個提供更快響應時間的神經網絡預測引擎,適合深度學習應用產品上線部署。

開發者可以使用TensorRT實現高效預測,利用INT8或FP16優化過的低精度計算,可以顯著降低延遲。

圖13 TensorRT的使用方式

圖13 TensorRT的使用方式

DeepStream SDK支持深度學習視頻分析,在送入預測引擎之前做解碼、預處理。

這兩個軟體庫都是與Pascal GPU一起使用的。

小結: NVIDIA是最早在AI發力的硬體廠商,但從未停止在軟體上的開發和探索,不斷向上發展,蠶食、擴充自己在AI的地盤,目前已經涵蓋伺服器/嵌入式平台,面向多個專用領域(自動駕駛、醫療健康、超算),具備極強的爆發力(從今年NVIDIA股票也能看出這一點)。

FPGA 崛起

FPGA(Field-Programmable Gate Array)是現場可編程門陣列的英文縮寫。

簡單來說,FPGA就像是一塊空白的數字電路,開發者可以通過編寫硬體代碼的方式來設計一個數字電路,代碼編寫完成後,類似軟體代碼中的編譯過程,FPGA的綜合器會對代碼進行綜合、布局布線,之後會生成一個二進位文件,將這個二進位文件燒寫到FPGA後,原本空白的FPGA就變成了開發者設計的電路,這就是「現場」和「可編程」的含義。

同時,FPGA可以反覆擦寫,通過燒寫不同的二進位文件來實現不同的功能。

因此,FPGA是介於專用集成電路(ASIC)和通用處理器(CPU)之間的一種硬體。

Xilinx和Altera是世界上最大的兩家FPGA廠商,共同占據了將近90%的市場份額。

在2015年,Intel以167億美元完成了對Altera的併購,併購後的Altera成為Intel可編程技術事業部。

此次併購足以見得Intel非常看重FPGA在其生態體系中的作用,可以從中看到Intel攜手FPGA進軍數據中心的決心。

圖14為Altera的FPGA晶片。

歷史上的FPGA作為「膠合」邏輯廣泛應用於信號處理、ASIC驗證等領域。

所謂膠合邏輯即兩個硬體模塊進行互聯時常常發現硬體接口、通信協議不匹配,這時在中間增加一級FPGA作為協議轉換器,就能實現兩個模塊之間通信和資源共享,而不需要修改原有模塊的軟硬體設計。

iPhone 7裡面集成的Lattice FPGA(ICE5LP4K)就是這樣的角色。

圖14 Altera FPGA近照

圖14 Altera FPGA近照

隨著工藝提升,集成度不斷加大,FPGA內部的DSP資源也逐漸變多、變強,甚至超過了普通的CPU、GPU,這時利用FPGA做計算加速也順理成章。

FPGA具有高度可定製性、細粒度並行性,低功耗等特點,吸引了網際網路企業的關注,越來越多的人在研究如何在數據中心中發揮FPGA的優勢。

受硬體資源限制,FPGA主要使用低精度(8-bit和16-bit)定點計算,所以一般都是面向神經網絡預測而非訓練。

值得注意的是,NVIDIA的低功耗GPU Tesla P4也專門面向預測,與FPGA形成了針鋒相對的形勢,在多種性能指標中P4也一騎絕塵碾壓大多數FPGA器件。

使用FPGA而非GPU的一個理由是,FPGA硬體連線可以定製,GPU架構是死的,升級硬體時需要重複投入資金,不像FPGA那樣可以更新硬體連線來實現硬體升級。

FPGA編程絕非普通軟體開發人員可以勝任。

它涉及指定晶片門級布局。

最近OpenCL和其他編譯器技術引入,使得FPGA設計難度大大降低。

微軟Azure

微軟在Azure上採用FPGA加速機器學習和其他需要大量吞吐的應用和服務已有五年多時間。

最早在2011年發起了Catapult項目。

第一次FPGA落地項目為Bing搜索排序算法,將吞吐提升了兩倍同時功耗降低至10%。

利用雲的巨大體量攤低成本,利用FPGA任意定製特性滿足各種各樣的應用場景,硬體可以實時升級。

最初的Catapult伺服器是雙路16核Xeon處理器+64GB RAM和一塊Altera Stratix V FPGA板卡,2 TB SATA磁碟和兩塊480GB美光SSD。

8月份,微軟發布了Catapult v2,特點是FPGA連接到CPU、主存和網絡。

這樣,FPGA可以直接與另一塊FPGA通信,而不需要經過CPU中轉。

該設計更適合水平擴展。

除了加速AI應用,FPGA也用於加速Azure的25G網絡設施,根據微軟報告,FPGA可以實現1/10延遲。

由於可動態配置,FPGA可以同時加速網絡和機器學習應用。

9月27日,微軟CEO Satya Nadella與工程師Doug Burger在亞特蘭大Ignite會議上聯合宣布每個Azure雲伺服器都安裝了Altera FPGA(Catapult 2)。

在演示環節,一個裝備4塊FPGA的伺服器僅需2.6秒就能把1440頁著名的俄語小說《戰爭與和平》翻譯為英語,而一個24核CPU伺服器完成相同任務需要19.9秒,功耗高60W。

展示用的FPGA伺服器使用10核CPU和4塊基於Altera Stratix V D5 FPGA加速卡,其功耗為30W,峰值處理性能為7.9TOPS。

使用同樣的4塊FPGA伺服器將英文版Wikipedia全部30億文本翻譯為另一種語言需要4個小時,而Azure整個雲都配備了FPGA,當Burger將幾乎全部Azure計算能力(差不多1 EOPS)投入計算時,耗時不到0.1秒。

圖15 Azure FPGA加速文本翻譯展示

圖15 Azure FPGA加速文本翻譯展示

Xilinx收購Auviz Systems

Xilinx於9月宣布收購在卷積神經網絡(CNN)領域有獨到研究的Auviz Systems公司,這家成立僅三年的公司,專注於數據中心和嵌入式系統的加速應用,擅長機器學習、視覺算法和FPGA實現。

Auviz Systems提供基於FPGA的中間件IP,以減少應用程式的功耗。

對於需要以低功耗實現高性能的應用,他們提供了FPGA庫如AuvizCV, AuvizLA,AuvizDNN以及定製加速器和服務。

而針對FPGA,Auviz庫支持用C/C++或者OpenCL平台進行編程。

實際上,最近在人工智慧領域熱門的本土新創公司深鑒科技也採用賽靈思的FPGA完成卷積處理,深鑒科技的創始人汪玉在Xilinx大學計劃年會上發言時特彆強調了FPGA在卷積神經網絡實現上的優勢。

深鑒成立於2016年3月,DeePhi提供軟硬體協同設計方案,實現從模型到硬體的完整工作流。

圖16 AuvizDNN加速CNN

圖16 AuvizDNN加速CNN

小結:如果說只有大公司才有足夠的財力、人力、物力去設計專用人工智慧晶片,那麼對於大多數中小企業而言,FPGA是更好的選擇,設計相對靈活,成本投入更低,投放市場時間(Time-to-Market)更短。

在人工智慧硬體的舞台上,無論Hot Chips、 SC16還是ISSCC,我們看到越來越多的FPGA解決方案,呈現百花齊放百家爭鳴的盛景。

嵌入式人工智慧崛起

前面論述的絕大多數軟硬體都是在伺服器端的,無論Google TPU還是Azure上的FPGA,更不用說NVIDIA DGX-1這樣的龐然大物。

這些「高大上」的概念讓普通人敬而遠之。

而與我們生活息息相關的大多數場景都與移動設備、嵌入式設備相連。

值得注意的是,今年嵌入式設備上的人工智慧也成為一道亮麗的風景。

眾多初創企業投入了這股熱潮,努力將人工智慧與具體用戶需求結合,創造更具性價比的智能產品。

今年ILSVRC比賽冠軍商湯科技和海康威視,主要產品都是嵌入式設備,從而也為人工智慧真正紮根到廣大人民群眾中間做好了準備,相信不出幾年我們身邊將會出現越來越多智能設備像智能手環、智能家居、智能健康設備、智能自行車、智能汽車、智能秘書幫我們完成細緻而瑣碎的工作。

TensorFlow

AlphaGo的靈魂就是TensorFlow。

一年前,Google就將TensorFlow完全開源。

半年前,Google發布了專門加速TensorFlow的硬體TPU。

在短短的一年內,它的提交就超過了10000次,Google大腦部門做了許多性能改進:增加了對分布式培訓的支持,支持從iOS到樹莓派(Raspberry Pi)平台,與廣泛使用的Hadoop/Spark大數據基礎設施集成;發布了領先的圖像分類模型Inception;目前是最流行的機器學習項目,廣泛用於語音識別、圖像識別、自然語言處理等多項機器學習和深度學習領域。

TensorFlow是第一個可以在iOS、Android設備和樹莓派等移動設備/嵌入式設備上面運行的機器學習框架。

這樣可以在有攝像頭的手機上運行TensorFlow的Inception分類器或自定義的分類器,只要把攝像頭對準你希望做分類的東西,TensorFlow就會告訴你它認為這是什麼。

Cartographer

Google在10月8日宣布開源Cartographer,這是一個ROS系統支持的2D和3D同步定位與製圖技術(SLAM,simultaneous localization and mapping)庫。

SLAM是眾多自動駕駛平台的重要組件,比如自動駕駛汽車、倉庫中的自動叉車、掃地機器人、UAVs等。

在產業界和學術界常見的傳感器配置上,Cartographer能實時建立全局一致的地圖。

Google在官方聲明中提到,SLAM算法結合了來自多個傳感器的數據,比如LiDAR雷射雷達傳感器、IMU慣性測量單元,還有來自多個攝像頭的數據。

綜合這些龐雜的數據,得以計算傳感器及傳感器周圍的環境。

Cartographer現已經支持Toyota HSR、TurtleBots、PR2、Revo LDS這幾個機器人平台。

Caffe2Go

Facebook於11月8日宣布將深度學習系統Caffe2Go開源,可以完全運行在智慧型手機上,目的是讓開發者更容易接觸到人工智慧。

相比TensorFlow,晚了整整一年。

為了可以在iOS和Android設備上高效地運行各種深度神經網絡,Facebook將用於圖像和視頻處理的AI模型壓縮了100倍。

最終實現在某些手機上用不到二十分之一秒的時間完成AI預測過程。

嵌入式設備並不總是獨立作戰,一些計算複雜度較高的任務會採用「雲+端」的處理架構,一個例子是10月18日錘子手機新品發布會上演示的科大訊飛輸入法,通過語音輸入轉換為文字,準確率達97%,其背後是基於深度學習的語音識別系統,單純依靠移動端是難以實現的,即使實現了也會有諸如手機發燙、電池不夠用等問題,將任務合理分工,「雲+端」協作完成複雜任務,可以大幅提升用戶體驗。

小結:可以預見,將來會有更多具備人工智慧功能的嵌入式設備和移動App,進一步拉近我們與人工智慧距離,成為密不可分的知心朋友。

或許有一天你幾乎無法分辨你的微信好友究竟是人,還是AI。

總結

2016年是「智能駕駛元年」、「人工智慧硬體元年」、「增強學習元年」、「嵌入式人工智慧元年」。

算法和模型創新、硬體提速、應用創新這三駕馬車,將帶領我們高速奔向更加智能的時代。


請為這篇文章評分?


相關文章 

2017年全球AI晶片公司大盤點

2017年,我們被AI公司的融資信息一次次刷屏,從2千萬到1億美金,讓我驚詫道,AI的黃金年代真的來了嗎?接下來讓我們一起回顧一下2016-2017年AI晶片公司融資概況。

人工智慧晶片發展的現狀及趨勢

來源:《科技導報》2018年第17期 作者:尹首一、郭珩、魏少軍自 1956年達特茅斯會議以來,關於人工智慧(artificial intelligence, AI)的研究由於受到智能算法、計算...