sponsored links

致力逼真角色,Meta為Codec Avatar解碼提出硬體加速器框架F-CAD

Meta一直致力於名為Codec Avatar的虛擬化身專案,從而幫助克服人與人之間,以及人與機會之間的物理距離挑戰。藉助突破性的3D捕獲技術和人工智慧系統,Codec Avatar可以幫助人們在未來快速輕鬆地建立逼真的虛擬化身,令虛擬現實中的社交聯絡變得如同現實世界般自然和常見。儘管虛擬角色多年來一直是遊戲和應用的主要元素,但這家公司相信逼真的虛擬表現將會改變一切。

對於這個專案,團隊早前已經多次分享過相關的研究進展。日前,Meta又透過名為《F-CAD: A Framework to Explore Hardware Accelerators for Codec Avatar Decoding》的論文介紹了用於為Codec Avatar解碼探索硬體加速器的框架F-CAD。

致力逼真角色,Meta為Codec Avatar解碼提出硬體加速器框架F-CAD


整個系統如圖1所示,其中發射機(TX)的所有資訊(例如扭曲的微笑和皺眉)將在到達接收機(RX)後進行編碼、傳送和解碼,以生成用於高保真社交臨場感的Codec Avatar。其中,解碼器是最複雜的模組,佔整個系統所需計算量的90%。如果沒有有效的最佳化,它將輕易成為瓶頸,阻礙虛擬現實臨場感的順利實現。隨著VR/AR耳機的普及,社會需求不斷增加,對實時和高質量編解碼器-化身解碼的要求也越來越高。然而,在虛擬現實耳機上部署編解碼器-化身解碼器帶來了重大挑戰。

最先進的解碼器屬於計算和記憶體密集型,例如它可以包含超過13.6個GOP和720萬個引數。同時,大多數頭顯只能提供有限的計算、記憶體和電源預算。為了防止暈動症,並提供實時響應以支援流暢使用者互動,VR相較於非VR應用(30 FPS)要求更高的重新整理率(90 FPS,甚至120 FPS)。

它要求硬體在不使用大batch size的情況下提供高吞吐量,因為收集batch輸入的額外延遲可能無法滿足實時要求。另外,新興解碼器開始採用具有定製神經網路層的複雜多分支DNN來生成Codec Avatar的不同元件,例如一個用於面部幾何結構的分支和另一個用於紋理的分支,並且所述分支可能具有非常不同的要求。

上述獨特的挑戰令現有硬體加速器難以有效處理Codec Avatar解碼器。另外,先進的商用SoC處理器(驍龍865)和學術界最近釋出的兩款DNN加速器(DNNBuilder和HybridDNN)未能提供令人滿意的效能和效率。

針對這個問題,Meta和伊利諾伊大學厄巴納-香檳分校的研究人員提出了F-CAD。這個全新的自動化工具用於加速具有複雜層依賴關係的多分支DNN。在論文中,團隊關注Codec Avatar解碼,將其作為F-CAD的一個重要和實際用例,並透過在資源預算下滿足特定效能目標來提供最佳化的硬體加速器。

致力逼真角色,Meta為Codec Avatar解碼提出硬體加速器框架F-CAD

1.加速器設計挑戰

Codec Avatar解碼器獨特的多分支功能和自定義層帶來了推理過程中複雜的資料流和高計算和記憶體需求,這使得現有的DNN加速器難以應對。挑戰包括巨大的和不均勻分佈的計算和大量記憶體佔用。對於資源有限,但以高吞吐量效能實時響應為目標的硬體加速器而言,這變得更具挑戰性。團隊從業界(驍龍865 SoC)和學術界(DNNBuilder,HybridDNN)中選擇了三個現有加速器來加速Codec Avatar解碼。

對於865 SoC,研究人員執行表I中所示的目標解碼器。由於DNNBuilder和HybridDNN不支援定製的Conv,他們透過將定製的Conv替換為傳統的Conv來建立模擬解碼器,同時保持其餘網路結構不變。模擬解碼器具有高度相似的結構,但計算量減少了3.7%。這可以提供一定的洞察,以確定現有加速器設計的瓶頸。在評估過程中,團隊使用了兩個效能指標:FPS(表示吞吐量)和效率(實際和理論峰值吞吐量之間的比率,如等式3所示)。在下面的等式中,β表示一個multiplier在一個時鐘週期內處理的運算元。

如表II所示,865 SoC只實現了35.8 FPS,整體效率勉強達到16.9%。DNNBuilder的吞吐量稍微更慢(30.5 FPS),但效率更高(81.6),而HybridDNN則資料則更差,吞吐量為12.1 FPS,而效率為(77.5%)。

致力逼真角色,Meta為Codec Avatar解碼提出硬體加速器框架F-CAD

2. F-CAD自動化設計流程

為了應對上述的問題,團隊提出了F-CAD,透過它設計和開發用於多分支DNN的定製硬體加速器。如圖4所示,F-CAD直接連線到流行的機器學習框架,並將開發的解碼器模型作為輸入,以實現更精細的定製。在Analysis步驟中,F-CAD不僅透過提取分層資訊(例如層型別、層配置),而且透過提取分支資訊(例如,分支編號、每個分支中的層數和層依賴關係)來開始分析目標網路。然後,profiler開始計算每一層的計算和記憶體需求,並提供關於分支需求的統計資訊,以幫助將目標解碼器對映到提出的加速器架構。輸入同時包含資源預算和分支優先順序,以設定資源界限。



在Construction步驟中,執行層融合以減少層數量,其中輕量層(例如啟用層)聚合到其相鄰的主要層,例如控制計算或記憶體消耗的Conv-like和up-sampling層。然後分離具有共享部分的分支以建立單獨的資料流,相應的層被重新組織並分配給計算需求最高的流。這個策略有助於避免硬體冗餘,因為它不會例項化重複的硬體單元,並且會從共享分支建立一個清晰的臨界流(計算量最大),並確保該流在Optimization步驟中得到足夠的關注。

在融合和重組後,F-CAD分別根據層和分支編號沿X和Y維度匯入和擴充套件擬議的彈性架構。最終,這將生成一個基本加速器,並在步驟3中進行最佳化。

在Optimization步驟中,首先確定加速器設計空間。解碼器的層和分支構成了更高維的設計空間,因此搜尋最佳化設計變得複雜。F-CAD引入了DSE引擎以利用跨分支和分支內最佳化。然後,將隨機搜尋應用於跨分支最佳化,探索跨分支的資源分配方案,並透過考慮設計空間和可用資源為每個分支尋找最佳加速器候選。最後,根據效能、效率和定製需求對候選加速器進行評估。DSE引擎最終透過迭代過程生成全域性最佳化設計。

3. 加速器架構

A.基於層的多管道加速器範例

團隊提出的加速器的設計範例如圖5(A)所示。每個分支的輸入以管道方式處理,並透過屬於所述分支的所有管道階段。對於具有共享部分的分支,按照層重組策略將相應的階段分配給其中一個分支。例如,Branch2和3共享前兩層,所以階段1∼ 2被分配給Branch 2,而後續階段分別執行。第2階段的結果分佈到兩個不同的分支。研究人員同時採用了fine-grained管道設計,以降低管道初始延遲。

B.具有二維擴充套件能力的彈性架構

為了實現擬議的加速器範例,F-CAD引入了彈性架構,以便在二維以下靈活擴充套件加速器。在圖5(b)中,所述彈性架構由基本架構單元組成,其佈置在反映層重組結果的二維平面中,每個單元負責一個管道階段。例如,在X軸之後的擴充套件意味著在這個分支中需要處理更多的階段(本例為三個階段),而沿Y軸的擴充套件表示在目標解碼器中使用更多分支。在本例中,F-CAD生成一個加速器,其中有三條管道對應於Branch 1.∼ 3。

在基本架構單元內有三種類型的資源:計算(黃色區域)、片上記憶體(藍色和綠色區域)和外部記憶體(紅色區域)資源。上一層的輸入特徵圖從左側水平傳遞,其中一部分儲存在輸入緩衝區(InBuf)中,從而提供及時的資料供應。同時,DNN引數從外部儲存器中提取,並按照計算順序儲存在權重緩衝區(WeightBuf)中。

為滿足不同層階段的各種需,每個基本架構單元都是高度可配置。它支援建議的3D並行性,包括沿輸出和輸入通道的兩個展開因子(核心並行因子kpf和通道並行因子cpf)和輸入特徵圖的分割槽因子(H分割槽)。配置後,計算引擎的H分割槽數被例項化,每個引擎包含kpf流程元素(PE)來處理計算。提出的基本架構單元同時允許定製輸入特徵(DW)、權重(WW)和外部儲存器匯流排(MW)的位寬度。

C.具有3D並行性的基本架構

致力逼真角色,Meta為Codec Avatar解碼提出硬體加速器框架F-CAD


圖5(C)提供了擬議3D並行性的詳細說明。假設一個具有4×6×3輸入特徵對映(InFM)和兩個4×2×2核心的Conv類層。最大輸入並行因子為cpf max=4,最大輸出並行因子為kpf max=2,因為該層包含四個可並行處理的輸入通道和兩個輸出通道。在這種情況下,將輸入和輸出並行因子配置為2(cpf=kpf=2),因此每個計算引擎將例項化兩個PE,每個PE並行執行兩個MAC。由於來自輸入/輸出通道的並行性可能不足以用於Codec Avatar解碼,研究人員透過沿高度維度劃分InFM來新增一個額外的並行性。因此,所有InFM子部分都可以並行處理。本例的總並行因子為cpf×kpf×H-partition=8,例項化了四個PE。

在實驗測試中,研究人員針對三個嵌入式FPGA平臺(Xilinx Z7045、ZU17EG和ZU9CG)演示F-CAD加速Codec Avatar解碼的能力和可擴充套件性。由於目標平臺是FPGA,團隊將資源預算Cmax和Mmax設定為目標FPGA中的可用DSP和BRAM,將BWmax設定為DDR3記憶體頻寬。所有平臺的時鐘頻率均設定為200MHz。

表I中描述了目標解碼器,其中定製的batch size{1,2,2}對應於Branch 1.∼ 3。大多數VR虛擬化身應用都會考慮這種定製,其中Branch 2和3需要渲染兩眼都能看到鏡面反射效果的兩個HD紋理,而Branch 1僅輸出一個可由雙眼共享的面部幾何圖形。

致力逼真角色,Meta為Codec Avatar解碼提出硬體加速器框架F-CAD


表IV列出了實驗結果,其中F-CAD按照建議的彈性架構生成了五個加速器。為了評估搜尋速度,團隊對每種情況執行10次獨立搜尋,其中N=20(意味著搜尋包含20次迭代)和P=200(意味著初始化了200個候選資源分佈),所有搜尋都使用2.6 GHz的Intel i7 CPU在幾分鐘內收斂。收斂的平均迭代次數為9.2次(最小值:6.8;最大值:13.6)。最終,F-CAD透過考慮定製和資源約束生成最佳化設計。特別是,案例4的加速器達到最高122.1 FPS,完全滿足VR要求;而案例5的加速器提供了最高的效率峰值96.7%。

團隊將F-CAD生成的加速器與表V中的現有設計進行比較,以相同的ZU9CG FPGA為目標,配備2520個DSP和1824個BRAM。DNNBuilder的效能和效率受到並行性不足的限制,因此分配的資源沒有得到充分利用。

另一方面,HybridDNN無法分配更多的DSP,並且留下超過一半的可用DSP未分配。原因是coarse-grained配置需要兩倍大小的加速器例項才能繼續擴充套件,但BRAM預算不足,成為瓶頸。在研究人員的設計中,F-CAD在相同的資源預算下提供最高的FPS和效率。與DNNBuilder相比,其實現了4.0倍更高的吞吐量和62.5%更高的效率。與HybridDNN相比,在執行16位模型時,其只需多分配2.2倍的DSP,就能提供2.8倍的吞吐量,效率提高21.2%。

總的來說,團隊在論文中介紹了F-CAD。為了解決特殊的DNN結構和苛刻的效能要求所帶來的獨特挑戰,研究人員提出了支援多分支DNN的可擴充套件彈性架構和高度可配置的基本架構單元,以提供靈活和可擴充套件的並行處理。

然後,其引入了一個多分支動態設計空間來描述硬體配置,並引入了一個高效的DSE引擎,透過考慮各種定製約束和可用資源預算來探索最佳化的加速器。在實驗中,F-CAD提供了非常高的吞吐量和效率,峰值達到122.1 FPS和91.6%。與最先進的加速器相比,在針對同一FPGA時,F-CAD的吞吐量分別比DNNBuilder和HybridDNN高4.0倍和2.8倍,效率分別高62.5%和21.2%。

文章來源:映維網

分類: 美食
時間: 2021-12-23

相關文章

阿富汗家庭的一日三餐,都愛吃些什麼,為何是世界上最健康的國家

阿富汗家庭的一日三餐,都愛吃些什麼,為何是世界上最健康的國家
根據英國<衛報>釋出的資訊 ,clinic compare公司透過分析全世界各個國家和地區的人均年飲酒量.人均年吸菸量和居民飲食生活習慣,得出了一份全世界健康程度的榜單.根據這份榜單,阿富 ...

這裡為何被稱為“世界客都”?

這裡為何被稱為“世界客都”?
"世界客都" 到梅州來,除了能夠品嚐到諸如梅菜扣肉.鹽焗雞.釀豆腐等客家特色美食,最直觀的印象,應該是這裡充滿南洋風情的建築了. 圓圓的,是巴洛克風格. 尖尖的,是哥特式風格. 而 ...

都說吃魚好,不僅營養豐富還能預防心血管病?但這種魚建議你少吃

都說吃魚好,不僅營養豐富還能預防心血管病?但這種魚建議你少吃
"媽,我又給您買了幾條魚回來了,您記得吃." 週末,聶女士回家來看自己的媽媽,又給帶了5條魚,能保證母親一天一條魚. 母親看到購物袋中大大小小的魚,不由地皺了皺眉頭:"哎 ...

寶寶對雞蛋、牛奶過敏,這輩子都不能吃了嗎?

寶寶對雞蛋、牛奶過敏,這輩子都不能吃了嗎?
看得到,不能吃:不知情,吃了遭罪:不當回事,可憐的娃! 嗯,說的就是最常見又最容易被忽視的食物過敏.食物過敏不是小事,後果很嚴重: 7歲的寶寶天天刷牙,還是口臭.爛牙,去醫院一檢查,原來是對牛奶.雞蛋 ...

闢謠:貓糧含有動物副產品就是劣質糧?你家貓可能每天都在吃

闢謠:貓糧含有動物副產品就是劣質糧?你家貓可能每天都在吃
不知道從什麼時候開始,動物副產品成了許多寵物家長眼裡的"毒原料",看見配料表中出現"副產品"的字眼就很開裂: 動物副產品都不健康不衛生 動物副產品可能會導致疾病 ...

所有“隔夜食物”都不能吃嗎?這3種食物,第二天味道可能更好

所有“隔夜食物”都不能吃嗎?這3種食物,第二天味道可能更好
導語:針對隔夜菜大夥兒都有一定的瞭解,大部分人覺得過夜的飯食不是可以吃的,由於隔夜飯菜就會造成化合物而對自己的身體健康會形成一定的危害,與此同時也會提高癌症的機率,實際上隔夜菜並不一定說成隔了一夜的菜 ...

2021中秋節,為您推薦10道硬菜,照著做簡單省事,大人孩子都愛吃

2021中秋節,為您推薦10道硬菜,照著做簡單省事,大人孩子都愛吃
#月圓話中秋#中秋節是中國傳統的"四大佳節"之一,中秋節的主題就是花好月圓人長久,因此中秋節也是一個團圓喜慶的日子. 中秋節全家人歡聚一堂,賞月品美食是不可或缺的,因此中秋節準備一 ...

女子誤把野生動物當成流浪狗,好心餵養一個月,貓差點都被吃了

女子誤把野生動物當成流浪狗,好心餵養一個月,貓差點都被吃了
本文字為原創,未經允許不得轉載 我們經常能看到新聞報道,有關野生動物闖入人類的領域,甚至是到家中的事情,大的比如熊,小的比如是一條蛇之類的.人們在不傷害它們的前提下,儘量將野生動物趕回屬於它們的領地才 ...

玉米麵雞蛋餅,2分鐘烙一鍋,又香又軟易消化,老人孩子都愛吃

玉米麵雞蛋餅,2分鐘烙一鍋,又香又軟易消化,老人孩子都愛吃
早餐是一日三餐中最重要的一餐.中國有句古老的俗話:"早餐吃得像皇帝,午餐吃得像貧民,晚餐吃得像乞丐",也正是說明了早餐的重要性.但很多人由於工作忙沒時間,早餐都是不吃或隨便應付一下 ...

早餐這樣做,10分鐘就出鍋,簡單又營養,老人小孩都愛吃

早餐這樣做,10分鐘就出鍋,簡單又營養,老人小孩都愛吃
大家好,今天我要給大家分享一道,懶人早餐的做法.提到早餐相信很多朋友都知道,早餐可是我們一天中最重要的一頓,如果你早餐不吃的話,對我們的腸胃是很不好的,而且也不能滿足我們身體中,所需要的各種營養成分. ...

自制南瓜丸子的做法,鍋裡一炸,出鍋不發硬不吸油,全家都搶著吃

自制南瓜丸子的做法,鍋裡一炸,出鍋不發硬不吸油,全家都搶著吃
大家好,我是:為愛下廚 教你省心.省力,的做法與技巧 讓飯菜充滿濃濃家鄉的味道 讓我們一起努力成長,做出不一樣的獨特美食 做出充滿愛的美食,做法簡單還快捷 <自制南瓜丸子> 準備一個大大的 ...

油條這做法太簡單了,學會不用早起,鬆軟香甜,上桌全家都搶著吃

油條這做法太簡單了,學會不用早起,鬆軟香甜,上桌全家都搶著吃
大家好,我是:為愛下廚 教你省心.省力,的做法與技巧 讓飯菜充滿濃濃家鄉的味道 讓我們一起努力成長,做出不一樣的獨特美食 做出充滿愛的美食,做法簡單還快捷 <自制小油條> 加入300克麵粉 ...

山藥這樣做,全家都愛吃,無油無糖,好吃更健康,秋天要多吃

山藥這樣做,全家都愛吃,無油無糖,好吃更健康,秋天要多吃
作為一個美食愛好者,平時在家經常會做各種小點心.一方面是想在閒暇的時候,有可以打發時光的美食.另外也是因為這種小點心往往外形可愛,如果口感也很棒的話,會有很強的成就感哦! 今天我們來做一款紅豆山藥糕, ...

以後麵粉別烙餅了,筷子一攪,孩子愛吃不挑食,全家老少都愛吃

以後麵粉別烙餅了,筷子一攪,孩子愛吃不挑食,全家老少都愛吃
大家好,我是:為愛下廚 教你省心.省力,的做法與技巧 讓飯菜充滿濃濃家鄉的味道 讓我們一起努力成長,做出不一樣的獨特美食 做出充滿愛的美食,做法簡單還快捷 <芝麻脆片-小餅乾> 今天用芝麻 ...

曬曬我家夏天的家常菜,做法簡單經濟實惠,營養健康,全家都愛吃

曬曬我家夏天的家常菜,做法簡單經濟實惠,營養健康,全家都愛吃
在家吃飯是一件開心的事兒,家和萬事興!一家人能和和美美地坐在一起吃頓家常飯菜,是我認為最幸福的事情!從小到現在,我們家對吃飯都是很重視的,基本上家裡有幾個人,就會做幾道菜,如果有人喝酒,會再加兩道下酒 ...

早餐你就這樣做,簡單省事營養健康,關鍵是全家都愛吃

早餐你就這樣做,簡單省事營養健康,關鍵是全家都愛吃
大家好,我是愛做早餐的多媽,每天早起做早餐,成了生活中的一種習慣和樂趣.很多小夥伴說早餐不知道做,今天就來分享我家的一桌很常見的早餐,三種食物,有幹有稀有菜.簡單省事營養健康,關鍵是全家都愛吃. 主食 ...

自制中式披薩做法,教你創意吃法,好吃營養又解饞,小孩們都愛吃

自制中式披薩做法,教你創意吃法,好吃營養又解饞,小孩們都愛吃
大家好,我是:為愛下廚 教你省心.省力,的做法與技巧 讓飯菜充滿濃濃家鄉的味道 讓我們一起努力成長,做出不一樣的獨特美食 做出充滿愛的美食,做法簡單還快捷 <自制中式披薩> 加入250克麵 ...

中秋家宴選單,推薦10道菜葷素搭配,做法簡單又美味,家人都愛吃

中秋家宴選單,推薦10道菜葷素搭配,做法簡單又美味,家人都愛吃
中秋家宴選單,推薦10道菜,葷素搭配,做法簡單又美味,家人都愛吃.大家好,我是水墨尚食,中秋節快到了,今天就跟大家分享中秋家宴食譜,希望大家喜歡. 中秋佳節,萬家團圓,其樂融融,中秋節是四大傳統節日之 ...

兩個胡蘿蔔,一勺白糖,做成小零食,香甜可口,挑食的孩子都愛吃

兩個胡蘿蔔,一勺白糖,做成小零食,香甜可口,挑食的孩子都愛吃
今天和大家分享一道"胡蘿蔔糖片"的家常做法,用胡蘿蔔做成小零食,香甜可口,連挑食的孩子都在吃,有喜歡的趕緊學一下. 食材:胡蘿蔔 調料:白糖 [胡蘿蔔糖片]-- 香甜可口 1.下面 ...

秋天進補,雞肉鴨肉都不如吃它,蒸一蒸就出鍋,鮮美又下飯

秋天進補,雞肉鴨肉都不如吃它,蒸一蒸就出鍋,鮮美又下飯
秋天進補,雞肉鴨肉都不如吃它,蒸一蒸就出鍋,鮮美又下飯 時間真快,一眨眼已經是秋天了,秋天是進補的季節,這個時候要多吃一些營養豐富的蔬菜才能夠保持身體的養分,因為秋天天氣乾燥的原因,所以很容易引起上火 ...