賽靈思用“軟”實(shí)力加速自適應(yīng)計(jì)算平臺(tái)的推廣
不久前,賽靈思推出了Vitis統(tǒng)一軟件平臺(tái),并宣布其重要組件Vitis AI開(kāi)放下載,使人工智能(AI)和機(jī)器學(xué)習(xí)開(kāi)發(fā)者將可以利用賽靈思的高性能自適應(yīng)計(jì)算平臺(tái)的加速度。一家硬件平臺(tái)公司,為何重磅推出軟件平臺(tái)?為此,電子產(chǎn)品世界等媒體采訪了賽靈思軟件與 AI 產(chǎn)品市場(chǎng)營(yíng)銷(xiāo)副總裁Ramine Roane(羅明)。
賽靈思 軟件與 AI 產(chǎn)品市場(chǎng)營(yíng)銷(xiāo)副總裁 Ramine Roane
1 賽靈思整體的業(yè)務(wù)戰(zhàn)略及對(duì)計(jì)算的看法
所有的電子系統(tǒng)應(yīng)該是自適應(yīng)的,就像是有機(jī)物種一樣,這樣才能跟上創(chuàng)新的速度。同樣,“所有的硬件和計(jì)算應(yīng)該是自適應(yīng)”的觀點(diǎn),也得到越來(lái)越多的行業(yè)認(rèn)可。
直到2000年之前,根據(jù)摩爾定律,業(yè)界還接受著芯片或硅工藝的密度每18個(gè)月翻一番的速度,當(dāng)時(shí)所有的應(yīng)用開(kāi)發(fā)人員和軟件開(kāi)發(fā)人員不用做什么,就等著新芯片出現(xiàn)。直到2000年時(shí)候,工藝方面的登納德縮放比例定律(Dennard scaling)走到盡頭,認(rèn)為隨著工藝密度的進(jìn)一步翻番,頻率不可能再進(jìn)一步提高了,所有的CPU和計(jì)算機(jī)最多也就到(2~4) GHz的速度,而且一直維持了20年沒(méi)有進(jìn)一步提升。為了提升所有的應(yīng)用性能,要進(jìn)一步擴(kuò)展,后來(lái)使用多核CPU,這個(gè)問(wèn)題從硬件轉(zhuǎn)向軟件(如下圖)。
之后出現(xiàn)了向異構(gòu)CPU和加速器的轉(zhuǎn)移,到目前為止,這種方向是可行的。問(wèn)題在于所有這些架構(gòu)包括CPU都是固定的,這樣就很難跟上AI的創(chuàng)新速度。
賽靈思的思路是打造自適應(yīng)的平臺(tái),非常靈活多變,而且賽靈思的芯片也可針對(duì)不同的應(yīng)用進(jìn)一步進(jìn)行硬件的優(yōu)化。所以現(xiàn)在開(kāi)發(fā)者就不用等著新的芯片出來(lái),就可以建立一些特定架構(gòu)的應(yīng)用。
賽靈思提供的解決方案,如何追趕上像AI這樣的創(chuàng)新速度?從下圖可見(jiàn),AI的CNN在2012年到2018年發(fā)展的趨勢(shì),可看出每3個(gè)月會(huì)出現(xiàn)新的AI模型,會(huì)取代之前的模型,一般是1年半到2年的時(shí)間來(lái)構(gòu)造1個(gè)全新的ASIC或GPU。
從上圖可見(jiàn),藍(lán)色的,之前最主流的是GoogLeNet,1年半到2年后是ResNet,現(xiàn)在ResNet是最尖端的技術(shù),但是沒(méi)有辦法在原有的架構(gòu)上運(yùn)行。賽靈思的器件以及可自適應(yīng)的硬件,就可以來(lái)構(gòu)建這種特有的架構(gòu)。
2 FPGA的成功案例
第1個(gè)例子illumina,是一家生命科學(xué)公司,利用FPGA技術(shù)可以加速醫(yī)療診斷。例如得了重癥的新生兒,可以通過(guò)加快它的基因組的分析,以前是用1天,現(xiàn)在20分鐘就可以進(jìn)行診斷的判定。
在汽車(chē)行業(yè)的應(yīng)用,戴姆勒汽車(chē)公司利用賽靈思的技術(shù)可以加速實(shí)現(xiàn)AI的決策。包括通過(guò)賽靈思FPGA的I/O,從不同的傳感器(包括攝像頭、雷達(dá)和激光)獲取信息,還可以使用賽靈思的自適應(yīng)器件,幫助其更快地決策,而且是低延時(shí)的。
第3個(gè)例子是CERN,是位于瑞士的歐洲核子研究院,它們通過(guò)粒子碰撞機(jī)、質(zhì)子碰撞碎片的分析,發(fā)現(xiàn)了希格斯的玻色子。這個(gè)發(fā)現(xiàn)后來(lái)奪得諾貝爾獎(jiǎng)。需要對(duì)碎片進(jìn)行快速分析得出結(jié)論。
3 Vitis和Vitis AI的特點(diǎn)
Vitis的名字來(lái)自于法語(yǔ),意思是生命力,解釋到中文也有“至關(guān)重要”的意思。
Vitis和Vitis AI開(kāi)發(fā)工具可以助力軟件開(kāi)發(fā)人員和AI科學(xué)家,用他們選擇的語(yǔ)言,例如C++進(jìn)行開(kāi)發(fā),也可以使用相關(guān)的架構(gòu)和庫(kù)進(jìn)行開(kāi)發(fā)。
1)Vitis針對(duì)軟件/AI軟件的開(kāi)發(fā)人員
不過(guò),對(duì)于軟件人員和AI人員,賽靈思并不是那么知名,因?yàn)檫^(guò)去長(zhǎng)久以來(lái),賽靈思的開(kāi)發(fā)工具主要面向硬件的開(kāi)發(fā)人員。隨著賽靈思推出Vitis和Vitis AI,想要改變?nèi)藗儗?duì)于賽靈思的認(rèn)識(shí)——現(xiàn)在也針對(duì)軟件開(kāi)發(fā)人員。
而且軟件開(kāi)發(fā)人員的機(jī)會(huì)更多,因?yàn)檐浖藛T的倍數(shù)大大高于硬件開(kāi)發(fā)人員?,F(xiàn)在全球硬件開(kāi)發(fā)者可能是一二十萬(wàn)的規(guī)模,而軟件開(kāi)發(fā)人員是數(shù)以幾百萬(wàn)計(jì)的。而且現(xiàn)在大學(xué)里學(xué)硬件開(kāi)發(fā)的已經(jīng)很少了,大部分人選擇學(xué)習(xí)軟件開(kāi)發(fā)。賽靈思的Vivado是針對(duì)硬件開(kāi)發(fā)人員的平臺(tái),新推出的Vitis和Vitis AI是針對(duì)軟件開(kāi)發(fā)者以及AI科學(xué)家的。
2)Vitis統(tǒng)一了所有應(yīng)用平臺(tái)的開(kāi)發(fā)
包括:① 把AI和傳統(tǒng)的軟件開(kāi)發(fā)統(tǒng)一起來(lái)了。②把云和邊緣也都統(tǒng)一起來(lái),包括終端計(jì)算以及邊緣和云計(jì)算,不同的架構(gòu)全都統(tǒng)一起來(lái)。③可以使用統(tǒng)一的語(yǔ)言進(jìn)行異構(gòu)的加速。
為此,賽靈思已進(jìn)行了六七年的實(shí)踐,從最開(kāi)始的硬件開(kāi)發(fā)平臺(tái)Vivado,到后面的OS和固件SDK,包括一些嵌入式的軟件開(kāi)發(fā)環(huán)境,到不同的云計(jì)算的開(kāi)發(fā)。亞馬遜云計(jì)算服務(wù)(AWS)成為第1個(gè)使用FPGA云服務(wù)的提供商,后來(lái)BAT(百度、阿里、騰訊)也緊隨其后??梢?jiàn),所有的環(huán)境、語(yǔ)言、庫(kù)不同,針對(duì)包括云和邊緣,Vitis就是要把所有的這些統(tǒng)一到一個(gè)整體的平臺(tái)上來(lái)。
3)Vitis的堆棧
如下圖,最下面是基礎(chǔ)的硬件的平臺(tái),從端點(diǎn)的平臺(tái)到邊緣計(jì)算,一直到云。往上的第2層是賽靈思運(yùn)行時(shí)庫(kù)(XRT),主要管理CPU和FPGA之間的通訊。再上面一層是不同的工具,包括編譯器、分析器和調(diào)試器,它使用軟件語(yǔ)言編譯成為FPGA所用的加速語(yǔ)言。
賽靈思建立了很多庫(kù),來(lái)進(jìn)行一些加速,包括有OpenCV、金融、BLAS等庫(kù)。而且這些都是業(yè)界標(biāo)準(zhǔn)的加速。這些庫(kù)當(dāng)中,很多傳統(tǒng)的軟件開(kāi)發(fā)人員可能是使用C++或者python語(yǔ)言進(jìn)行編寫(xiě)的,新的開(kāi)發(fā)人員使用的是一些新的架構(gòu)和DS的語(yǔ)言。
在AI方面,TensorFlow和python torch是首選的。對(duì)于Vitis AI,主要用的是TensorFlow(如上圖)。另外,還有視頻轉(zhuǎn)碼,主要用FFmpeg語(yǔ)言。
賽靈思支持很多庫(kù),這對(duì)于開(kāi)發(fā)者來(lái)說(shuō)是非常關(guān)鍵的。眾所周知,軟件開(kāi)發(fā)人員不愿意每次寫(xiě)程序的時(shí)候重新開(kāi)始,他們可以利用現(xiàn)成業(yè)界標(biāo)準(zhǔn)的庫(kù),利用現(xiàn)成的材料,包括CPU、GPU等,現(xiàn)在還有Vitis來(lái)支持他們的工作。
賽靈思現(xiàn)在也在進(jìn)行一個(gè)戰(zhàn)略轉(zhuǎn)型:從傳統(tǒng)硬件公司轉(zhuǎn)型成為軟件的平臺(tái)公司。賽靈思的理念是擁抱開(kāi)源,把免費(fèi)工具貢獻(xiàn)給大家。
作為賽靈思轉(zhuǎn)型戰(zhàn)略的一部分,賽靈思致力于開(kāi)源,現(xiàn)在參與了多個(gè)開(kāi)源的項(xiàng)目,賽靈思從2001年時(shí)就開(kāi)始是使用者,2007年的時(shí)候成為革新者,2018年是頭號(hào)的貢獻(xiàn)者,第2名是谷歌。
現(xiàn)在賽靈思還有開(kāi)源庫(kù),例如Github,賽靈思還有SRT的運(yùn)行庫(kù),有AI模型的例子,都是經(jīng)過(guò)優(yōu)化的,可以在FPGA上運(yùn)行,還有賽靈思收購(gòu)深鑒科技公司獲得的技術(shù)。未來(lái)賽靈思還會(huì)宣布使用和貢獻(xiàn)更多的開(kāi)源項(xiàng)目。
另外,賽靈思還推出了Developer.xilinx.com網(wǎng)站,主要將Vitis專家和相關(guān)的開(kāi)發(fā)人員建立起聯(lián)系,這也是賽靈思轉(zhuǎn)型戰(zhàn)略的一部分。2019年11月推出該網(wǎng)站的時(shí)候,網(wǎng)站有30多篇文章,現(xiàn)在達(dá)到了50多篇,這些文章來(lái)自于不同領(lǐng)域的開(kāi)發(fā)人員的專家,在編寫(xiě)應(yīng)用程序中所提供的一些經(jīng)驗(yàn)。這些不同的領(lǐng)域,包括汽車(chē)行業(yè),還有智慧城市等。
4 Vitis AI的應(yīng)用案例
一個(gè)典型的傳統(tǒng)軟件開(kāi)發(fā)人員和AI結(jié)合的例子。例如對(duì)視頻的數(shù)據(jù)進(jìn)行預(yù)處理,然后通過(guò)AI進(jìn)行輸出,再進(jìn)行后處理,預(yù)處理和后處理都是軟件,中間通過(guò)AI。
例如假設(shè)開(kāi)發(fā)人員要通過(guò)這一條流線以6 FPS(每秒幀)的速度進(jìn)行顯示。如果在CPU上運(yùn)行,是6 FPS。如果在Vitis數(shù)據(jù)流流水線中,可以達(dá)到80 FPS(如下圖)。
具體地,在FPGA或1個(gè)GPU上,要對(duì)AI進(jìn)行加速,可以看到從6激增到30這么大的提升。如果是用GPU也就到這么多了,不可能再有更多的改善了。在FPGA上你可以決定對(duì)預(yù)處理部分加速,還是對(duì)后處理部分進(jìn)行加速。這樣就達(dá)到了40 FPS。 最下面一行,可以進(jìn)行流水線的優(yōu)化處理,不用等著這一幀處理完畢就可以進(jìn)行下一幀的處理,這樣就可以達(dá)到80 FPS的速度,而軟件層面的開(kāi)發(fā)人員完全沒(méi)有必要了解這些硬件的技能,就可以達(dá)到這樣的效果。
早期Vitis和Vitis AI試用的客戶,有從事自動(dòng)駕駛的北京小馬智行、汽車(chē)一級(jí)供應(yīng)商日立公司的攝像頭識(shí)別,韓國(guó)三星的5G部署等。
5 如何降低FPGA的開(kāi)發(fā)門(mén)檻
賽靈思和多個(gè)FPGA平臺(tái)合作,包括AWS,中國(guó)有BAT?;旧嫌袃蓚€(gè)方法解決這個(gè)問(wèn)題。①通過(guò)Vivado,這個(gè)比較難,因?yàn)樯婕暗接布脑O(shè)計(jì)和模擬。②幾年前賽靈思推出了SDAccel,它算是Vitis的鼻祖。賽靈思的FaaS(FPGA即服務(wù))合作伙伴現(xiàn)在沒(méi)有更新它們的系統(tǒng),預(yù)計(jì)2020年上半年會(huì)全部更新。因?yàn)橘愳`思的Vitis和Vitis AI庫(kù)容量非常豐富,所以會(huì)幫助他們大幅加速FPGA應(yīng)用。
實(shí)際上,Vitis和Vitis AI是拋磚引玉——采用免費(fèi)的模式,主要從硬件那邊賺取利潤(rùn)。
一個(gè)問(wèn)題是:在深度學(xué)習(xí)做加速這方面,雖然現(xiàn)在FPGA成長(zhǎng)快,但是在AI培訓(xùn)方面,比較主流的還是GPU居多,一方面是因?yàn)镚PU硬件性能高,另一方面,英偉達(dá)在軟件工具方面針對(duì)各個(gè)垂直領(lǐng)域做了很多工作。那么,Xilinx推出Vitis平臺(tái)之后,是不是有助于加速到各個(gè)垂直應(yīng)用的進(jìn)程?
Ramine Roane解釋道,GPU在AI培訓(xùn)上的市場(chǎng)份額很大,但在AI的推斷上面效率并不是很高。AI推斷最大的市場(chǎng)份額還是由CPU占據(jù)的,不過(guò)現(xiàn)在CPU加速的效率還不是很高,例如在邊緣的一個(gè)案例是北京小馬智行公司的自動(dòng)駕駛,時(shí)延是一個(gè)很大的問(wèn)題,GPU最大的問(wèn)題是時(shí)延太高了。不過(guò),過(guò)去人們認(rèn)為FPGA有點(diǎn)難用,需要用硬件開(kāi)發(fā),所以Vitis、Vitis AI的推出,就是為了降低這個(gè)難度。
評(píng)論