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