當(dāng)AI遇上AR:從微軟HoloLens HPU說(shuō)起
點(diǎn)擊:1058
A+ A-
所屬頻道:新聞中心
AI+AR
人工智能(AI)與增強(qiáng)現(xiàn)實(shí)(AR)的概念在最近乃是當(dāng)紅炸子雞,火遍大江南北。AI 與 AR 的概念區(qū)別不小,但是也有不少交集。目前,AI 最熱門(mén)的應(yīng)用就是在計(jì)算機(jī)視覺(jué)(Computer Vision,CV)領(lǐng)域,而 AR 的實(shí)現(xiàn)(圖像渲染)自然也離不開(kāi) CV 。舉個(gè)例子吧!《龍珠》想必大家都看過(guò)(如果你沒(méi)看過(guò)說(shuō)明你很年輕!大叔很羨慕你!),里面的戰(zhàn)斗力探測(cè)眼鏡就是 AI + AR 的一個(gè)極好例子:戰(zhàn)斗力探測(cè)眼鏡用基于 CV 的 AI 首先做物體識(shí)別,把眼鏡視野里面的戰(zhàn)斗對(duì)象與背景區(qū)分開(kāi),然后用一套AI算法去評(píng)估該對(duì)象的戰(zhàn)斗力,最后把戰(zhàn)斗力標(biāo)注到眼鏡視野里的目標(biāo)周?chē)ㄊ裁矗繎?zhàn)斗力只有5?),從而實(shí)現(xiàn) AR 。
《龍珠》里的戰(zhàn)斗力探測(cè)眼鏡是AI+AR應(yīng)用的一個(gè)極好例子
HoloLens 與 HPU
如今,實(shí)現(xiàn)戰(zhàn)斗力探測(cè)的 AI + AR 技術(shù)已經(jīng)不再為賽亞人所獨(dú)有,地球人也擁有了這項(xiàng)技術(shù)!例如,微軟的 HoloLens 在已公布的 AI + AR 設(shè)備中可謂佼佼者,憑借微軟的金字招牌以及酷炫的演示動(dòng)畫(huà)吸引了無(wú)數(shù)科技愛(ài)好者的眼球。
目前,用于 AI/AR 的處理器架構(gòu)該如何設(shè)計(jì)仍然處于探索階段,Intel 想借機(jī)推自己基于 CPU 的方案,Nvidia 想利用 GPU 彎道超車(chē),而 Qualcomm 也拼接 Snapdragon 平臺(tái)在一邊虎視眈眈。在今年的商用芯片峰會(huì) HotChips 上,微軟公布了應(yīng)用在 HoloLens 中的處理器芯片(HoloLens ProCESsing Unit, HPU)。HPU 的架構(gòu)和 CPU 以及 GPU 都不相同,可謂是開(kāi)創(chuàng)了 AI/AR 領(lǐng)域芯片的新范式.接下來(lái)將詳細(xì)分析 HPU 芯片架構(gòu)并展望未來(lái) AI/AR 芯片設(shè)計(jì)中的范式轉(zhuǎn)換。
HoloLens可以實(shí)現(xiàn)眾多AI/AR應(yīng)用
微軟公布的 HoloLens 系統(tǒng)架構(gòu)如下圖所示。就在絕大多數(shù)移動(dòng)設(shè)備的處理器都基于 ARM 結(jié)構(gòu)的今天,HoloLens 的主處理器使用的仍然是 Intel 的 Cherry Trail SoC(包括CPU與集成的GPU),讓人感嘆維持了二十余年的 Wintel 聯(lián)盟堅(jiān)不可破。微軟最新公布的 HPU 也可以在圖上看到,HPU 嚴(yán)格來(lái)說(shuō)是一款協(xié)處理器,其作用是協(xié)助主處理器加速運(yùn)算一些專(zhuān)門(mén)的運(yùn)算(如用于 CV 的矩陣運(yùn)算,用于 CNN 的卷積運(yùn)算等)。
由于 CPU 必須要考慮通用性而無(wú)法對(duì)一些 AR/VR 運(yùn)算進(jìn)行優(yōu)化,因此在應(yīng)用場(chǎng)景中會(huì)大量遇到的專(zhuān)門(mén)運(yùn)算如果都交給 CPU 做會(huì)使系統(tǒng)的整體性能變得很差,于是我們需要設(shè)計(jì)一款專(zhuān)用的加速器來(lái)協(xié)助加速這些運(yùn)算,微軟在這里的加速器就是 HPU 。HPU 通過(guò) PCIe 高速接口與主處理器所在的 SoC 通信,不過(guò) PCIe 的功耗其實(shí)是比較大的,未來(lái)可望會(huì)用上更先進(jìn)的互聯(lián)技術(shù)。
微軟公布的 HPU 處理能力達(dá)到每秒 1T(10^12)次像素運(yùn)算,功耗則小于 4W。HPU 能夠融合來(lái)自 5 個(gè)攝像頭、一個(gè)深度傳感器以及運(yùn)動(dòng)傳感器的輸入信息,將信息壓縮并傳送到主處理器。此外 HPU 還能實(shí)現(xiàn) AI 手勢(shì)識(shí)別。據(jù)說(shuō)微軟曾評(píng)估了來(lái)自于各大廠商的商用芯片,卻沒(méi)有找到任何一款產(chǎn)品能滿足系統(tǒng)算法對(duì)性能的要求。這款微軟自己開(kāi)發(fā)的 HPU 是采用臺(tái)積電 28nm 工藝,內(nèi)含 24 顆可重配置的 Tensilica 數(shù)字信號(hào)處理器(DSP)核心以及高達(dá) 8MB 的 Cache。除此以外,還有專(zhuān)用加速器用于給各類(lèi)專(zhuān)門(mén)任務(wù)加速。
HoloLens 系統(tǒng)架構(gòu),HPU 與顯示設(shè)備緊密耦合并且和主處理器 Intel Cherry Trail SoC 由高速 PCIe 接口互聯(lián)
HPU 有何不同
如果仔細(xì)觀察 HPU 架構(gòu),會(huì)發(fā)現(xiàn)它與目前借著 AI/AR 及人工智能風(fēng)口飛地很高的 GPU 有點(diǎn)像,但并不相同。說(shuō)它們“有點(diǎn)像”是因?yàn)?HPU 和 GPU 都有不少計(jì)算核心,這樣可以實(shí)現(xiàn)數(shù)據(jù)的并行處理。HPU 和 GPU 要處理的都是畫(huà)面中的一個(gè)個(gè)像素,而像素之間其實(shí)并沒(méi)有關(guān)聯(lián)性,因此可以由并行處理來(lái)提高執(zhí)行效率。與之相對(duì)的是 CPU,為了照顧通用性 CPU 無(wú)法放置大量的計(jì)算核心來(lái)實(shí)現(xiàn)大規(guī)模并行運(yùn)算,因此完全用 CPU 來(lái)處理 AI/AR 操作會(huì)導(dǎo)致速度很慢。另一方面,HPU 與 GPU 之間也有很大的不同。首先,HPU 上的計(jì)算核心是可配置 DSP 而非類(lèi)似 Nvidia GPU 里面的 CUDA core。另外,HPU 的片上Cache(用于快速存取數(shù)據(jù))高達(dá) 8MB,遠(yuǎn)大于 GPU 的片上 Cache 容量(Tegra X1 上Cache 僅有 2 MB)。這是為什么呢?
歸根到底,這些都是因?yàn)閼?yīng)用的區(qū)別。GPU 就像一艘巨輪,設(shè)施豪華(運(yùn)算精度高),耗油巨大(功耗巨大),在處理海量的數(shù)據(jù)時(shí)可以實(shí)現(xiàn)非常高的吞吐率,但是實(shí)時(shí)性并不好:你可以想象巨輪在行駛前需要做許多準(zhǔn)備工作,并不是指令一下說(shuō)走就走(延遲較大)。當(dāng)然在需要處理的數(shù)據(jù)量足夠大時(shí),這些準(zhǔn)備時(shí)間相對(duì)于計(jì)算時(shí)間來(lái)說(shuō)可以忽略不計(jì)。HPU 就像一艘小船,輕便而省油(功耗較?。抑噶钜幌驴梢哉f(shuō)走就走(延遲較?。?,雖然運(yùn)算的吞吐量不能和 GPU 相比但是實(shí)時(shí)性很好。
在 HoloLens 中,實(shí)時(shí)性非常重要:例如,在你的頭部移動(dòng)時(shí),你顯示的內(nèi)容也要相應(yīng)改變,如果在你頭部移動(dòng)和現(xiàn)實(shí)內(nèi)容改變之間存在明顯延遲則使用者會(huì)感到暈眩(這也是為什么很多人在玩 3D 游戲時(shí)會(huì)頭暈的原因)。另外,由于 HoloLens 是移動(dòng)設(shè)備,因此芯片的功耗需要嚴(yán)格控制,功耗巨大的 GPU 架構(gòu)并不適合。
HPU 芯片結(jié)構(gòu),可見(jiàn) DSP 計(jì)算核心以及大容量片上 Cache(SRAM)
讓我們來(lái)看看 HPU 和 GPU 的幾點(diǎn)不同是如何對(duì)應(yīng)應(yīng)用場(chǎng)合的要求的。首先,HPU 選擇了可重配置的 DSP。使用可重配置的 DSP 可以根據(jù)應(yīng)用場(chǎng)合切換配置來(lái)實(shí)現(xiàn)性能-功耗的最優(yōu)折衷,可以說(shuō) HPU 使用可配置 DSP 是為了實(shí)現(xiàn)在給定功耗下的最佳性能。其次,HPU 使用很大的片上 Cache。使用片上 Cache 可以實(shí)現(xiàn)低延遲數(shù)據(jù)存取,從而滿足HoloLens 對(duì)于實(shí)時(shí)性的要求。HPU 與顯示設(shè)備緊密耦和也能幫助降低延遲。與之相反,通常 GPU 的片上 Cache 都較小,而絕大部分?jǐn)?shù)據(jù)都存在片外 DRAM 中并使用高速 GDDR 接口實(shí)現(xiàn)數(shù)據(jù)傳送。這樣做既增大了數(shù)據(jù)存取延時(shí)又消耗了很大的功耗,并不適合 HoloLens 這樣的應(yīng)用。
最后,值得注意的是,HPU 還集成了許多專(zhuān)用加速器。這些專(zhuān)用加速器可以幫助 HPU 快速執(zhí)行一些算法(單靠 DSP 往往無(wú)法滿足這些算法的性能需求)。這使得 HPU 又有點(diǎn)像 Qualcomm 的 Snapdragon SoC,因?yàn)?Snapdragon 也是在芯片上會(huì)集成許多特定算法(如視頻編解碼,AES 加密)的加速器。這些加速器的功耗往往很低,但是使用這些加速器也是要付出代價(jià)的:專(zhuān)用加速器在不需要使用的時(shí)候會(huì)處于閑置狀態(tài)無(wú)法用做其他用途,這部分用于專(zhuān)用加速器的芯片面積在加速器閑置的時(shí)候相當(dāng)于是浪費(fèi)了。因此,專(zhuān)用加速器就能量而言效率非常高(即完成運(yùn)算需要的能量很?。?,但是就芯片面積而言效率很差(即增加了芯片成本)。因此集成哪些專(zhuān)用加速器需要經(jīng)過(guò)性能-功耗-成本三方面的仔細(xì)折衷。HPU 集成的這些專(zhuān)用加速器相信會(huì)在一些關(guān)鍵的應(yīng)用中起很大的加速作用,從而保證 HoloLens 能以很高的性能實(shí)現(xiàn)算法同時(shí)消耗很低的功耗。
根據(jù)微軟的數(shù)據(jù),使用專(zhuān)用加速器配合 DSP 可以實(shí)現(xiàn) 200 倍以上的性能改善,效果可謂驚人。
芯片 IP 隨著 AI/AR 概念變得更重要
近來(lái) AI/AR 技術(shù)發(fā)展非??臁榱藢?shí)現(xiàn)新的算法以及滿足新的應(yīng)用需求,往往要速度更快功耗更低的硬件,這就需要相應(yīng)的芯片也能快速迭代以滿足算法和應(yīng)用的需求。另一方面,許多傳統(tǒng)只在軟件領(lǐng)域活動(dòng)的巨頭(如 Google,F(xiàn)acebook)在這波風(fēng)潮里也在向著硬件領(lǐng)域蠢蠢欲動(dòng),為了使自己的 AI/AR 硬件性能達(dá)標(biāo),使用通用的 CPU/GPU 很困難,必須有定制芯片。以往的先三年技術(shù)積累再開(kāi)始量產(chǎn)芯片的做法根本無(wú)法跟上現(xiàn)在的高速節(jié)奏,必須有能從頭開(kāi)始在一年內(nèi)就交付的快速芯片設(shè)計(jì)方法。為了滿足這兩個(gè)需求,使用芯片 IP 幾乎是必須的。當(dāng)使用購(gòu)買(mǎi)的芯片 IP 時(shí),設(shè)計(jì)者只需把精力集中在整體架構(gòu)設(shè)計(jì)上,所有沒(méi)有時(shí)間或者資源做具體設(shè)計(jì)的芯片模塊都可以向第三方購(gòu)買(mǎi)。相比從頭設(shè)計(jì)所有模塊,基于 IP 的芯片設(shè)計(jì)方法大大加快了設(shè)計(jì)速度,而整個(gè)芯片中第三方 IP 所占的比例也會(huì)越來(lái)越多。
在之前的芯片巨頭靠出售芯片盈利,而芯片中每一個(gè)第三方 IP 都要付出權(quán)利金,因此高通這類(lèi)公司不到萬(wàn)不得已不會(huì)使用第三方 IP,而是會(huì)傾向于自己做模塊。舉例來(lái)說(shuō),高通芯片面積中使用第三方 IP(不包括ARM的架構(gòu)授權(quán))的比例通常小于 5%。然而,這些從軟件領(lǐng)域過(guò)來(lái)做硬件的巨頭制造芯片并不指望靠芯片盈利,而是要用在自家硬件里。對(duì)于它們來(lái)說(shuō),硬件是否能盈利甚至都不重要,它們需要的是營(yíng)造自己的生態(tài)圈搶占市場(chǎng)。因此,對(duì)它們來(lái)說(shuō)芯片最關(guān)鍵的是性能要強(qiáng),而且上市速度要快,所以它們完全不介意買(mǎi)許多第三方 IP。
前面討論的微軟 HPU 就是一個(gè)極好的例子。微軟的芯片設(shè)計(jì)團(tuán)隊(duì)相對(duì)于 Intel 和高通等半導(dǎo)體業(yè)界巨頭來(lái)說(shuō)非常小,但是借助于從 Cadence 購(gòu)買(mǎi)的 Tensillica DSP IP,微軟仍然能夠在短時(shí)間內(nèi)快速完成高性能大型芯片的設(shè)計(jì),而且第三方 IP 占的芯片面積高達(dá) 60% 以上??梢哉f(shuō),隨著 AI/AR 概念越來(lái)越普及,相應(yīng)的芯片 IP 也會(huì)越來(lái)越熱門(mén)。
除了 Tensillica 之外,也有其他公司在提供 AI/AR 方面的芯片 IP。老牌 DSP 和通訊 IP 供應(yīng)商最近發(fā)布了針對(duì) AI 和 CV 的 XM6 DSP 平臺(tái)。該 DSP 平臺(tái)為深度學(xué)習(xí)優(yōu)化,從而可以較高效地完成 AI/AR 運(yùn)算。在各大高校和科研機(jī)構(gòu),AI IP 的開(kāi)發(fā)也是一個(gè)熱點(diǎn),例如 MIT 由 Yu-Hsin Chen 開(kāi)發(fā)的 Eyeriss 深度學(xué)習(xí)加速器 IP 可以以很低的功耗完成高速卷積運(yùn)算,自從在 2015 年的 ISSCC(國(guó)際固態(tài)半導(dǎo)體電路會(huì)議)上發(fā)表后收到了巨大的關(guān)注。我們預(yù)期在不久的將來(lái),AI/AR IP 領(lǐng)域會(huì)越來(lái)越紅火。
結(jié)語(yǔ)
作為 AI/AR 處理器芯片的先鋒,HPU 的架構(gòu)與 GPU 相似(多核并行運(yùn)算)但又有很大不同(使用定點(diǎn) DSP 和大容量片上 Cache),另一方面它又從用于手機(jī)的多媒體 SoC(如 Snapdragon)借鑒了集成專(zhuān)用加速器的方法,可謂是博采眾長(zhǎng)又不拘泥于一家之說(shuō)。另外,為了追上算法和應(yīng)用的發(fā)展,AI/AR 芯片可能會(huì)大量使用第三方芯片 IP。我們預(yù)期在未來(lái)的 AI/AR 處理器芯片架構(gòu)中看到如下的設(shè)計(jì)范式轉(zhuǎn)移:GPU 追求高吞吐量-> AI/AR 芯片追求低延時(shí);CPU/GPU 追求通用性-> AI/AR 處理器為特定應(yīng)用集成大量專(zhuān)用加速器;CPU/GPU 模塊多為自己設(shè)計(jì)-> AI/AR 處理器大量使用第三方 IP。
(審核編輯: 林靜)
分享