在日前舉辦的GTIC 2020上,,光子算數(shù)創(chuàng)始人兼CEO白冰發(fā)表了一場題為《AI芯片的另一條路:光子芯片》的主題演講,。作為一家國內(nèi)少有的光子AI芯片賽道玩家,,白冰在演講中與大家分享了光學(xué)芯片的工程化進展,、市場定位及目標(biāo)客戶,、具體研發(fā)實施路徑及相關(guān)適配算法等話題,。
▲光子算數(shù)CEO白冰
一,、光學(xué)芯片工程化進展,,已至測試階段
與常規(guī)數(shù)字芯片不同,白冰所創(chuàng)立的光子算數(shù),采取了另外一條技術(shù)路線——光子芯片,。
白冰說,,用光學(xué)做計算處于比較早期的階段。目前光子算數(shù)團隊已將其做成測試級的產(chǎn)品,,并于今年放至服務(wù)器廠商客戶處進行測試,。
作為一家初創(chuàng)公司,光子算數(shù)和高校,、研究所等幾家單位共同工作,。其早期樣片集成了幾百個不同的光學(xué)單元,比如有電光轉(zhuǎn)換,,把電信號加載到光載波,,然后通過傳播到片內(nèi)的光學(xué)組合,完成一些特定的函數(shù)變換,。跟傳統(tǒng)的計算特征不同,,它不是面向加減乘除,而是直接完成一個復(fù)雜的變化過程,。
這被稱為可編程光子陣列芯片F(xiàn)PPGA(Field Programmable Photonic Gate Arrays),,其中的光學(xué)單元可以通過電控,控制重新的連接組合方式,,實現(xiàn)不同的復(fù)雜函數(shù),。也就是說,F(xiàn)PPGA具有可重構(gòu)的特性,。
光學(xué)芯片加速的不是完整算法,,和所有的數(shù)字芯片一樣,光學(xué)芯片面向復(fù)雜函數(shù)做加速計算,,其計算對象是特定算子,。光的劣勢在于不是特別靈活,但是在某些函數(shù)上有優(yōu)勢,。
整個系統(tǒng)是光電混合的,,數(shù)據(jù)在光電兩部分中完成一個流動,執(zhí)行一個完整的計算過程,,由光學(xué),、電學(xué)芯片構(gòu)成光電混合AI計算硬件系統(tǒng)。
光電混合系統(tǒng)仍要做到軟硬協(xié)同,,開發(fā)適合光學(xué)加速的算法,,使得光電混合系統(tǒng)的硬件物理架構(gòu)與算法的運算/訪存特征相匹配。
從技術(shù)架構(gòu)圖可以看到,,左邊是電學(xué)部分,,包含邏輯控制,、緩存等,以及專用的定制化IP,??紤]到與光學(xué)芯片匹配,這些IP與傳統(tǒng)的數(shù)字IP不一樣,,需要定制化開發(fā),;右邊是光學(xué)模組,除了光學(xué)計算芯片外,,還有一顆DFB激光器芯片,,還有驅(qū)動、TIA以及小型的控制,、電源芯片等組件,。
中間采用熱插拔的方式,跟通信模塊一樣,。之所以選擇這一方式,,是因為光子算數(shù)團隊考慮到光芯片、電芯片放到一起,,可能賣不出去,,因為很難拼得過GPU,考慮到其產(chǎn)品定位,,因此做成插拔型。
光子算數(shù)與高校一起打造了面向服務(wù)器的光電混合AI加速計算卡,,目前已完成一些定制化加速任務(wù),,包括機器學(xué)習(xí)推理、時間序列分析等特定任務(wù),。白冰說,,計算卡現(xiàn)在的性能可用,不過還比較初步,,能做到36路1080P視頻同步處理,,功耗不到70W,算力資源相對有限,,混合精度下峰值算力接近20TOPS,,光部分為低精度,電部分為高精度,。
計算卡封裝有光子協(xié)處理引擎模塊,,散熱器、驅(qū)動,、控制器,、TIA,、一些計算控制部分和賽靈思FPGA芯片,數(shù)據(jù)在光電之間形成循環(huán)流動,。光的定位是為電做協(xié)處理加速,。
其中光子協(xié)處理引擎模塊用的是兩個QSFP28的光通信接口(每個都是100GB/s),光通信物理接口非常成熟,,其光學(xué)帶寬大約達200GB/s,,典型功耗達7W,算力在1.2TOPS左右,。該模塊支持熱插拔,,不需要經(jīng)過預(yù)調(diào),內(nèi)部封裝了一些適合于用光學(xué)做的特殊的算子函數(shù),,比如隨機投影,、高維空間變換映射、壓縮,、小規(guī)模卷積,、時間序列等高算子。現(xiàn)在該模塊還比較初步,,下一階段,,光子算數(shù)會進一步擴大其規(guī)模。
光子協(xié)處理引擎模塊里面是兩層結(jié)構(gòu),,上面是控制模組,,其二級控制緩存處理隨時可以換,以適應(yīng)下一步軟件迭代,;下面是光學(xué)運算模組,,包含整個光學(xué)計算部分,其中集成了大量的光學(xué)單元,,為了一些特定的函數(shù),,可以做低延時、低能耗的變換過程,。
完整計算過程是FPGA接收的數(shù)據(jù)從電接口進來,,經(jīng)過驅(qū)動放大,驅(qū)動光芯片上的調(diào)優(yōu)器,,把信號再返到光上,,經(jīng)過片內(nèi)傳輸完成變換,然后再變成電信號返回,。
目前光子算數(shù)已將一些光電混合AI加速計算服務(wù)器提供給機房和IDC試用與測試,,接口是標(biāo)準(zhǔn)的PCIe口。此外,,其服務(wù)器也與一些國產(chǎn)操作系統(tǒng)和CPU廠商做了適配,。
白冰坦言,,該服務(wù)器目前性能仍較有限,70W運行功耗下,,大概能做三四十路的視頻同步處理,,跟純電比沒有那么強。
下一步,,他們考慮將光的部分帶寬擴大,,進一步提升算力。當(dāng)前在光通信領(lǐng)域,,100GB/s是主流,,200GB/s比較少,400GB/s,、800GB/s主要有一些大廠在做,,目前還沒推出產(chǎn)品。盡管做這塊成本較高,,但這是比較切實可行的已有方案,。
二、熱插拔式模塊,,可由大廠軟件調(diào)用
白冰談到的第二個話題,,光學(xué)芯片的產(chǎn)品定位,即這個東西做完之后,,賣給誰,?
如果想在云端替代NVIDIA GPU,是非常困難的,,其核心競爭力在于它的軟件工具,。把電和光放到一張卡上,要開發(fā)完整的軟件套件,,工作量非常大且代價很高,。當(dāng)然云端加速計算卡也可以做定制化,,但定制化在云端的適用空間會相對有限,,這是做云端AI芯片的所有公司共同面臨的窘境。
光子算數(shù)為什么選擇做成熱插拔方式,?實際上,,這是將適合用光學(xué)做的特定算子封裝到光學(xué)模塊里,通過熱插拔接口和國內(nèi)大廠的加速計算卡插在一起,,這種接口制都是成熟的,,開發(fā)者使用大廠的軟件工具,即可通過API調(diào)用光子算數(shù)的模塊內(nèi)嵌特定算子,。面向具體應(yīng)用,,開發(fā)者通過大廠軟件工具,,開發(fā)由光子算數(shù)的光學(xué)算子與大廠原有的電學(xué)算子組成的光電混合算法整體。
光子算數(shù)對自己的市場定位是提供傳統(tǒng)加速計算卡的升級組件,,使傳統(tǒng)加速計算卡提升性能,、降低能耗、降低成本,,不受制于軟件工具,。消費者依然買大廠的卡和工具,如需升級,,即可選用光子算數(shù)的模塊,。白冰提了一個形象的比喻,用一張傳統(tǒng)卡加上光子協(xié)處理引擎模塊的效果,,相當(dāng)于給汽車配了一個渦輪增壓,。
三、研發(fā)實施路徑:算法先行,,硬件跟進
白冰談到關(guān)于研發(fā)路線,。他們研發(fā)的內(nèi)容是系統(tǒng)性工程,相較于設(shè)計新型的光學(xué)計算單元,,難度是可以克服的,。
更多的,其行業(yè)特征特別像光模塊,,它的行業(yè)拓展是小芯片,、大組裝,其封裝和組裝成本占整個的70%,,是一個系統(tǒng)工程,。更主要的,要做軟硬系統(tǒng)的匹配,,同時硬件要做到光與電的協(xié)同,,其中包括一些算子、標(biāo)定的東西并涉及到一些關(guān)鍵技術(shù),。
最核心的,,要做適合光學(xué)做的算法,算法先行,,硬件跟進,。目前市面上的傳統(tǒng)算法不太適合光學(xué)芯片去執(zhí)行,計算機發(fā)展這么多年,,一直是軟和硬耦合在一起發(fā)展,,“硬”一直是數(shù)字芯片,所以算法里嵌了很多數(shù)字芯片的基因,,用光學(xué)硬件很難加速,。
因此首先要開發(fā)適合光學(xué)做的算子,,給光學(xué)算子配一些數(shù)字算子,去組成完整的算法,,然后來分析光電混合算法的運算和訪存特征,,再之后再設(shè)計硬件,如何給算法加速,。
“這是我們做的核心關(guān)鍵思路,,這也是為什么很多公司目前做不出來的原因?!卑妆f,。
四、適配光學(xué)計算的算法示例
那么,,哪些算法適合用光學(xué)計算去處理呢,?
白冰舉了些例子,比如光學(xué)隨機投影,,用光學(xué)芯片物理實現(xiàn)無需復(fù)雜精確控制,,加工容差大、一致性要求低,。該方案有循環(huán)的效果,,不是卷積,而是對數(shù)據(jù)直接進行維度的變化,,直接能做非線性的處理,,比如升維或壓縮這樣。
例如對平面上的目標(biāo)進行分類,,用一條曲線可以把它分開,,曲線是比較復(fù)雜的,算法里面可能對應(yīng)很多層,,在處理之前,,可以將數(shù)據(jù)扔到光學(xué)芯片里,做一個升維操作,,數(shù)據(jù)從二維空間變到三維,、四維空間,多了Z軸,。這個投影用光學(xué)做的話沒有代價,,在電里面用一個線性的平面就可以把兩類目標(biāo)區(qū)隔開,,可以把十層的網(wǎng)絡(luò)壓縮到兩層,,這樣就是投影變換,光學(xué)芯片會有內(nèi)部的架構(gòu),。
光子算數(shù)把光學(xué)函數(shù)和數(shù)字算子組成了關(guān)鍵的光電混合算法,,經(jīng)嘗試,,至少可以跟市面上主流的算法做更新。
比如基于光學(xué)隨機投影做目標(biāo)識別遷移學(xué)習(xí)時,,后半部分進行重新訓(xùn)練,,算法訓(xùn)練量還是很大的。其實可以不走綠色部分,,直接在藍色塊用光學(xué)芯片做預(yù)處理,,后面加簡單的線性層,就可以完成任務(wù),,做一個維度的升維變化,。
再比如訓(xùn)練時,通常會用BP,,連續(xù)求導(dǎo)會有梯度消失或爆炸的問題,,另外訓(xùn)練量也比較大。用光學(xué)做,,可以直接將輸出層Loss通過光學(xué)隨機投影直接回傳到不同的權(quán)重層,,每層并行獨立更新權(quán)重,這樣可以做并行訓(xùn)練處理并且避免了連續(xù)求導(dǎo)的過程,。
盡管這一領(lǐng)域相對早期的,,主要面向特定化的市場,但可以看到,,它已在某些領(lǐng)域有些成熟化的產(chǎn)品出現(xiàn)和得到應(yīng)用,。由于當(dāng)前光學(xué)芯片主要作為協(xié)處理器,光子算數(shù)也在持續(xù)地與做電學(xué)芯片的大廠積極溝通合作,。