廠商真的要給軟件開(kāi)發(fā)者降低門(mén)檻嗎?
“不管有什么好的AI算法,要想最終得到應(yīng)用,就必然要通過(guò)芯片來(lái)實(shí)現(xiàn)。”在2018中國(guó)半導(dǎo)體市場(chǎng)年會(huì)上,清華大學(xué)微電子所所長(zhǎng)魏少軍教授曾這樣表示。
AI芯片的出現(xiàn),與深度學(xué)習(xí)技術(shù)的成熟及應(yīng)用密不可分。深度學(xué)習(xí)的過(guò)程可以簡(jiǎn)化理解為利用大量標(biāo)注的數(shù)據(jù)進(jìn)行訓(xùn)練,訓(xùn)練出一個(gè)行之有效的模型,再將這一模型運(yùn)用于新數(shù)據(jù)的推理。隨著5G和物聯(lián)網(wǎng)的發(fā)展,AI芯片的應(yīng)用普及也指日可待。
“從最早的人工智能的計(jì)算,不管是訓(xùn)練還是推理實(shí)際上都是發(fā)生在數(shù)據(jù)中心,因?yàn)樯疃葘W(xué)習(xí)需要大量的運(yùn)算,只有在數(shù)據(jù)中心運(yùn)用一些通用的處理器才能夠提供如此巨大的計(jì)算以及提供這些計(jì)算所需要的電力的消耗。近年來(lái),我們看到隨著人工智能技術(shù)的發(fā)展,現(xiàn)在無(wú)論在算法方面還是在芯片方面,人工智能都達(dá)到了一個(gè)很高的水平。”英特爾中國(guó)區(qū)物聯(lián)網(wǎng)事業(yè)部首席技術(shù)官兼首席工程師張宇說(shuō)。
與傳統(tǒng)計(jì)算模式不同,AI芯片結(jié)合了多層次的人工神經(jīng)網(wǎng)絡(luò)算法,需要通過(guò)大量的數(shù)據(jù)訓(xùn)練,它的發(fā)展推動(dòng)芯片新一波的熱潮。與此同時(shí),也讓芯片廠商重新思考一個(gè)問(wèn)題:芯片需要適配不斷出現(xiàn)的AI新算法,這讓芯片研發(fā)不再僅僅是硬件工程師的“專屬”,但對(duì)于算法工程師來(lái)說(shuō),想要把原來(lái)軟件的功能實(shí)現(xiàn)到硬件上就需要面臨更多挑戰(zhàn)。這一點(diǎn),要如何應(yīng)對(duì)?
“深度學(xué)習(xí)網(wǎng)絡(luò)模型是以大規(guī)模數(shù)據(jù)經(jīng)過(guò)千萬(wàn)次的迭代而形成的結(jié)果,整個(gè)的轉(zhuǎn)接過(guò)程對(duì)于我們來(lái)說(shuō)是黑盒,而在這個(gè)基礎(chǔ)上進(jìn)行模型優(yōu)化確實(shí)需要對(duì)算法進(jìn)行更深入的了解。”科達(dá)研究院執(zhí)行院長(zhǎng)曹李軍說(shuō)。
在和從事人工智能應(yīng)用開(kāi)發(fā)的開(kāi)發(fā)者交流時(shí)會(huì)發(fā)現(xiàn),目前在進(jìn)行人工智能開(kāi)發(fā)的時(shí)候還有諸多問(wèn)題有待解決。比如,開(kāi)發(fā)者已經(jīng)有了一個(gè)經(jīng)過(guò)訓(xùn)練的網(wǎng)絡(luò)模型,但是推理平臺(tái)相對(duì)來(lái)說(shuō)能力有限,需要把現(xiàn)在網(wǎng)絡(luò)模型的一部分而不是全部下載到推理平臺(tái)之上,這要如何實(shí)現(xiàn)。另外,現(xiàn)在訓(xùn)練的模型,如果推送到推理平臺(tái)之上發(fā)現(xiàn)其性能不高,要如何提升?再者,深度學(xué)習(xí)、人工智能應(yīng)用開(kāi)發(fā)所用到的框架并不被一些架構(gòu)所支持,要如何兼容?
這也是芯片廠商面臨的挑戰(zhàn):CPU雖然能解決單次復(fù)雜問(wèn)題,但無(wú)法支撐深度學(xué)習(xí)的大規(guī)模并行計(jì)算需求。GPU最初隨著圖像處理需求出現(xiàn),處理大量數(shù)據(jù)并行運(yùn)算、浮點(diǎn)運(yùn)算的能力迎合了深度學(xué)習(xí)的需求,相比CPU處理速度更快、功耗更低,因此被最先引入深度學(xué)習(xí),但通用和優(yōu)化之間仍有差距。相比之下,F(xiàn)PGA被稱作可編程的“萬(wàn)能芯片”,可以通過(guò)FPGA配置文件來(lái)定義這些門(mén)電路及存儲(chǔ)器間的連線,從而實(shí)現(xiàn)特定的功能,并且可以通過(guò)配置特定的文件將FPGA轉(zhuǎn)變?yōu)椴煌奶幚砥鳎腿缫粔K可重復(fù)刷寫(xiě)的白板。雖然有可以多次更改的優(yōu)勢(shì),但是在AI芯片的進(jìn)展上不算快。
“有用CPU做的、GPU做的,也有用VPU做的,還有喜歡用FPGA做的,每家根據(jù)市場(chǎng)需求不同,都強(qiáng)調(diào)不同硬件架構(gòu)的不同特性。在上面有特別多的編程的框架又不一樣,怎么辦?”英特爾中國(guó)銷(xiāo)售總經(jīng)理王稚聰給出了自己的答案,“英特爾也不可能為每一種組合都推出一個(gè)軟件工具,所以O(shè)penVINO的推出就是在最大程度上能夠水平化地給客戶(提供基礎(chǔ)功能),里面又帶有很多定制化的特性,能夠使得在保持硬件的多樣性異構(gòu)計(jì)算的同時(shí),又能夠保持上面編程的多樣性需求。這樣使得我們開(kāi)發(fā)的成本、時(shí)效性能夠得到很大的提高。”
OpenVINO工具包是英特爾新近面向中國(guó)市場(chǎng)推出的專注于加速深度學(xué)習(xí)并將視覺(jué)數(shù)據(jù)轉(zhuǎn)換為業(yè)務(wù)洞察的工具,可以方便地使用英特爾的各種硬件的加速資源,包括CPU、GPU、VPU、FPGA,這將充分幫助企業(yè)在邊緣側(cè)快速實(shí)現(xiàn)高性能計(jì)算機(jī)視覺(jué)與深度學(xué)習(xí)的開(kāi)發(fā)。它能夠支持異構(gòu)處理和異步執(zhí)行,這樣能夠減少由于系統(tǒng)資源等待所占用的時(shí)間。這就意味著一次編程可以通過(guò)異構(gòu)的接口支撐跑在其他的硬件平臺(tái)之上。
賽靈思技術(shù)銷(xiāo)售總監(jiān)朱勇告訴第一財(cái)經(jīng),這幾年芯片廠商越來(lái)越關(guān)注軟件工具的提供,而不僅僅是關(guān)注硬件,目的就是為了實(shí)現(xiàn)“更好用”的目標(biāo),“這種好用是指對(duì)軟件工程師的好用,在他們熟悉的領(lǐng)域里能更好地對(duì)硬件進(jìn)行升級(jí)。”
作為FPGA芯片的領(lǐng)軍者,賽靈思有設(shè)置軟件開(kāi)發(fā)者專區(qū)和硬件開(kāi)發(fā)者專區(qū)。在軟件開(kāi)發(fā)者專區(qū),賽靈思和第三方的生態(tài)系統(tǒng)的關(guān)鍵開(kāi)發(fā)環(huán)境和嵌入式平臺(tái)提供一整套的工具、庫(kù)和方法。這些環(huán)境不僅可以縮短開(kāi)發(fā)時(shí)間,更輕松地定制硬件加速器,包括提供類似GPU和CPU的編程體驗(yàn),面向數(shù)據(jù)中心負(fù)載加速的SDAccel,還有類似C/C++應(yīng)用開(kāi)發(fā)體驗(yàn)的SDSoC,以及將可編程性從“控制”擴(kuò)展至“數(shù)據(jù)面板”的SDNet。
“就是因?yàn)檫@個(gè)平臺(tái)里提供了好多庫(kù),讓工程師覺(jué)得更好用,所以英偉達(dá)在AI芯片領(lǐng)域的發(fā)展才這么快。”一位業(yè)內(nèi)人士告訴第一財(cái)經(jīng)。他提到的就是英偉達(dá)搭建的CUDA開(kāi)發(fā)平臺(tái)(ComputeUnifiedDeviceArchitecture,統(tǒng)一計(jì)算設(shè)備架構(gòu))。這一編程模型可以在應(yīng)用程序中充分利用CPU和GPU各自的優(yōu)點(diǎn)。
留住開(kāi)發(fā)者,適配更多的人工智能算法,已成為AI芯片浪潮中各家廠商的發(fā)力點(diǎn)。