Google IPU:互聯(lián)網(wǎng)巨頭紛紛進軍芯片行業(yè)是為何?
近日,Google發(fā)布了其下一代Pixel2手機,該手機的賣點是強大的Google Assistant人工智能助手,以及驚艷的拍照能力。最初,人們津津樂道的是Pixel2使用單攝像頭結(jié)合強大的機器視覺算法就能完成傳統(tǒng)雙攝像頭才能實現(xiàn)的動態(tài)模糊功能。近日在Google的官方博客上,又公開了Pixel2中使用的一顆專用圖像處理協(xié)處理器,即ImageProcessing Unit (IPU)。這是Google在用于服務(wù)器的TPU之后,推出的第二顆芯片,只是這次針對的是移動端。我們認為,IPU的發(fā)布一方面彰顯了在摩爾定律遇到瓶頸的今天,異構(gòu)計算正在漸漸成為主流;另一方面,則彰顯了互聯(lián)網(wǎng)廠商為了營造自身的生態(tài)而制造相應(yīng)的硬件作為入口的決心,為此不惜花大代價制造專用芯片。
IPU初探:真的僅僅是加速拍照嗎?
根據(jù)Google官方博客的爆料,這塊IPU擁有八塊定制的專用IPU核心,最高運算速度可達3TOPS。除此之外,IPU還可以使用LPDDR4接口以及PCIe接口與主處理器或內(nèi)存交換數(shù)據(jù)。另外,它還搭配了一塊ARM A53核作為控制單元。
Google為這塊芯片的定位首先是加速HDR+。HDR即高動態(tài)范圍攝影。大家知道,一般RGB圖像為多個顏色通道進行了數(shù)字編碼,而數(shù)字編碼的動態(tài)范圍是有限的。一旦超出了這個動態(tài)范圍(即光照的對比度過強),就會出現(xiàn)失真(如下圖上半部分所示)。當(dāng)代計算機視覺解決這個問題的辦法就是HDR,通過減少全局對比度(動態(tài)范圍)但是保留局部對比度的方法,可以在保留細節(jié)的同時避免動態(tài)范圍過大的問題(下圖右下角)。HDR是目前手機和數(shù)碼相機的標(biāo)準(zhǔn)功能,但是需要大量計算,因此在拍攝選擇HDR模式之后,會需要一定時間的處理才能完成HDR運算。而Google的IPU正能加速HDR運算,因此可以減少HDR處理時間。
夜景拍攝不使用(上)和使用HDR(下)效果對比
在現(xiàn)有的手機中,HDR是圖像處理的重要部分,不過加速HDR真的需要一塊專用芯片嗎? Pixel2為了加速HDR專門開了一塊芯片,其野心顯然不止于優(yōu)化日常拍照留念。 其真正的目的在于人工智能應(yīng)用。Pixel2中的人工智能機器視覺應(yīng)用,幾乎一定會使用攝像頭拍攝的畫面作為輸入,來執(zhí)行從圖像中提取信息的任務(wù)。例如,GoogleLens可以識別圖像中的物體,并且從網(wǎng)上搜索相應(yīng)信息。然而,如果這樣的特性只能使用在靜態(tài)圖像中,那么其用途就被大大限制了。為了能把類似的功能使用在動態(tài)視頻中實現(xiàn)實時識別,則需要視頻在送進人工智能算法之前需要進行包括HDR在內(nèi)的一系列預(yù)處理才行,否則會大大影響人工智能算法的準(zhǔn)確率:如上左圖,圖像未經(jīng)過HDR處理前一片漆黑,根本無法識別其中有什么。于是,為了實現(xiàn)實時視頻人工智能識別(以及其他圖像相關(guān)應(yīng)用如直播中的美膚),必須配有高速HDR處理能力,這或許也是Google開發(fā)IPU以加速HDR處理速度背后的野心。
Google Lens配合IPU可實現(xiàn)實時物體識別
除此之外,根據(jù)Google博客,IPU還有能夠加速機器學(xué)習(xí)應(yīng)用??梢?,目前IPU對于HDR加速只是Google“以AI為中心”智能設(shè)備藍圖中的冰山一角,未來還有更大的目標(biāo)等著慢慢浮出水面。
異構(gòu)計算已成趨勢
從技術(shù)角度看,Google在Pixel2中集成IPU是異構(gòu)計算成為趨勢的又一個力證。異構(gòu)計算出現(xiàn)的主要原因是半導(dǎo)體摩爾定律在特征尺寸到達納米數(shù)量級后因為物理(量子效應(yīng))和經(jīng)濟(研發(fā)新制程太貴)原因遇到瓶頸。在過去,絕大多數(shù)應(yīng)用都會執(zhí)行在支持通用編程語言的處理器上,如果處理器目前無法流暢執(zhí)行也沒關(guān)系,等一年工藝制程更新了新出的處理器就能帶動了。然而,在摩爾定律接近瓶頸的今天,不能再期待下一代通用處理器能實現(xiàn)很大的性能進步。因此,為了能高效執(zhí)行特定應(yīng)用,為了應(yīng)用(以及專用領(lǐng)域編程語言)特別優(yōu)化的異構(gòu)協(xié)處理器就變得越來越流行。當(dāng)執(zhí)行特定應(yīng)用時,主處理器把相關(guān)運算分配給專用協(xié)處理器執(zhí)行,從而實現(xiàn)高效執(zhí)行。
Google是異構(gòu)計算的積極踐行者,之前發(fā)布的兩代TPU就堪稱使用異構(gòu)計算加速機器學(xué)習(xí)應(yīng)用的經(jīng)典之作。這次公布的IPU也是異構(gòu)計算的典型例子,IPU支持加速的編程語言包括Halide和TensorFlow,其中Halide是為了機器視覺硬件執(zhí)行效率進行過仔細優(yōu)化的編程語言,可以輕松寫出各種并行執(zhí)行結(jié)構(gòu),在高性能機器視覺領(lǐng)域得到了大量應(yīng)用。TensroFlow則是目前最著名的深度學(xué)習(xí)框架之一。因此,IPU異構(gòu)計算主要加速的就是機器視覺以及機器學(xué)習(xí)領(lǐng)域的計算。
除了Google之外,其他公司也在異構(gòu)計算的路上探索。例如,Microsoft在HoloLens上也設(shè)計了兩代加速AR計算的協(xié)處理器HPU。其他半導(dǎo)體廠商,如華為海思和蘋果則選擇了集成度較高的路線,并沒有在手機系統(tǒng)中加一塊新的芯片而是在原有的SoC中集成加速人工智能運算的IP模塊執(zhí)行異構(gòu)計算。然而,毋庸置疑的是,標(biāo)準(zhǔn)化SoC一統(tǒng)天下的時代即將過去,系統(tǒng)越來越多樣化的異構(gòu)計算則成為新潮流。
互聯(lián)網(wǎng)巨頭為營造生態(tài)進軍芯片行業(yè)
從商業(yè)角度看,我們觀察到一個有趣的現(xiàn)象就是互聯(lián)網(wǎng)/軟件行業(yè)巨頭紛紛進入硬件甚至芯片行業(yè)。在GoogleIPU之前,Microsoft就已經(jīng)推出了用與HoloLens的HPU,而在未來或許會有更多互聯(lián)網(wǎng)巨頭進入芯片這個領(lǐng)域。這些公司的根本目的是為了營造自己的生態(tài),包括硬件入口,運行在硬件上的軟件應(yīng)用,以及在軟件應(yīng)用中的增值服務(wù)。在這三部分中,最終幫助公司盈利的是服務(wù),因此硬件上可以不惜成本,但是務(wù)必要做到能流暢運行應(yīng)用。這也是為什么Google愿意花錢養(yǎng)一支團隊做芯片,并且敢于在手機系統(tǒng)中生生加入一塊新的協(xié)處理器——在傳統(tǒng)邏輯中,手機成本非常關(guān)鍵,要是想靠手機賺錢根本不會有空間給你加入一塊新的芯片;然而Google根本沒指望靠Pixel系列手機賺錢,它想做的只是讓大家能流暢體驗自己的AI服務(wù),成為自己AI生態(tài)的重要入口。
在未來,會有更多的互聯(lián)網(wǎng)巨頭入局芯片。這從另一方面也給目前被幾大傳統(tǒng)巨頭壟斷的芯片行業(yè)帶來了一股新風(fēng),也會給行業(yè)帶來更多價值。讓我們拭目以待!