一、 人工智能技術(shù)發(fā)展概述
(一) 人工智能技術(shù)流派發(fā)展簡(jiǎn)析
讓機(jī)器實(shí)現(xiàn)人的智能,一直是人工智能學(xué)者不斷追求的目標(biāo),不同學(xué)科背景或應(yīng)用領(lǐng)域的學(xué)者,從不同角度,用不同的方法,沿著不同的途徑對(duì)智能進(jìn)行了探索。其中,符號(hào)主義、連接主義和行為主義是人工智能發(fā)展歷史上的三大技術(shù)流派。
符號(hào)主義又稱(chēng)為邏輯主義,在人工智能早期一直占據(jù)主導(dǎo)地位。該學(xué)派認(rèn)為人工智能源于數(shù)學(xué)邏輯,其實(shí)質(zhì)是模擬人的抽象邏輯思維,用符號(hào)描述人類(lèi)的認(rèn)知過(guò)程。早期的研究思路是通過(guò)基本的推斷步驟尋求完全解,出現(xiàn)了邏輯理論家和幾何定理證明器等。上世紀(jì)70年代出現(xiàn)了大量的專(zhuān)家系統(tǒng),結(jié)合了領(lǐng)域知識(shí)和邏輯推斷,使得人工智能進(jìn)入了工程應(yīng)用。PC機(jī)的出現(xiàn)以及專(zhuān)家系統(tǒng)高昂的成本,使符號(hào)學(xué)派在人工智能領(lǐng)域的主導(dǎo)地位逐漸被連接主義取代。
連接主義又稱(chēng)為仿生學(xué)派,當(dāng)前占據(jù)主導(dǎo)地位。該學(xué)派認(rèn)為人工智能源于仿生學(xué),應(yīng)以工程技術(shù)手段模擬人腦神經(jīng)系統(tǒng)的結(jié)構(gòu)和功能。連接主義最早可追溯到1943年麥卡洛克和皮茨創(chuàng)立的腦模型,由于
受理論模型、生物原型和技術(shù)條件的限制,在20世紀(jì)70年代陷入低潮。直到1982年霍普菲爾特提出的Hopfield神經(jīng)網(wǎng)絡(luò)模型和 986年魯梅爾哈特等人提出的反向傳播算法,使得神經(jīng)網(wǎng)絡(luò)的理論研究取得了突破。2006年,連接主義的領(lǐng)軍者 Hinton 提出了深度學(xué)習(xí)算法,使神經(jīng)網(wǎng)絡(luò)的能力大大提高。2012年,使用深度學(xué)習(xí)技術(shù)的AlexNet模型在 ImageNet 競(jìng)賽中獲得冠軍。
行為主義又稱(chēng)為進(jìn)化主義,近年來(lái)隨著AlphaGo取得的突破而受到廣泛關(guān)注。該學(xué)派認(rèn)為人工智能源于控制論,智能行為的基礎(chǔ)是“感知—行動(dòng)”的反應(yīng)機(jī)制,所以智能無(wú)需知識(shí)表示,無(wú)需推斷。智能只是在與環(huán)境交互作用中表現(xiàn)出來(lái),需要具有不同的行為模塊與環(huán)境交互,以此來(lái)產(chǎn)生復(fù)雜的行為。
在人工智能的發(fā)展過(guò)程中,符號(hào)主義、連接主義和行為主義等流派不僅先后在各自領(lǐng)域取得了成果,各學(xué)派也逐漸走向了相互借鑒和融合發(fā)展的道路。特別是在行為主義思想中引入連接主義的技術(shù),從而誕生了深度強(qiáng)化學(xué)習(xí)技術(shù),成為AlphaGo戰(zhàn)勝李世石背后最重要的技術(shù)手段。
(二) 深度學(xué)習(xí)帶動(dòng)本輪人工智能發(fā)展
深度學(xué)習(xí)已經(jīng)在語(yǔ)音識(shí)別、圖像識(shí)別等領(lǐng)域取得突破。深度學(xué)習(xí)全稱(chēng)深度神經(jīng)網(wǎng)絡(luò),本質(zhì)上是多層次的人工神經(jīng)網(wǎng)絡(luò)算法,即從結(jié)構(gòu)上模擬人腦的運(yùn)行機(jī)制,從最基本的單元上模擬了人類(lèi)大腦的運(yùn)行機(jī)制。深度學(xué)習(xí)已經(jīng)開(kāi)始在計(jì)算機(jī)視覺(jué)、語(yǔ)音識(shí)別、自然語(yǔ)言理解等領(lǐng)域取得了突破。在語(yǔ)音識(shí)別領(lǐng)域,2010年,使用深度神經(jīng)網(wǎng)絡(luò)模型的語(yǔ)音識(shí)別相對(duì)傳統(tǒng)混合高斯模型識(shí)別錯(cuò)誤率降低超過(guò) 20%,目前所有的商用語(yǔ)音識(shí)別算法都基于深度學(xué)習(xí)。在圖像分類(lèi)領(lǐng)域,目前針對(duì)ImageNet數(shù)據(jù)集的算法分類(lèi)精度已經(jīng)達(dá)到了 95%以上,可以與人的分辨能力相當(dāng)。深度學(xué)習(xí)在人臉識(shí)別、通用物體檢測(cè)、圖像語(yǔ)義分割、自然語(yǔ)言理解等領(lǐng)域也取得了突破性的進(jìn)展。
海量的數(shù)據(jù)和高效的算力支撐是深度學(xué)習(xí)算法實(shí)現(xiàn)的基礎(chǔ)。深度學(xué)習(xí)分為訓(xùn)練(training)和推斷(inference)兩個(gè)環(huán)節(jié)。訓(xùn)練需要海量數(shù)據(jù)輸入,訓(xùn)練出一個(gè)復(fù)雜的深度神經(jīng)網(wǎng)絡(luò)模型。推斷指利用訓(xùn)練好的模型,使用待判斷的數(shù)據(jù)去“推斷”得出各種結(jié)論。大數(shù)據(jù)時(shí)代的到來(lái),圖形處理器(Graphics Processing Unit,GPU)等各種更加強(qiáng)大的計(jì)算設(shè)備的發(fā)展,使得深度學(xué)習(xí)可以充分利用海量數(shù)據(jù)(標(biāo)注數(shù)據(jù)、弱標(biāo)注數(shù)據(jù)或無(wú)標(biāo)注數(shù)據(jù)),自動(dòng)地學(xué)習(xí)到抽象的知識(shí)表達(dá),即把原始數(shù)據(jù)濃縮成某種知識(shí)。當(dāng)前基于深度學(xué)習(xí)的人工智能技術(shù)架構(gòu)如圖1所示。
二、基于深度學(xué)習(xí)的人工智能技術(shù)現(xiàn)狀
(一)基于深度學(xué)習(xí)的人工智能技術(shù)體系綜述
當(dāng)前,基于深度學(xué)習(xí)的人工智能算法主要依托計(jì)算機(jī)技術(shù)體系架構(gòu)實(shí)現(xiàn),深度學(xué)習(xí)算法通過(guò)封裝至軟件框架1的方式供開(kāi)發(fā)者使用。軟件框架是整個(gè)技術(shù)體系的核心,實(shí)現(xiàn)對(duì)人工智能算法的封裝,數(shù)據(jù)的調(diào)用以及計(jì)算資源的調(diào)度使用。為提升算法實(shí)現(xiàn)的效率,其編譯器及底層硬件技術(shù)也進(jìn)行了功能優(yōu)化。具體架構(gòu)請(qǐng)見(jiàn)圖1中的基礎(chǔ)硬件層、深度神經(jīng)網(wǎng)絡(luò)模型編譯器及軟件框架三層。
本章所探討的人工智能技術(shù)體系主要包含三個(gè)維度,一是針對(duì)人工智能算法原理本身的探討,二是對(duì)算法實(shí)現(xiàn)所依托的技術(shù)體系進(jìn)行概述,三是針對(duì)深度學(xué)習(xí)所需的數(shù)據(jù)進(jìn)行分析。
1. 基礎(chǔ)硬件層
基礎(chǔ)硬件層為算法提供了基礎(chǔ)計(jì)算能力。硬件層涵蓋范圍除了中央處理器(Central Processing Unit,CPU)及GPU外,還包括為特定場(chǎng)景應(yīng)用而定制的計(jì)算芯片,以及基于計(jì)算芯片所定制的服務(wù)器,包括 GPU 服務(wù)器集群,各類(lèi)移動(dòng)終端設(shè)備以及類(lèi)腦計(jì)算機(jī)等。
2. 深度神經(jīng)網(wǎng)絡(luò)模型編譯器
深度神經(jīng)網(wǎng)絡(luò)模型編譯器是底層硬件和軟件框架、以及不同軟件框架之間的橋梁。該層旨在為上層應(yīng)用提供硬件調(diào)用接口,解決不同上層應(yīng)用在使用不同底層硬件計(jì)算芯片時(shí)可能存在的不兼容等問(wèn)題。其涵蓋范圍包括針對(duì)人工智能計(jì)算芯片定向優(yōu)化的深度神經(jīng)網(wǎng)絡(luò)模型編譯器,以及針對(duì)不同神經(jīng)網(wǎng)絡(luò)模型表示的規(guī)定及格式。
3. 軟件框架層
軟件框架層實(shí)現(xiàn)算法的模塊化封裝,為應(yīng)用開(kāi)發(fā)提供集成軟件工具包。該層涵蓋范圍包括針對(duì)算法實(shí)現(xiàn)開(kāi)發(fā)的各類(lèi)應(yīng)用及算法工具包,為上層應(yīng)用開(kāi)發(fā)提供了算法調(diào)用接口,提升應(yīng)用實(shí)現(xiàn)的效率。
1. 基礎(chǔ)應(yīng)用技術(shù)
當(dāng)前人工智能的商業(yè)化實(shí)現(xiàn)主要是基于計(jì)算機(jī)視覺(jué)、智能語(yǔ)音、自然語(yǔ)言處理等基礎(chǔ)應(yīng)用技術(shù)實(shí)現(xiàn),并形成了相應(yīng)的產(chǎn)品或服務(wù)。本部分將在第三章進(jìn)行詳細(xì)討論。
(二) 算法發(fā)展趨勢(shì)
當(dāng)前,人工智能算法已經(jīng)能夠完成智能語(yǔ)音語(yǔ)義、計(jì)算機(jī)視覺(jué)等智能化任務(wù),在棋類(lèi)、電子游戲?qū)?,多媒體數(shù)據(jù)生成等前沿領(lǐng)域也取得了一定進(jìn)展,為人工智能應(yīng)用落地提供了可靠的理論保障。
1. 算法的設(shè)計(jì)邏輯
人工智能算法的設(shè)計(jì)邏輯可以從“學(xué)什么”、“怎么學(xué)”和“做什么”三個(gè)維度進(jìn)行概括。
首先是學(xué)什么。人工智能算法需要學(xué)習(xí)的內(nèi)容,是能夠表征所需 完成任務(wù)的函數(shù)模型。該函數(shù)模型旨在實(shí)現(xiàn)人們需要的輸入和輸出的映射關(guān)系,其學(xué)習(xí)的目標(biāo)是確定兩個(gè)狀態(tài)空間(輸入空間和輸出空間) 內(nèi)所有可能取值之間的關(guān)系;其次是怎么學(xué)。算法通過(guò)不斷縮小函數(shù) 模型結(jié)果與真實(shí)結(jié)果誤差來(lái)達(dá)到學(xué)習(xí)目的,一般該誤差稱(chēng)為損失函數(shù)。損失函數(shù)能夠合理量化真實(shí)結(jié)果和訓(xùn)練結(jié)果的誤差,并將之反饋給機(jī) 器繼續(xù)作迭代訓(xùn)練,最終實(shí)現(xiàn)學(xué)習(xí)模型輸出和真實(shí)結(jié)果的誤差處在合 理范圍;最后是做什么。機(jī)器學(xué)習(xí)主要完成三件任務(wù),即分類(lèi)、回歸
和聚類(lèi)。目前多數(shù)人工智能落地應(yīng)用,都是通過(guò)對(duì)現(xiàn)實(shí)問(wèn)題抽象成相應(yīng)的數(shù)學(xué)模型,分解為這三類(lèi)基本任務(wù)進(jìn)行有機(jī)組合,并對(duì)其進(jìn)行建模求解的過(guò)程。
2. 算法的主要任務(wù)
人工智能實(shí)際應(yīng)用問(wèn)題經(jīng)過(guò)抽象和分解,主要可以分為回歸、分類(lèi)和聚類(lèi)三類(lèi)基本任務(wù),針對(duì)每一類(lèi)基本任務(wù),人工智能算法都提供了各具特點(diǎn)的解決方案:
一是回歸任務(wù)的算法?;貧w是一種用于連續(xù)型數(shù)值變量預(yù)測(cè)和建模的監(jiān)督學(xué)習(xí)算法。目前回歸算法最為常用的主要有四種,即線性回歸(正則化)、回歸樹(shù)(集成方法)、最鄰近算法和深度學(xué)習(xí)。二是分類(lèi)任務(wù)的算法。分類(lèi)算法用于分類(lèi)變量建模及預(yù)測(cè)的監(jiān)督學(xué)習(xí)算法,分類(lèi)算法往往適用于類(lèi)別(或其可能性)的預(yù)測(cè)。其中最為常用的算法主要有五種,分別為邏輯回歸(正則化)、分類(lèi)樹(shù)(集成方法)、支持向量機(jī)、樸素貝葉斯和深度學(xué)習(xí)方法。三是聚類(lèi)任務(wù)的算法。聚類(lèi)算法基于數(shù)據(jù)內(nèi)部結(jié)構(gòu)來(lái)尋找樣本集群的無(wú)監(jiān)督學(xué)習(xí)任務(wù),使用案例包括用戶畫(huà)像、電商物品聚類(lèi)、社交網(wǎng)絡(luò)分析等。其中最為常用的算法主要有四種即 K 均值、仿射傳播、分層/ 層次和聚類(lèi)算法
(Density-Based Spatial Clustering of Applications with Noise,DBSCAN)。
1. 新算法不斷提出
近年來(lái),以深度學(xué)習(xí)算法為代表的人工智能技術(shù)快速發(fā)展,在計(jì)算機(jī)視覺(jué)、語(yǔ)音識(shí)別、語(yǔ)義理解等領(lǐng)域都實(shí)現(xiàn)了突破。但其相關(guān)算法目前并不完美,有待繼續(xù)加強(qiáng)理論性研究,也不斷有很多新的算法理論成果被提出,如膠囊網(wǎng)絡(luò)、生成對(duì)抗網(wǎng)絡(luò)、遷移學(xué)習(xí)等。
膠囊網(wǎng)絡(luò)是為了克服卷積神經(jīng)網(wǎng)絡(luò)的局限性而提出的一種新的網(wǎng)絡(luò)架構(gòu)。卷積神經(jīng)網(wǎng)絡(luò)存在著難以識(shí)別圖像中的位置關(guān)系、缺少空間分層和空間推理能力等局限性。受到神經(jīng)科學(xué)的啟發(fā),人工智能領(lǐng)軍人物 Hinton 提出了膠囊網(wǎng)絡(luò)的概念。膠囊網(wǎng)絡(luò)由膠囊而不是由神經(jīng)元構(gòu)成,膠囊由一小群神經(jīng)元組成,輸出為向量,向量的長(zhǎng)度表示物體存在的估計(jì)概率,向量的方向表示物體的姿態(tài)參數(shù)。膠囊網(wǎng)絡(luò)能同時(shí)處理多個(gè)不同目標(biāo)的多種空間變換,所需訓(xùn)練數(shù)據(jù)量小,從而可以有效地克服卷積神經(jīng)網(wǎng)絡(luò)的局限性,理論上更接近人腦的行為。但膠囊網(wǎng)絡(luò)也存在著計(jì)算量大、大圖像處理上效果欠佳等問(wèn)題,有待進(jìn)一步研究。
生成對(duì)抗網(wǎng)絡(luò)(GAN: Generative Adversarial Networks)是于 2014 年提出的一種生成模型。該算法核心思想來(lái)源于博弈論的納什均衡,通過(guò)生成器和判別器的對(duì)抗訓(xùn)練進(jìn)行迭代優(yōu)化,目標(biāo)是學(xué)習(xí)真實(shí)數(shù)據(jù)的分布,從而可以產(chǎn)生全新的、與觀測(cè)數(shù)據(jù)類(lèi)似的數(shù)據(jù)。與其他生成模型相比,GAN 有生成效率高、設(shè)計(jì)框架靈活、可生成具有更高質(zhì)量的樣本等優(yōu)勢(shì),2016 年以來(lái)研究工作呈爆發(fā)式增長(zhǎng),已成為人工智能一個(gè)熱門(mén)的研究方向。但GAN 仍存在難以訓(xùn)練、梯度消失、模式崩潰等問(wèn)題,仍處于不斷研究探索的階段。
遷移學(xué)習(xí)是利用數(shù)據(jù)、任務(wù)或模型之間的相似性,將學(xué)習(xí)過(guò)的模型應(yīng)用于新領(lǐng)域的一類(lèi)算法。遷移學(xué)習(xí)可大大降低深度網(wǎng)絡(luò)訓(xùn)練所需的數(shù)據(jù)量,縮短訓(xùn)練時(shí)間。其中,F(xiàn)ine-Tune 是深度遷移學(xué)習(xí)最簡(jiǎn)單的一種實(shí)現(xiàn)方式,通過(guò)將一個(gè)問(wèn)題上訓(xùn)練好的模型進(jìn)行簡(jiǎn)單的調(diào)整使其適用于一個(gè)新的問(wèn)題,具有節(jié)省時(shí)間成本、模型泛化能力好、實(shí)現(xiàn)簡(jiǎn)單、少量的訓(xùn)練數(shù)據(jù)就可以達(dá)到較好效果的優(yōu)勢(shì),已獲得廣泛應(yīng)用。
(三) 軟件框架成為技術(shù)體系核心
當(dāng)前,人工智能基礎(chǔ)性算法已經(jīng)較為成熟,各大廠商紛紛發(fā)力建設(shè)算法模型工具庫(kù),并將其封裝為軟件框架,供開(kāi)發(fā)者使用,可以說(shuō)軟件框架是算法的工程實(shí)現(xiàn)。企業(yè)的軟件框架實(shí)現(xiàn)有閉源和開(kāi)源兩種形式:蘋(píng)果公司等少數(shù)企業(yè)選擇閉源方式開(kāi)發(fā)軟件框架,目的是打造技術(shù)壁壘;目前業(yè)內(nèi)主流軟件框架基本都是開(kāi)源化運(yùn)營(yíng)。本篇主要關(guān)注開(kāi)源軟件框架的技術(shù)特點(diǎn),對(duì)閉源軟件框架不做過(guò)多討論。
1. 開(kāi)源軟件框架百花齊放各具特點(diǎn)
人工智能?chē)?guó)際巨頭企業(yè)將開(kāi)源深度學(xué)習(xí)軟件框架作為打造開(kāi)發(fā)及使用生態(tài)核心的核心。總體來(lái)說(shuō)開(kāi)源軟件框架在模型庫(kù)建設(shè)及調(diào)用功能方面具有相當(dāng)共性,但同時(shí)又各具特點(diǎn)。業(yè)界目前主要有深度學(xué)習(xí)訓(xùn)練軟件框架和推斷軟件框架兩大類(lèi)別。
1) 深度學(xué)習(xí)訓(xùn)練軟件框架
基于深度學(xué)習(xí)的訓(xùn)練框架主要實(shí)現(xiàn)對(duì)海量數(shù)據(jù)的讀取、處理及訓(xùn)練,主要部署在 CPU 及 GPU 服務(wù)集群,主要側(cè)重于海量訓(xùn)練模型實(shí)
現(xiàn)、系統(tǒng)穩(wěn)定性及多硬件并行計(jì)算優(yōu)化等方面的任務(wù)。目前主流的深度學(xué)習(xí)訓(xùn)練軟件框架主要有 TensorFlow,MXNet,Caffe/2+PyTorch 等。
TensorFlow 以其功能全面,兼容性廣泛和生態(tài)完備而著稱(chēng)。該軟件框架由谷歌大腦(Google Brain)團(tuán)隊(duì)主要支撐,實(shí)現(xiàn)了多 GPU 上運(yùn)行深度學(xué)習(xí)模型的功能,可以提供數(shù)據(jù)流水線的使用程序,并具有模型檢查,可視化和序列化的配套模塊。其生態(tài)系統(tǒng)已經(jīng)成為深度學(xué)習(xí)開(kāi)源軟件框架最大的活躍社區(qū)。
MXNet 以其優(yōu)異性能及全面的平臺(tái)支持而著稱(chēng)。該軟件框架是由亞馬遜公司(Amazon)主導(dǎo)的深度學(xué)習(xí)平臺(tái),目前已經(jīng)捐獻(xiàn)到阿帕奇軟件基金會(huì)(Apache)進(jìn)行孵化。其主要特點(diǎn)包括:一是可以在全硬件平臺(tái)(包括手機(jī)端)運(yùn)行,提供包括 Python、R 語(yǔ)言、Julia、C++、Scala、Matlab 以及 Java 的編程接口;二是具有靈活的編程模型,支持命令式和符號(hào)式編程模型;三是從云端到客戶端可移植,可運(yùn)行于多 CPU、多 GPU、集群、服務(wù)器、工作站及移動(dòng)智能手機(jī);四是支持本地分布式訓(xùn)練,在多 CPU/GPU 設(shè)備上的分布式訓(xùn)練,使其可充分利用計(jì)算集群的規(guī)模優(yōu)勢(shì)。
Caffe/2+PyTorch 以其在圖像處理領(lǐng)域的深耕和易用性而著稱(chēng)。該軟件框架是由臉書(shū)公司(Facebook)主導(dǎo)的平臺(tái),目前 Caffe 1/2 兩個(gè)項(xiàng)目已經(jīng)合并到 PyTorch 統(tǒng)一維護(hù)。在圖像處理領(lǐng)域Caffe 有著深厚的生態(tài)積累,結(jié)合 PyTorch 作為一個(gè)易用性很強(qiáng)的軟件框架,越來(lái)越受到數(shù)據(jù)科學(xué)家的喜愛(ài)。我國(guó)很多人工智能圖像處理團(tuán)隊(duì)選擇PyTorch 作為主要工作平臺(tái)。
Microsoft Cognitive Toolkit (CNTK)以其在智能語(yǔ)音語(yǔ)義領(lǐng)域的優(yōu)勢(shì)及良好性能而著稱(chēng)。該軟件框架由微軟公司于2016 年基于 MIT 協(xié)議開(kāi)源,它具有速度快、可擴(kuò)展性強(qiáng)、商業(yè)級(jí)質(zhì)量高以及 C++和Python 兼容性好等優(yōu)點(diǎn),支持各種神經(jīng)網(wǎng)絡(luò)模型、異構(gòu)及分布式計(jì)算,依托于微軟的產(chǎn)品生態(tài),在語(yǔ)音識(shí)別、機(jī)器翻譯、類(lèi)別分析、圖像識(shí)別、圖像字幕、文本處理、語(yǔ)言理解和語(yǔ)言建模等領(lǐng)域都擁有良好應(yīng)用。
PaddlePaddle 以其易用性和支持工業(yè)級(jí)應(yīng)用而著稱(chēng)。該軟件框架是百度旗下的深度學(xué)習(xí)開(kāi)源平臺(tái),是我國(guó)自主開(kāi)發(fā)軟件框架代表。其最大特點(diǎn)就是易用性,得益于其對(duì)算法的封裝,對(duì)于現(xiàn)成算法(卷積神經(jīng)網(wǎng)絡(luò) VGG、深度殘差網(wǎng)絡(luò) ResNet、長(zhǎng)短期記憶網(wǎng)絡(luò) LSTM 等) 的使用可以直接執(zhí)行命令替換數(shù)據(jù)進(jìn)行訓(xùn)練。非常適合需要成熟穩(wěn)定的模型來(lái)處理新數(shù)據(jù)的情況。
除上之外,業(yè)界及學(xué)術(shù)界還存在著多個(gè)機(jī)器學(xué)習(xí)及深度學(xué)習(xí)軟件框架,如 Scikit-learn,Theano 等。這些軟件框架在其專(zhuān)長(zhǎng)領(lǐng)域仍然發(fā)揮重要作用。但由于各軟件框架的維護(hù)力量及發(fā)展思路不同,同時(shí)缺少貢獻(xiàn)人員,導(dǎo)致軟件框架發(fā)展水平略顯滯后,存在著包括算法庫(kù)擴(kuò)展不及時(shí),API 水平較低以及不支持分布式任務(wù)等問(wèn)題。
2) 深度學(xué)習(xí)推斷軟件框架基于深度學(xué)習(xí)的推斷的計(jì)算量相對(duì)訓(xùn)練過(guò)程小很多,但仍涉及到大量的矩陣卷積、非線性變換等運(yùn)算,為了滿足在終端側(cè)限定設(shè)備性能及功耗等因素的場(chǎng)景下,業(yè)界也開(kāi)發(fā)了眾多開(kāi)源的終端側(cè)軟件框架。
Caffe2go 是最早出現(xiàn)的終端側(cè)推斷軟件框架,能夠讓深層神經(jīng)網(wǎng)絡(luò)在手機(jī)上高效的運(yùn)行。由于終端側(cè)的GPU 設(shè)備性能有限,Caffe2go 是基于 CPU 的優(yōu)化進(jìn)行設(shè)計(jì)。TensorFlow Lite 可以運(yùn)行在 Android 和 iOS 平臺(tái),結(jié)合 Android 生態(tài)的神經(jīng)網(wǎng)絡(luò)運(yùn)行時(shí)能夠?qū)崿F(xiàn)較為高效的 AI 移動(dòng)端應(yīng)用速度。NCNN 是騰訊開(kāi)源的終端側(cè) AI 軟件框架, 支持多種訓(xùn)練軟件框架的模型轉(zhuǎn)換,是主要面向CPU 的AI 模型應(yīng)用, 無(wú)第三方依賴(lài)具有較高的通用性,運(yùn)行速度突出,是國(guó)內(nèi)目前較為廣泛使用的終端側(cè) AI 軟件框架。Core ML 是蘋(píng)果公司開(kāi)發(fā)的 iOS AI 軟件框架,能夠?qū)?Caffe、PyTorch、MXNet、TensorFlow 等絕大部分 AI 模型,并且自身提供了常用的各種手機(jī)端 AI 模型組件,目前也匯集了眾多開(kāi)發(fā)者及貢獻(xiàn)力量。Paddle-mobile 是百度自研的移動(dòng)端深度學(xué)習(xí)軟件框架,主要目的是將 Paddle 模型部署在手機(jī)端,其支持 iOS GPU 計(jì)算。但目前功能相對(duì)單一,支持較為有限。TensorRT 是英偉達(dá)(NVIDIA)開(kāi)發(fā)的深度學(xué)習(xí)推斷工具,已經(jīng)支持 Caffe、Caffe2、TensorFlow、MXNet、PyTorch 等主流深度學(xué)習(xí)庫(kù),其底層針對(duì)NVIDIA 顯卡做了多方面的優(yōu)化,可以和 CUDA 編譯器結(jié)合使用。
目前主要產(chǎn)業(yè)巨頭均推出了基于自身技術(shù)體系的訓(xùn)練及推斷軟件框架,但由于目前產(chǎn)業(yè)生態(tài)尚未形成,深度學(xué)習(xí)模型表示及存儲(chǔ)尚未統(tǒng)一,訓(xùn)練軟件框架及推斷軟件框架尚未形成一一對(duì)應(yīng)關(guān)系,技術(shù)生態(tài)爭(zhēng)奪將繼續(xù)持續(xù)。
2. 巨頭以開(kāi)源軟件框架為核心打造生態(tài)
人工智能開(kāi)源軟件框架生態(tài)的核心,是通過(guò)使用者和貢獻(xiàn)者之間的良好互動(dòng)和規(guī)?;?yīng),形成現(xiàn)實(shí)意義的標(biāo)準(zhǔn)體系和產(chǎn)業(yè)生態(tài),進(jìn)而占據(jù)人工智能核心的主導(dǎo)地位。開(kāi)源軟件框架的用戶包括最終服務(wù)及產(chǎn)品的使用者和開(kāi)發(fā)者。當(dāng)前開(kāi)源軟件框架的技術(shù)發(fā)展呈現(xiàn)出以下幾方面的特點(diǎn):
一是谷歌與其他公司間持續(xù)競(jìng)爭(zhēng)。巨頭公司在技術(shù)上將積極探尋包括模型互換,模型遷移等技術(shù)聯(lián)合,以對(duì)抗谷歌公司。例如臉書(shū)
(Facebook)和微軟已經(jīng)合作開(kāi)發(fā)了一個(gè)可互換的人工智能軟件框架解決方案。二是開(kāi)源軟件框架在向統(tǒng)一和標(biāo)準(zhǔn)化方向發(fā)展。隨著人工智能應(yīng)用的爆發(fā),開(kāi)發(fā)人員在不同平臺(tái)上創(chuàng)建模型及部署模型的需求愈發(fā)強(qiáng)烈,在各類(lèi)軟件框架間的模型遷移互換技術(shù)研發(fā)已經(jīng)成為重點(diǎn)。三是更高級(jí)的 API2逐漸占據(jù)主導(dǎo)地位。以Keras 為例,它是建立在TensorFlow、Theano、CNTK、MXNet 和 Gluon 上運(yùn)行的高級(jí)開(kāi)源神經(jīng)網(wǎng)絡(luò)庫(kù),以其高級(jí) API 易用性而得到了廣泛的使用。四是模型的集群并發(fā)計(jì)算成為業(yè)界研究熱點(diǎn)。當(dāng)前人工智能網(wǎng)絡(luò)對(duì)于單計(jì)算節(jié)點(diǎn)的 算力要求過(guò)高,但當(dāng)前主流開(kāi)源軟件框架對(duì)于模型分割進(jìn)行計(jì)算并沒(méi)有實(shí)現(xiàn),而這個(gè)問(wèn)題也將隨著應(yīng)用場(chǎng)景的不斷豐富而不斷引起重視,成為開(kāi)源軟件框架下一個(gè)核心競(jìng)爭(zhēng)點(diǎn)。
(四) 編譯器解決不同軟硬件的適配問(wèn)題
在實(shí)際工程應(yīng)用中,人工智能算法可選擇多種軟件框架實(shí)現(xiàn),訓(xùn)練和開(kāi)發(fā)人工智能模型也可有多種硬件選項(xiàng),這就開(kāi)發(fā)者帶來(lái)了不小
的挑戰(zhàn)。原因一是可移植性問(wèn)題,各個(gè)軟件框架的底層實(shí)現(xiàn)技術(shù)不同,導(dǎo)致在不同軟件框架下開(kāi)發(fā)的模型之間相互轉(zhuǎn)換存在困難;二是適應(yīng)性問(wèn)題,軟件框架開(kāi)發(fā)者和計(jì)算芯片廠商需要確保軟件框架和底層計(jì)算芯片之間良好的適配性。解決以上兩個(gè)挑戰(zhàn)的關(guān)鍵技術(shù)之一就是深度神經(jīng)網(wǎng)絡(luò)模型編譯器,它在傳統(tǒng)編譯器功能基礎(chǔ)上,通過(guò)擴(kuò)充面向深度學(xué)習(xí)網(wǎng)絡(luò)模型計(jì)算的專(zhuān)屬功能,以解決深度學(xué)習(xí)模型部署到多種設(shè)備時(shí)可能存在的適應(yīng)性和可移植性問(wèn)題。
1. 深度學(xué)習(xí)網(wǎng)絡(luò)模型編譯器解決適應(yīng)性問(wèn)題
傳統(tǒng)編譯器缺少對(duì)深度學(xué)習(xí)算法基礎(chǔ)算子(卷積、殘差網(wǎng)絡(luò)及全連接計(jì)算等)的優(yōu)化,且對(duì)人工智能多種形態(tài)的計(jì)算芯片適配缺失,針對(duì)人工智能底層計(jì)算芯片及上層軟件框架進(jìn)行適配優(yōu)化的編譯器需求強(qiáng)烈。目前業(yè)界主要采用依托傳統(tǒng)編譯器架構(gòu)進(jìn)行演進(jìn)升級(jí)的方式來(lái)解決這個(gè)問(wèn)題。當(dāng)前業(yè)界主流編譯器主要包括英偉達(dá)公司的CUDA 編譯器,英特爾公司開(kāi)發(fā)的 nGraph 以及華盛頓大學(xué)團(tuán)隊(duì)開(kāi)發(fā)的 NNVM 編譯器。
目前產(chǎn)業(yè)界絕大多數(shù)編譯器都是按照 LLVM 體系架構(gòu)設(shè)計(jì)的。LLVM 全稱(chēng) Low Level Virtual Machine,是一種應(yīng)用廣泛的開(kāi)源編譯器架構(gòu)。該項(xiàng)目由伊利諾伊大學(xué)發(fā)起,由于其開(kāi)源特性,目前已有基于這個(gè)軟件框架的大量工具可以使用,形成了具有實(shí)際標(biāo)準(zhǔn)意義的生態(tài)。
英偉達(dá)通過(guò)提供針對(duì) LLVM 內(nèi)核的 CUDA 源代碼及并行線程執(zhí)行后端打造了 CUDA 編譯器。該編譯器可支持C、C++以及 Fortran
語(yǔ)言,能夠?yàn)檫\(yùn)用大規(guī)模并行英偉達(dá) GPU 的應(yīng)用程序加速。英特爾基于 LLVM 架構(gòu)打造 nGraph 計(jì)算庫(kù),為深度學(xué)習(xí)提供優(yōu)化方法,可以處理所有的計(jì)算芯片抽象細(xì)節(jié),目前已經(jīng)開(kāi)發(fā)了 TensorFlow/XLA、MXNet 和 ONNX 的軟件框架橋梁;華盛頓大學(xué)基于LLVM 架構(gòu)打造了 NNVM/TVM 編譯器,能夠直接從多個(gè)深度學(xué)習(xí)前端將工作負(fù)載編譯成為優(yōu)化的機(jī)器代碼。實(shí)現(xiàn)端到端的全面優(yōu)化。
2. 中間表示層解決可移植性問(wèn)題
在工程實(shí)踐中,人工智能軟件框架訓(xùn)練完成的模型將按照中間表示層的規(guī)定進(jìn)行表達(dá)和存儲(chǔ)。中間表示層(Intermediate Representation, IR)是編譯器用來(lái)表示源碼的數(shù)據(jù)結(jié)構(gòu)或代碼,可以看作是不同中間件的集合,在性能優(yōu)化及通信方面有著非常重要的作用。上文介紹的LLVM 架構(gòu)最大優(yōu)點(diǎn)之一就是其有一個(gè)表達(dá)形式很好的中間表示層語(yǔ)言,這種模塊化設(shè)計(jì)理念能夠支撐各種功能擴(kuò)充,三大主流深度學(xué)習(xí)網(wǎng)絡(luò)模型編譯器均是通過(guò)在中間表示層中增加專(zhuān)屬優(yōu)化的中間件 來(lái)實(shí)現(xiàn)功能演進(jìn)創(chuàng)新的。
擴(kuò)充性能的中間表示層是打通深度學(xué)習(xí)計(jì)算中多種不同前端訓(xùn)練軟件框架和多種不同后端的表達(dá)橋梁,使深度學(xué)習(xí)網(wǎng)絡(luò)模型編譯器更有效實(shí)現(xiàn)二者之間的優(yōu)化和影射。在深度學(xué)習(xí)網(wǎng)絡(luò)模型編譯器中, 中間表示層的核心思想借鑒了 LLVM 架構(gòu)設(shè)計(jì),新增加的專(zhuān)屬中間件是解決推斷側(cè)模型運(yùn)行在不同硬件平臺(tái)的重要描述方法。當(dāng)前深度學(xué)習(xí)網(wǎng)絡(luò)模型編譯器的中間表示層主要分為 NNVM/TVM 和TensorFlow XLA 兩大陣營(yíng),但實(shí)際上類(lèi)似 ONNX、NNEF 等模型交換格式也是各種對(duì)中間層表示的定義。業(yè)界共識(shí)“IR”的競(jìng)爭(zhēng),將是未來(lái)軟件框架之爭(zhēng)的重要一環(huán)。
3. 未來(lái)亟需模型轉(zhuǎn)換及通用的模型表示
在工程實(shí)踐上,除了上文提到使用統(tǒng)一的中間表示層對(duì)模型進(jìn)行表達(dá)及存儲(chǔ)外,輸入數(shù)據(jù)格式以及模型表示規(guī)范也同樣是重要的影響因素。
主流軟件框架輸入數(shù)據(jù)集格式各有不同。由于在訓(xùn)練中已經(jīng)過(guò)清洗和標(biāo)注的數(shù)據(jù)依然面臨著多線程讀取、對(duì)接后端分布式文件系統(tǒng)等實(shí)際操作問(wèn)題,各主流人工智能軟件框架均采用了不同的技術(shù)和數(shù)據(jù)集格式來(lái)實(shí)現(xiàn)此類(lèi)數(shù)據(jù)操作。如TensorFlow 定義了 TFRecord、MXNet 及 PaddlePaddle 使用的是 RecordIO 等。
深度學(xué)習(xí)網(wǎng)絡(luò)模型的表示規(guī)范分為兩大陣營(yíng)。第一陣營(yíng)是 Open Neural Network Exchange(ONNX,開(kāi)放神經(jīng)網(wǎng)絡(luò)交換),是一個(gè)用于表示深度學(xué)習(xí)模型的標(biāo)準(zhǔn),可使模型在不同軟件框架之間進(jìn)行轉(zhuǎn)移。ONNX 由微軟和 Facebook 聯(lián)合發(fā)布,該系統(tǒng)支持的軟件框架目前主要包括 Caffe2,PyTorch,Cognitive Toolkit 和 MXNet,而谷歌的TensorFlow 并沒(méi)有被包含在內(nèi)。第二陣營(yíng)是 Neural Network Exchange Format(NNEF,神經(jīng)網(wǎng)絡(luò)交換格式),是由 Khronos Group 主導(dǎo)的跨廠商神經(jīng)網(wǎng)絡(luò)文件格式,計(jì)劃支持包括 Torch, Caffe, TensorFlow, 等 幾乎所有人工智能軟件框架的模型格式轉(zhuǎn)換,目前已經(jīng)有 30 多家計(jì)算芯片企業(yè)參與其中。
(五) AI 計(jì)算芯片提供算力保障
現(xiàn)有深度神經(jīng)網(wǎng)絡(luò)需要用更短的時(shí)間、更低功耗完成計(jì)算,這就給深度學(xué)習(xí)計(jì)算芯片提出了更高的要求。
1. 深度學(xué)習(xí)對(duì) AI 計(jì)算芯片的需求
總體來(lái)看,深度神經(jīng)網(wǎng)絡(luò)對(duì)計(jì)算芯片的需求主要有以下兩個(gè)方面:一是計(jì)算芯片和存儲(chǔ)間海量數(shù)據(jù)通信需求,這里有兩個(gè)層面,一個(gè)是緩存(Cache)和片上存儲(chǔ)(Memory)的要大,另一個(gè)是計(jì)算單元和存儲(chǔ)之間的數(shù)據(jù)交互帶寬要大。二是專(zhuān)用計(jì)算能力的提升,解決對(duì)卷積、殘差網(wǎng)絡(luò)、全連接等計(jì)算類(lèi)型的大量計(jì)算需求,在提升運(yùn)算速度的同時(shí)實(shí)現(xiàn)降低功耗??偟膩?lái)說(shuō),AI 計(jì)算芯片的發(fā)展過(guò)程可以總結(jié)為一直在圍繞如何有效解決存儲(chǔ)與計(jì)算單元的提升這兩個(gè)問(wèn)題而展 開(kāi),成本問(wèn)題則作為一個(gè)舵手控制著最終的航向。
2. 典型 AI 計(jì)算芯片的使用現(xiàn)狀
在深度學(xué)習(xí)訓(xùn)練環(huán)節(jié),除了使用 CPU 或 GPU 進(jìn)行運(yùn)算外,現(xiàn)場(chǎng)可編程門(mén)陣列( Field——Programmable Gate Array,FPGA)以及專(zhuān)用集成電路(Application Specific Integrated Circuit,ASIC)也發(fā)揮了重大作用;而用于終端推斷的計(jì)算芯片主要以ASIC 為主。
CPU 在深度學(xué)習(xí)訓(xùn)練場(chǎng)景下表現(xiàn)不佳。最初的深度學(xué)習(xí)場(chǎng)景是使用CPU 為架構(gòu)搭建的,如最初 GoogleBrain 就是基于CPU 組成的。但由于 CPU 其本身是通用計(jì)算器,大量芯片核心面積要服務(wù)于通用場(chǎng)景的元器件,導(dǎo)致可用于浮點(diǎn)計(jì)算的計(jì)算單元偏少,無(wú)法滿足深度學(xué)習(xí)特別是訓(xùn)練環(huán)節(jié)的大量浮點(diǎn)運(yùn)算需求,且并行計(jì)算效率太低,很快被具有數(shù)量眾多的計(jì)算單元、具備強(qiáng)大并行計(jì)算能力的 GPU 代替。
GPU 成為目前深度學(xué)習(xí)訓(xùn)練的首要選擇。GPU 的關(guān)鍵性能是并行計(jì)算,適合深度學(xué)習(xí)計(jì)算的主要原因一是高帶寬的緩存有效提升大量數(shù)據(jù)通信的效率。GPU 的緩存結(jié)構(gòu)為共享緩存,相比于 CPU,GPU 線程(Thread)之間的數(shù)據(jù)通訊不需要訪問(wèn)全局內(nèi)存,而在共享內(nèi)存中就可以直接訪問(wèn)。二是多計(jì)算核心提升并行計(jì)算能力。GPU 具有數(shù)以千計(jì)的計(jì)算核心,可實(shí)現(xiàn) 10-100 倍于CPU 的應(yīng)用吞吐量。同時(shí),基于由 NVIDIA 推出的通用并行計(jì)算架構(gòu) CUDA,使 GPU 能夠解決復(fù)雜的計(jì)算問(wèn)題。其包含的 CUDA 指令集架構(gòu)(ISA)以及 GPU 內(nèi)部的并行計(jì)算引擎可針對(duì)當(dāng)前深度學(xué)習(xí)計(jì)算進(jìn)行加速,但是由于深度學(xué)習(xí)算法還未完全穩(wěn)定,若深度學(xué)習(xí)算法發(fā)生大的變化,則 GPU 存在無(wú)法靈活適配問(wèn)題。
FPGA 在深度學(xué)習(xí)加速方面具有可重構(gòu)、可定制的特點(diǎn)。因 FPGA 沒(méi)有預(yù)先定義的指令集概念,也沒(méi)有確定的數(shù)據(jù)位寬,所以可以實(shí)現(xiàn)應(yīng)用場(chǎng)景的高度定制。但FPGA 的靈活性(通用性)也意味著效率的損失。由于FPGA 應(yīng)用往往都需要支持很大的數(shù)據(jù)吞吐量,這對(duì)于內(nèi)存帶寬和I/O 互連帶寬要求很高。同時(shí)由于邏輯利用率低,引發(fā)無(wú)效功耗大。
FPGA 市場(chǎng)化的主要阻礙是成本高昂,價(jià)格在幾十到幾萬(wàn)美元一片不等,且應(yīng)用者必須具備電路設(shè)計(jì)知識(shí)和經(jīng)驗(yàn)。由于FPGA 省去了流片過(guò)程,在深度學(xué)習(xí)發(fā)展初期成為計(jì)算芯片主要解決方案之一, 在GPU 和ASIC 中取得了權(quán)衡,很好的兼顧了處理速度和控制能力。
ASIC(專(zhuān)用集成電路,Application Specific Integrated Circuit)是不可配置的高度定制專(zhuān)用計(jì)算芯片。ASIC 不同于 GPU 和 FPGA 的靈活性,定制化的 ASIC 一旦制造完成將不能更改,所以初期成本高、開(kāi)發(fā)周期長(zhǎng),使得進(jìn)入門(mén)檻高。但ASIC 作為專(zhuān)用計(jì)算芯片性能高于FPGA,相同工藝的ASIC 計(jì)算芯片比FPGA 計(jì)算芯片快5-10 倍,同時(shí)規(guī)模效應(yīng)會(huì)使得 ASIC 的成本降低。但高昂的研發(fā)成本和研發(fā)周期是未來(lái)廣泛應(yīng)用的阻礙。ASIC 主要生產(chǎn)企業(yè)包括如 Google 的TPU 系列計(jì)算芯片,以及國(guó)內(nèi)的寒武紀(jì)、地平線等公司。
TPU 的核心為脈動(dòng)陣列機(jī),其設(shè)計(jì)思想是將多個(gè)運(yùn)算邏輯單元(ALU)串聯(lián)在一起,復(fù)用從一個(gè)寄存器中讀取的結(jié)果,從而有效平衡了運(yùn)算和 I/O 的需求。但其只適合做信號(hào)處理的卷積、信號(hào)和圖像處理(signal and image processing),矩陣算術(shù)(matrix arithmetic) 和一些非數(shù)值型應(yīng)用(non-numeric application)。
另一類(lèi) ASIC 代表企業(yè)為國(guó)內(nèi)寒武紀(jì),其 DianNao 系列核心思想為結(jié)合神經(jīng)網(wǎng)絡(luò)模型的數(shù)據(jù)局部性特點(diǎn)以及計(jì)算特性,進(jìn)行存儲(chǔ)體系以及專(zhuān)用硬件設(shè)計(jì),從而獲取更好的性能加速比以及計(jì)算功耗比。
(六) 數(shù)據(jù)為算法模型提供基礎(chǔ)資源
基于深度學(xué)習(xí)的人工智能技術(shù),核心在于通過(guò)計(jì)算找尋數(shù)據(jù)中的規(guī)律,運(yùn)用該規(guī)律對(duì)具體任務(wù)進(jìn)行預(yù)測(cè)和決斷。源數(shù)據(jù)需要進(jìn)行采集、標(biāo)注等處理后才能夠使用,標(biāo)注的數(shù)據(jù)形成相應(yīng)數(shù)據(jù)集。業(yè)務(wù)類(lèi)型主要包括數(shù)據(jù)采集、數(shù)據(jù)處理、數(shù)據(jù)存儲(chǔ)以及數(shù)據(jù)交易等環(huán)節(jié)。
當(dāng)前,人工智能數(shù)據(jù)集的參與主體主要有以下幾類(lèi):一是學(xué)術(shù)機(jī)構(gòu),為開(kāi)展相關(guān)研究工作,自行采集、標(biāo)注,并建設(shè)學(xué)術(shù)數(shù)據(jù)集。這類(lèi)數(shù)據(jù)集以 ImageNet 為代表,主要用于算法的創(chuàng)新性驗(yàn)證、學(xué)術(shù)競(jìng)賽等,但其迭代速度較慢,難用于實(shí)際應(yīng)用場(chǎng)景。二是政府,等中立機(jī)構(gòu),他們以公益形式開(kāi)放的公共數(shù)據(jù),主要包括政府、銀行機(jī)構(gòu)等行業(yè)數(shù)據(jù)及經(jīng)濟(jì)運(yùn)行數(shù)據(jù)等,數(shù)據(jù)標(biāo)注一般由使用數(shù)據(jù)的機(jī)構(gòu)完成。三是人工智能企業(yè),他們?yōu)殚_(kāi)展業(yè)務(wù)而自行建設(shè)數(shù)據(jù)集,企業(yè)一般自行采集,標(biāo)注形成自用數(shù)據(jù)集,或采購(gòu)專(zhuān)業(yè)數(shù)據(jù)公司提供的數(shù)據(jù)外包服務(wù)。四是數(shù)據(jù)處理外包服務(wù)公司,這類(lèi)公司業(yè)務(wù)包括出售現(xiàn)成數(shù)據(jù),訓(xùn)練集的使用授權(quán),或根據(jù)用戶的具體需求提供數(shù)據(jù)處理服務(wù)(用戶提供原始數(shù)據(jù)、企業(yè)對(duì)數(shù)據(jù)進(jìn)行轉(zhuǎn)寫(xiě)、標(biāo)注),具體業(yè)務(wù)服務(wù)形式包括且不限于提供數(shù)據(jù)庫(kù)資源、提供數(shù)據(jù)采集服務(wù),提供數(shù)據(jù)轉(zhuǎn)寫(xiě)標(biāo)注服務(wù)等。
當(dāng)前,人工智能基礎(chǔ)數(shù)據(jù)類(lèi)型主要包括語(yǔ)音語(yǔ)言類(lèi)(包括聲音、文字、語(yǔ)言學(xué)規(guī)則)、圖像識(shí)別類(lèi)(包括自然物體、自然環(huán)境、人造物體、生物特征等)以及視頻識(shí)別類(lèi)三個(gè)大類(lèi),從世界范圍來(lái)看,數(shù)據(jù)服務(wù)商總部主要分布在美國(guó)、歐洲等發(fā)達(dá)國(guó)家。但其數(shù)據(jù)處理人員則大多數(shù)分布在第三世界國(guó)家;我國(guó)語(yǔ)音、圖像類(lèi)資源企業(yè)機(jī)構(gòu)正處于快速發(fā)展階段,為產(chǎn)業(yè)發(fā)展增添了動(dòng)力。
(七) 高性能計(jì)算服務(wù)器和服務(wù)平臺(tái)快速發(fā)展
深度學(xué)習(xí)使用GPU 計(jì)算具有優(yōu)異表現(xiàn),催生了各類(lèi)GPU 服務(wù)器, 帶動(dòng)了 GPU 服務(wù)器的快速發(fā)展;同時(shí),也帶動(dòng)了以服務(wù)的形式提供人工智能所需要的能力,如深度學(xué)習(xí)計(jì)算類(lèi)的計(jì)算平臺(tái),以及語(yǔ)音識(shí)別,人臉識(shí)別等服務(wù),這也成為人工智能企業(yè)打造生態(tài)的重要抓手。
1. GPU 服務(wù)器服務(wù)器廠商相繼推出了專(zhuān)為 AI 而設(shè)計(jì)的、搭載 GPU 的服務(wù)器。GPU 服務(wù)器是基于GPU 應(yīng)用于視頻編解碼、深度學(xué)習(xí)、科學(xué)計(jì)算等多種場(chǎng)景的計(jì)算服務(wù)設(shè)備。GPU 服務(wù)器為 AI 云場(chǎng)景對(duì)彈性配置能力予以優(yōu)化,以增強(qiáng) PCI-E 拓?fù)浜蛿?shù)量配比的彈性,增加適配多種軟件框架的運(yùn)算需求,可以支持 AI 模型的線下訓(xùn)練和線上推理兩類(lèi)場(chǎng)景, 能夠讓 AI 模型訓(xùn)練性能最大化或 AI 在線推斷效能最大化,一般分為4 卡,8 卡,10 卡等多種類(lèi)型。
另外,英偉達(dá)等公司推出了專(zhuān)用的 GPU 一體機(jī)。例如DGX-1 系列深度學(xué)習(xí)一體機(jī),采用定制的硬件架構(gòu),并使用 NVlink 提升了CPU、GPU 以及內(nèi)存之間的通信速度和帶寬;同時(shí)搭載了集成了NVIDIA 開(kāi)發(fā)的操作系統(tǒng),NVIDIA docker 環(huán)境和很多常用的 Framework 的Docker 鏡像,實(shí)現(xiàn)了從底層硬件到上層軟件的緊密耦合。類(lèi)似的產(chǎn)品還有浪潮的 AGX-1 系列服務(wù)器。
2. 以服務(wù)的形式提供人工智能能力成為趨勢(shì)
為了解決企業(yè)自行搭建 AI 能力時(shí)遇到的資金、技術(shù)和運(yùn)維管理等方面困難,人工智能企業(yè)紛紛以服務(wù)的形式提供 AI 所需要的計(jì)算資源、平臺(tái)資源以及基礎(chǔ)應(yīng)用能力。這類(lèi)服務(wù)的意義在于一是有效推動(dòng)社會(huì)智能化水平的提升,降低企業(yè)使用人工智能的成本,推動(dòng)人工智能向傳統(tǒng)行業(yè)融合。二是人工智能服務(wù)化轉(zhuǎn)型的重要基礎(chǔ)。服務(wù)平臺(tái)使人工智能服務(wù)和應(yīng)用不再封裝于具體產(chǎn)品中,而可以在以線、隨用隨取的服務(wù)形式呈現(xiàn)。三是服務(wù)平臺(tái)成為垂直行業(yè)落地的重要基礎(chǔ)。近兩年,教育、醫(yī)療、金融等傳統(tǒng)行業(yè)對(duì)人工智能相關(guān)技術(shù)和應(yīng)用需求的不斷提升,而服務(wù)平臺(tái)是解決技術(shù)和應(yīng)用的基礎(chǔ)。
以服務(wù)形式提供人工智能服務(wù)主要有兩類(lèi),即平臺(tái)類(lèi)的服務(wù)和軟件 API 形式的服務(wù)。平臺(tái)類(lèi)服務(wù)主要包含 GPU 云服務(wù),深度學(xué)習(xí)平臺(tái)等,類(lèi)似云服務(wù)的基礎(chǔ)設(shè)施即服務(wù)(Infrastructure as a Service,IaaS)和平臺(tái)即服務(wù)(Platform as a Service,PaaS)層。GPU 云服務(wù)是以虛擬機(jī)的形式,為用戶提供 GPU 計(jì)算資源,可適用于深度學(xué)習(xí)、科學(xué)計(jì)算、圖形圖像渲染、視頻解碼等應(yīng)用場(chǎng)景。
深度學(xué)習(xí)平臺(tái)是以TensorFlow、Caffe、MXNet、Torch 等主流深度學(xué)習(xí)軟件框架為基礎(chǔ), 提供相應(yīng)的常用深度學(xué)習(xí)算法和模型,組合各種數(shù)據(jù)源、組件模塊,讓用戶可以基于該平臺(tái)對(duì)語(yǔ)音、文本、圖片、視頻等海量數(shù)據(jù)進(jìn)行離線模型訓(xùn)練、在線模型預(yù)測(cè)及可視化模型評(píng)估。軟件 API 服務(wù)主要分為智能語(yǔ)音語(yǔ)類(lèi)服務(wù)和計(jì)算機(jī)視覺(jué)服務(wù)。其中智能語(yǔ)音語(yǔ)類(lèi)服務(wù)主要提供語(yǔ)音語(yǔ)義相關(guān)的在線服務(wù),可包括語(yǔ)音識(shí)別、語(yǔ)音合成、聲紋識(shí)別、語(yǔ)音聽(tīng)轉(zhuǎn)寫(xiě)等。計(jì)算機(jī)視覺(jué)類(lèi)服務(wù)主要提供物體檢測(cè)、人臉識(shí)別、人臉檢測(cè)、圖像識(shí)別、光學(xué)字符識(shí)別(Optical Character Recognition, OCR)識(shí)別、智能鑒黃等服務(wù)。
三、 基于深度學(xué)習(xí)的基礎(chǔ)應(yīng)用技術(shù)現(xiàn)狀
目前隨著深度學(xué)習(xí)算法工程化實(shí)現(xiàn)效率的提升和成本的逐漸降低,一些基礎(chǔ)應(yīng)用技術(shù)逐漸成熟,如智能語(yǔ)音,自然語(yǔ)言處理和計(jì)算機(jī)視覺(jué)等,并形成相應(yīng)的產(chǎn)業(yè)化能力和各種成熟的商業(yè)化落地。同時(shí),業(yè)界也開(kāi)始探索深度學(xué)習(xí)在藝術(shù)創(chuàng)作、路徑優(yōu)化、生物信息學(xué)相關(guān)技術(shù)中的實(shí)現(xiàn)與應(yīng)用,并已經(jīng)取得了矚目的成果。
本章主要分析目前商業(yè)較為成熟的智能語(yǔ)音、自然語(yǔ)言處理和計(jì)算機(jī)視覺(jué)技術(shù)的情況,如圖 2 所示,每個(gè)基礎(chǔ)應(yīng)用技術(shù)各分為若干應(yīng)用類(lèi)別。
(一) 智能語(yǔ)音技術(shù)改變?nèi)藱C(jī)交互模式
智能語(yǔ)音語(yǔ)義技術(shù)主要研究人機(jī)之間語(yǔ)音信息的處理問(wèn)題。簡(jiǎn)單來(lái)說(shuō),就是讓計(jì)算機(jī)、智能設(shè)備、家用電器等通過(guò)對(duì)語(yǔ)音進(jìn)行分析、理解和合成,實(shí)現(xiàn)人“能聽(tīng)會(huì)說(shuō)”、具備自然語(yǔ)言交流的能力。
1. 智能語(yǔ)音技術(shù)概述
按機(jī)器在其中所發(fā)揮作用的不同,分為語(yǔ)音合成技術(shù)、語(yǔ)音識(shí)別技術(shù)、語(yǔ)音評(píng)測(cè)技術(shù)等。語(yǔ)音合成技術(shù)即讓機(jī)器開(kāi)口說(shuō)話,通過(guò)機(jī)器自動(dòng)將文字信息轉(zhuǎn)化為語(yǔ)音,相當(dāng)于機(jī)器的嘴巴;語(yǔ)音識(shí)別技術(shù)即讓機(jī)器聽(tīng)懂人說(shuō)話,通過(guò)機(jī)器自動(dòng)將語(yǔ)音信號(hào)轉(zhuǎn)化為文本及相關(guān)信息, 相當(dāng)于機(jī)器的耳朵;語(yǔ)音評(píng)測(cè)技術(shù)通過(guò)機(jī)器自動(dòng)對(duì)發(fā)音進(jìn)行評(píng)分、檢錯(cuò)并給出矯正指導(dǎo)。此外,還有根據(jù)人的聲音特征進(jìn)行身份識(shí)別的聲紋識(shí)別技術(shù),可實(shí)現(xiàn)變聲和聲音模仿的語(yǔ)音轉(zhuǎn)換技術(shù),以及語(yǔ)音消噪和增強(qiáng)技術(shù)等。
2. 智能語(yǔ)音產(chǎn)品和服務(wù)形態(tài)多樣
智能語(yǔ)音技術(shù)會(huì)成為未來(lái)人機(jī)交互的新方式,將從多個(gè)應(yīng)用形態(tài)成為未來(lái)人機(jī)交互的主要方式。
智能音箱類(lèi)產(chǎn)品提升家庭交互的便利性。智能音箱是從被動(dòng)播放音樂(lè),過(guò)渡到主動(dòng)獲取信息、音樂(lè)和控制流量的入口。當(dāng)前智能音箱以語(yǔ)音交互技術(shù)為核心,成為作為智能家庭設(shè)備的入口,不但能夠連接和控制各類(lèi)智能家居終端產(chǎn)品,而且加入了個(gè)性化服務(wù),如訂票、查詢天氣、播放音頻等能力。
個(gè)人智能語(yǔ)音助手重塑了人機(jī)交互模式。個(gè)人語(yǔ)音助手,特別是嵌入到手機(jī)、智能手表、個(gè)人電腦等終端中的語(yǔ)音助手,將顯著提升這類(lèi)產(chǎn)品的易用性。如蘋(píng)果虛擬語(yǔ)音助手Siri 與蘋(píng)果智能家居平臺(tái)Homekit 深度融合,用戶可通過(guò)語(yǔ)音控制智能家居。Google Now 為用戶提供關(guān)心的內(nèi)容,如新聞、體育比賽、交通、天氣等等。微軟的Cortana 主要優(yōu)勢(shì)在于提升個(gè)人計(jì)算機(jī)的易用性。
以 API 形式提供的智能語(yǔ)音服務(wù)成為行業(yè)用戶的重要入口。智能語(yǔ)音 API 主要提供語(yǔ)音語(yǔ)義相關(guān)的在線服務(wù),可包括語(yǔ)音識(shí)別、語(yǔ)音合成、聲紋識(shí)別、語(yǔ)音聽(tīng)轉(zhuǎn)寫(xiě)等服務(wù)類(lèi)型,并且可以嵌入到各類(lèi)產(chǎn)品,服務(wù)或 APP 中。在商業(yè)端,智能客服、教育(口語(yǔ)評(píng)測(cè))、醫(yī)療(電子病歷)、金融(業(yè)務(wù)辦理)、安防、法律等領(lǐng)域需求強(qiáng)烈;在個(gè)人用戶領(lǐng)域,智能手機(jī)、自動(dòng)駕駛及輔助駕駛、傳統(tǒng)家電、智能家居等領(lǐng)域需求強(qiáng)烈。
(二) 計(jì)算機(jī)視覺(jué)技術(shù)已在多個(gè)領(lǐng)域?qū)崿F(xiàn)商業(yè)化落地
計(jì)算機(jī)視覺(jué)識(shí)別這一人工智能基礎(chǔ)應(yīng)用技術(shù)部分已達(dá)商業(yè)化應(yīng)用水平,被用于身份識(shí)別、醫(yī)學(xué)輔助診斷、自動(dòng)駕駛等場(chǎng)景。
1. 計(jì)算機(jī)視覺(jué)概述
一般來(lái)講,計(jì)算機(jī)視覺(jué)主要分為圖像分類(lèi)、目標(biāo)檢測(cè)、目標(biāo)跟蹤和圖像分割四大基本任務(wù)。
圖像分類(lèi)是指為輸入圖像分配類(lèi)別標(biāo)簽。自2012 年采用深度卷積網(wǎng)絡(luò)方法設(shè)計(jì)的 AlexNet 奪得 ImageNet 競(jìng)賽冠軍后,圖像分類(lèi)開(kāi)始全面采用深度卷積網(wǎng)絡(luò)。2015 年,微軟提出的 ResNet 采用殘差思想,將輸入中的一部分?jǐn)?shù)據(jù)不經(jīng)過(guò)神經(jīng)網(wǎng)絡(luò)而直接進(jìn)入到輸出中,解決了反向傳播時(shí)的梯度彌散問(wèn)題,從而使得網(wǎng)絡(luò)深度達(dá)到 152 層,將
錯(cuò)誤率降低到 3.57%,遠(yuǎn)低于 5.1% 的人眼識(shí)別錯(cuò)誤率,奪得了ImageNet 大賽的冠軍。2017 年提出的 DenseNet 采用密集連接的卷積神經(jīng)網(wǎng)絡(luò),降低了模型的大小,提高了計(jì)算效率,且具有非常好的抗過(guò)擬合性能。
目標(biāo)檢測(cè)指用框標(biāo)出物體的位置并給出物體的類(lèi)別。2013 年加州大學(xué)伯克利分校的 Ross B. Girshick 提出 RCNN 算法之后,基于卷積神經(jīng)網(wǎng)絡(luò)的目標(biāo)檢測(cè)成為主流。之后的檢測(cè)算法主要分為兩類(lèi),一是基于區(qū)域建議的目標(biāo)檢測(cè)算法,通過(guò)提取候選區(qū)域,對(duì)相應(yīng)區(qū)域進(jìn)行以深度學(xué)習(xí)方法為主的分類(lèi),如 RCNN、Fast-RCNN、Faster-RCNN、SPP-net 和 Mask R-CNN 等系列方法。二是基于回歸的目標(biāo)檢測(cè)算法,如 YOLO、SSD 和DenseBox 等。
目標(biāo)跟蹤指在視頻中對(duì)某一物體進(jìn)行連續(xù)標(biāo)識(shí)?;谏疃葘W(xué)習(xí)的跟蹤方法,初期是通過(guò)把神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)到的特征直接應(yīng)用到相關(guān)濾波或 Struck 的跟蹤框架中,從而得到更好的跟蹤結(jié)果,但同時(shí)也帶來(lái)了計(jì)算量的增加。最近提出了端到端的跟蹤框架,雖然與相關(guān)濾波等傳統(tǒng)方法相比在性能上還較慢,但是這種端到端輸出可以與其他的任務(wù)一起訓(xùn)練,特別是和檢測(cè)分類(lèi)網(wǎng)絡(luò)相結(jié)合,在實(shí)際應(yīng)用中有著廣泛的前景。
圖像分割指將圖像細(xì)分為多個(gè)圖像子區(qū)域。2015 年開(kāi)始,以全卷積神經(jīng)網(wǎng)絡(luò)(FCN)為代表的一系列基于卷積神經(jīng)網(wǎng)絡(luò)的語(yǔ)義分割方法相繼提出,不斷提高圖像語(yǔ)義分割精度,成為目前主流的圖像語(yǔ)義分割方法
2. 計(jì)算機(jī)視覺(jué)技術(shù)應(yīng)用領(lǐng)域廣闊
在政策引導(dǎo)、技術(shù)創(chuàng)新、資本追逐以及消費(fèi)需求的驅(qū)動(dòng)下,基于深度學(xué)習(xí)的計(jì)算機(jī)視覺(jué)應(yīng)用不斷落地成熟,并出現(xiàn)了三大熱點(diǎn)應(yīng)用方向。
一是人臉識(shí)別搶先落地,開(kāi)啟“刷臉”新時(shí)代。目前,人臉識(shí)別已大規(guī)模應(yīng)用到教育、交通、醫(yī)療、安防等行業(yè)領(lǐng)域及樓宇門(mén)禁、交通過(guò)檢、公共區(qū)域監(jiān)控、服務(wù)身份認(rèn)證、個(gè)人終端設(shè)備解鎖等特定場(chǎng)景。從2017 年春運(yùn),火車(chē)站開(kāi)啟了“刷臉”進(jìn)站,通過(guò)攝像頭采集旅客的人臉信息,與身份證人臉信息進(jìn)行驗(yàn)證;2017 年 9 月蘋(píng)果公司發(fā)布的iPhone X 第一次將 3D 人臉識(shí)別引入公眾視線,迅速引發(fā)了“移動(dòng)終端+人臉解鎖”的布局風(fēng)潮。
二是視頻結(jié)構(gòu)化嶄露頭角,擁有廣闊應(yīng)用前景。視頻結(jié)構(gòu)化就是將視頻這種非結(jié)構(gòu)化的數(shù)據(jù)中的目標(biāo)貼上相對(duì)應(yīng)的標(biāo)簽,變?yōu)榭赏ㄟ^(guò)某種條件進(jìn)行搜索的結(jié)構(gòu)化數(shù)據(jù)。視頻結(jié)構(gòu)化技術(shù)的目標(biāo)是實(shí)現(xiàn)以機(jī)器自動(dòng)處理為主的視頻信息處理和分析。從應(yīng)用前景看,視頻監(jiān)控技術(shù)所面臨的巨大市場(chǎng)潛力為視頻結(jié)構(gòu)化描述提供了廣闊的應(yīng)用前景,很多行業(yè)需要實(shí)現(xiàn)機(jī)器自動(dòng)處理和分析視頻信息,提取實(shí)時(shí)監(jiān)控視頻或監(jiān)控錄像中的視頻信息,并存儲(chǔ)于中心數(shù)據(jù)庫(kù)中。用戶通過(guò)結(jié)構(gòu)化視頻合成回放,可以快捷的預(yù)覽視頻覆蓋時(shí)間內(nèi)的可疑事件和事件發(fā)生時(shí)間。
三是姿態(tài)識(shí)別讓機(jī)器“察言觀色”,帶來(lái)全新人機(jī)交互體驗(yàn)。在視覺(jué)人機(jī)交互方面,姿態(tài)識(shí)別實(shí)際上是人類(lèi)形體語(yǔ)言交流的一種延伸。它的主要方式是通過(guò)對(duì)成像設(shè)備中獲取的人體圖像進(jìn)行檢測(cè)、識(shí)別和跟蹤,并對(duì)人體行為進(jìn)行理解和描述。從用戶體驗(yàn)的角度來(lái)說(shuō),融合姿態(tài)識(shí)別的人機(jī)交互能產(chǎn)品夠大幅度提升人機(jī)交流的自然性,削弱人們對(duì)鼠標(biāo)和鍵盤(pán)的依賴(lài),降低操控的復(fù)雜程度。從市場(chǎng)需求的角度來(lái)說(shuō),姿態(tài)識(shí)別在計(jì)算機(jī)游戲、機(jī)器人控制和家用電器控制等方面具有廣闊的應(yīng)用前景,市場(chǎng)空間十分可觀。
(三) 自然語(yǔ)言處理成為語(yǔ)言交互技術(shù)的核心
自然語(yǔ)言處理(Natural Language Processing ,NLP)是研究計(jì)算機(jī)處理人類(lèi)語(yǔ)言的一門(mén)技術(shù),是機(jī)器理解并解釋人類(lèi)寫(xiě)作與說(shuō)話方式的能力,也是人工智能最初發(fā)展的切入點(diǎn)和目前大家關(guān)注的焦點(diǎn)。
1. 自然語(yǔ)言處理技術(shù)現(xiàn)狀
自然語(yǔ)言處理主要步驟包括分詞、詞法分析、語(yǔ)法分析、語(yǔ)義分析等。其中,分詞是指將文章或句子按含義,以詞組的形式分開(kāi),其中英文因其語(yǔ)言格式天然進(jìn)行了詞匯分隔,而中文等語(yǔ)言則需要對(duì)詞組進(jìn)行拆分。詞法分析是指對(duì)各類(lèi)語(yǔ)言的詞頭、詞根、詞尾進(jìn)行拆分,各類(lèi)語(yǔ)言中名詞、動(dòng)詞、形容詞、副詞、介詞進(jìn)行分類(lèi),并對(duì)多種詞義進(jìn)行選擇。語(yǔ)法分析是指通過(guò)語(yǔ)法樹(shù)或其他算法,分析主語(yǔ)、謂語(yǔ)、賓語(yǔ)、定語(yǔ)、狀語(yǔ)、補(bǔ)語(yǔ)等句子元素。語(yǔ)義分析是指通過(guò)選擇詞的正確含義,在正確句法的指導(dǎo)下,將句子的正確含義表達(dá)出來(lái)。
2. 自然語(yǔ)言處理技術(shù)的應(yīng)用方向
自然語(yǔ)言處理的應(yīng)用方向主要有文本分類(lèi)和聚類(lèi)、信息檢索和過(guò)濾、信息抽取、問(wèn)答系統(tǒng)、機(jī)器翻譯等方向。其中,文本分類(lèi)和聚類(lèi)主要是將文本按照關(guān)鍵字詞做出統(tǒng)計(jì),建造一個(gè)索引庫(kù),這樣當(dāng)有關(guān)鍵字詞查詢時(shí),可以根據(jù)索引庫(kù)快速地找到需要的內(nèi)容。此方向是搜索引擎的基礎(chǔ)。信息檢索和過(guò)濾是網(wǎng)絡(luò)瞬時(shí)檢查的應(yīng)用范疇,在大流量的信息中尋找關(guān)鍵詞,找到后對(duì)關(guān)鍵詞做相應(yīng)處理。信息抽取是為人們提供更有力的信息獲取工具,直接從自然語(yǔ)言文本中抽取事實(shí)信息。機(jī)器翻譯是當(dāng)前最熱門(mén)的應(yīng)用方向,目前微軟、谷歌的新技術(shù)是翻譯和記憶相結(jié)合,通過(guò)機(jī)器學(xué)習(xí),將大量以往正確的翻譯存儲(chǔ)下來(lái)。谷歌使用深度學(xué)習(xí)技術(shù),顯著提升了翻譯的性能與質(zhì)量。
四、 問(wèn)題和趨勢(shì)展望
(一) 主要問(wèn)題
在算法層面,深度學(xué)習(xí)算法模型存在可靠性及不可解釋性問(wèn)題。首先是可靠性問(wèn)題,深度學(xué)習(xí)模型離開(kāi)訓(xùn)練使用的場(chǎng)景數(shù)據(jù),其實(shí)際效果就會(huì)降低。由于訓(xùn)練數(shù)據(jù)和實(shí)際應(yīng)用數(shù)據(jù)存在區(qū)別,訓(xùn)練出的模型被用于處理未學(xué)習(xí)過(guò)的數(shù)據(jù)時(shí),表現(xiàn)就會(huì)降低。其次是不可解釋性問(wèn)題,深度學(xué)習(xí)計(jì)算過(guò)程為黑盒操作,模型計(jì)算及調(diào)試的執(zhí)行規(guī)則及特征選取由機(jī)器自行操作,目前尚無(wú)完備理論能夠?qū)δP瓦x取及模本身做出合理解釋?zhuān)S著相關(guān)算法在實(shí)際生產(chǎn)生活中的融合應(yīng)用,存在產(chǎn)生不可控結(jié)果的隱患。
在數(shù)據(jù)層面,主要存在流通不暢、數(shù)據(jù)質(zhì)量良莠不齊和關(guān)鍵數(shù)據(jù)集缺失等問(wèn)題。
具體來(lái)看,一是數(shù)據(jù)流通不暢。目前人工智能數(shù)據(jù)集主要集中在政府和大公司手里,受制于監(jiān)管、商業(yè)門(mén)檻等問(wèn)題,數(shù)據(jù)無(wú)法有效流動(dòng);部分有價(jià)值數(shù)據(jù),如監(jiān)控、電話客服等數(shù)據(jù)目前沒(méi)有合法渠道獲得;二是數(shù)據(jù)質(zhì)量良莠不齊。數(shù)據(jù)標(biāo)注主要通過(guò)外包形式,勞動(dòng)力水平?jīng)Q定了產(chǎn)出的標(biāo)注數(shù)據(jù)質(zhì)量。三是關(guān)鍵領(lǐng)域和學(xué)術(shù)數(shù)據(jù)集不足。計(jì)算機(jī)視覺(jué)、自然語(yǔ)言處理等領(lǐng)域的數(shù)據(jù)資源嚴(yán)重不足,同時(shí)目前我國(guó)產(chǎn)業(yè)數(shù)據(jù)主要供給給產(chǎn)業(yè)界,目前學(xué)術(shù)界數(shù)據(jù)集數(shù)量較少, 可能影響科研及前瞻性的技術(shù)研究。
在軟件框架層面,實(shí)現(xiàn)深度學(xué)習(xí)應(yīng)用落地的推斷軟件框架質(zhì)量參差不齊,制約了業(yè)務(wù)開(kāi)展。由于深度學(xué)習(xí)應(yīng)用場(chǎng)景眾多,相關(guān)應(yīng)用呈現(xiàn)碎片化特點(diǎn),用于實(shí)現(xiàn)最后應(yīng)用落地的開(kāi)源推斷軟件框架無(wú)論在功能還是性能層面距離實(shí)際需求還存在相當(dāng)距離,與訓(xùn)練軟件框架趨同趨勢(shì)不同,產(chǎn)業(yè)界所使用的推斷軟件框架需要聚力研發(fā),尚未形成具有實(shí)際標(biāo)準(zhǔn)意義的優(yōu)秀實(shí)例。
在編譯器層面,各硬件廠商的中間表示層之爭(zhēng)成為技術(shù)和產(chǎn)業(yè)發(fā)展的阻礙。目前業(yè)界并沒(méi)有統(tǒng)一的中間表示層標(biāo)準(zhǔn),并且模型底層表示、存儲(chǔ)及計(jì)算優(yōu)化等方面尚未形成事實(shí)標(biāo)準(zhǔn),導(dǎo)致各硬件廠商解決方案存在一定差異,導(dǎo)致應(yīng)用模型遷移不暢,提高了應(yīng)用部署難度。
在 AI 計(jì)算芯片層面,云側(cè)和終端側(cè)對(duì)計(jì)算芯片提出了不同的要求。對(duì)于云側(cè)芯片,隨著深度學(xué)習(xí)計(jì)算需求的逐漸增加,業(yè)界希望在提升云側(cè)芯片運(yùn)算效能的前提下,希望針對(duì)不同網(wǎng)絡(luò)實(shí)現(xiàn)更優(yōu)化的性能表現(xiàn),而功耗比則不是首要關(guān)注的因素;對(duì)于終端側(cè)芯片,在功耗為首要要求的情況下,更加注重的推斷運(yùn)算的性能,并且不同終端應(yīng)用場(chǎng)景對(duì)芯片提出了更多個(gè)性化需求,如在人臉識(shí)別攝像頭、自動(dòng)駕駛汽車(chē)等場(chǎng)景。
(二) 趨勢(shì)展望
遷移學(xué)習(xí)的研究及應(yīng)用將成為重要方向。遷移學(xué)習(xí)由于側(cè)重對(duì)深度學(xué)習(xí)中知識(shí)遷移、參數(shù)遷移等技術(shù)的研究,能夠有效提升深度學(xué)習(xí)模型復(fù)用性,同時(shí)對(duì)于深度學(xué)習(xí)模型解釋也提供了一種方法,能夠針對(duì)深度學(xué)習(xí)算法模型可靠性及不可解釋性問(wèn)題提供理論工具。
深度學(xué)習(xí)訓(xùn)練軟件框架將逐漸趨同,開(kāi)源推斷軟件框架將迎來(lái)發(fā)展黃金期。隨著人工智能應(yīng)用在生產(chǎn)生活中的不斷深入融合,對(duì)于推斷軟件框架功能及性能的需求將逐漸爆發(fā),催生大量相關(guān)工具及開(kāi)源推斷軟件框架,降低人工智能應(yīng)用部署門(mén)檻。
中間表示層之爭(zhēng)將愈演愈烈。以計(jì)算模型為核心的深度學(xué)習(xí)應(yīng)用, 由于跨軟件框架體系開(kāi)發(fā)及部署需要投入大量資源,因此模型底層表 示的統(tǒng)一將是業(yè)界的亟需,未來(lái)中間表示層將成為相關(guān)企業(yè)的重點(diǎn)。
AI 計(jì)算芯片朝云側(cè)和終端側(cè)方向發(fā)展。從云側(cè)計(jì)算芯片來(lái)看, 目前 GPU 占據(jù)主導(dǎo)市場(chǎng),以 TPU 為代表的ASIC 只用在巨頭的閉環(huán)生態(tài),未來(lái) GPU、TPU 等計(jì)算芯片將成為支撐人工智能運(yùn)算的主力器件,既存在競(jìng)爭(zhēng)又長(zhǎng)期共存,一定程度可相互配合;FPGA 有望在數(shù)據(jù)中心中以 CPU+FPGA 形式作為有效補(bǔ)充。從終端側(cè)計(jì)算芯片來(lái)看,這類(lèi)芯片將面向功耗、延時(shí)、算力、特定模型、使用場(chǎng)景等特定需求,朝著不同發(fā)展。
來(lái)源:物聯(lián)網(wǎng)報(bào)告中心
評(píng)論
查看更多