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