最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

使用稀疏推理加速移動和 Web 上的神經(jīng)網(wǎng)絡

2021-09-24 21:36 作者:雨夜的博客  | 我要投稿

神經(jīng)網(wǎng)絡的設備端推理以低延遲和注重隱私的方式支持各種實時應用,如姿勢估計和背景模糊。使用帶有XNNPACK ML 加速庫的TensorFlow Lite等 ML 推理框架,工程師通過找到模型大小、推理速度和預測質(zhì)量之間的最佳點來優(yōu)化他們的模型以在各種設備上運行。

來優(yōu)化模型的一種方法是通過使用稀疏神經(jīng)網(wǎng)絡[的1,2,3 ],其具有它們的權重設為零的顯著部分。一般來說,這是一種理想的質(zhì)量,因為它不僅通過壓縮減小了模型大小,而且還可以跳過大部分乘加運算,從而加快推理速度。此外,可以增加模型中的參數(shù)數(shù)量,然后對其進行稀疏化以匹配原始模型的質(zhì)量,同時仍然受益于加速推理。然而,這種技術在生產(chǎn)中的使用仍然受到限制,這主要是由于缺乏稀疏流行卷積架構(gòu)的工具,以及對在設備上運行這些操作的支持不足。

今天,我們宣布為XNNPACK 加速庫和 TensorFlow Lite發(fā)布一組新功能,這些新功能可實現(xiàn)稀疏網(wǎng)絡的高效推理,以及有關如何稀疏化神經(jīng)網(wǎng)絡的指南,目的是幫助研究人員開發(fā)自己的設備上稀疏楷模。在合作開發(fā)DeepMind,這些工具提供動力的新一代實時感知經(jīng)驗,包括手跟蹤在MediaPipe和后臺功能在 Google Meet 中,將推理速度從 1.2 倍提高到 2.4 倍,同時將模型大小減少一半。在這篇文章中,我們提供了稀疏神經(jīng)網(wǎng)絡的技術概述——從在訓練期間引入稀疏性到設備上部署——并提供一些關于研究人員如何創(chuàng)建自己的稀疏模型的想法。

稀疏化神經(jīng)網(wǎng)絡

許多現(xiàn)代深度學習架構(gòu),如MobileNet和EfficientNetLite,主要由具有小空間內(nèi)核的深度卷積和線性組合輸入圖像特征的1x1 卷積組成。雖然此類架構(gòu)有許多潛在的稀疏化目標,包括在許多網(wǎng)絡開始時經(jīng)常出現(xiàn)的完整2D 卷積或深度卷積,但以推理時間衡量,1x1 卷積是最昂貴的算子。由于它們占總計算量的 65% 以上,因此它們是稀疏化的最佳目標。

建筑學 推理時間 移動網(wǎng) 85% 移動網(wǎng)絡V2 71% 移動網(wǎng)絡V3 71% EfficientNet-Lite 66% 現(xiàn)代移動架構(gòu)中專用于 1x1 卷積的推理時間的比較(以百分比為單位)。

在現(xiàn)代設備端推理引擎中,如 XNNPACK,深度學習模型中 1x1 卷積的實現(xiàn)以及其他操作依賴于 HWC 張量布局,其中張量維度對應于高度、寬度和通道(例如,輸入圖像的紅色、綠色或藍色)。這種張量配置允許推理引擎并行處理對應于每個空間位置(即圖像的每個像素)的通道。然而,張量的這種排序不太適合稀疏推理,因為它將通道設置為張量的最內(nèi)維,并且使得訪問的計算成本更高。

我們對 XNNPACK 的更新使其能夠檢測模型是否稀疏。如果是,則從其標準密集推理模式切換到稀疏推理模式,它采用 CHW(通道、高度、寬度)張量布局。張量的這種重新排序允許加速實現(xiàn)稀疏的 1x1 卷積核,原因有兩個:1)當在單個條件檢查后相應的通道權重為零時,可以跳過張量的整個空間切片,而不是逐像素測試; 2) 當通道權重不為零時,通過將相鄰像素加載到同一內(nèi)存單元中可以提高計算效率。這使我們能夠同時處理多個像素,同時還可以跨多個線程并行執(zhí)行每個操作。當至少 80% 的權重為零時,這些變化一起導致 1.8 倍到 2.3 倍的加速。

為了避免在每次操作后在最適合稀疏推理的 CHW 張量布局和標準 HWC 張量布局之間來回轉(zhuǎn)換,XNNPACK在 CHW 布局中提供了幾個 CNN 算子的有效實現(xiàn)。

訓練稀疏神經(jīng)網(wǎng)絡的指南

要創(chuàng)建稀疏神經(jīng)網(wǎng)絡,此版本中包含的指南建議從密集版本開始,然后在訓練期間逐漸將其權重的一部分設置為零。這個過程稱為修剪。在許多可用的剪枝技術中,我們建議使用幅度剪枝(可在TF 模型優(yōu)化工具包中獲得)或最近引入的RigL方法。隨著訓練時間的適度增加,這兩種方法都可以成功地稀疏深度學習模型而不會降低其質(zhì)量。生成的稀疏模型可以以壓縮格式有效存儲,與密集等效模型相比,該格式將大小減少了兩倍。

稀疏網(wǎng)絡的質(zhì)量受幾個超參數(shù)的影響,包括訓練時間、學習率和修剪時間表。該TF修剪API提供了如何選擇這些,還有一些技巧訓練這種模式一個很好的例子。我們建議運行超參數(shù)搜索以找到適合您的應用程序的最佳位置。

應用

我們證明可以稀疏分類任務、密集分割(例如,滿足背景模糊)和回歸問題(MediaPipe Hands),這為用戶提供了切實的好處。例如,在 Google Meet 的案例中,稀疏化將模型的推理時間降低了 30%,這為更多用戶提供了訪問更高質(zhì)量模型的機會。

此處描述的稀疏方法最適用于基于反向殘差塊的架構(gòu),例如MobileNetV2、MobileNetV3和EfficientNetLite。. 網(wǎng)絡中的稀疏程度會影響推理速度和質(zhì)量。從固定容量的密集網(wǎng)絡開始,我們發(fā)現(xiàn)即使在 30% 的稀疏度下也能獲得適度的性能提升。隨著稀疏度的增加,模型的質(zhì)量保持相對接近于密集基線,直到達到 70% 的稀疏度,超過 70% 時,準確度下降更為明顯。然而,可以通過將基礎網(wǎng)絡的大小增加 20% 來補償 70% 稀疏度時精度的降低,從而在不降低模型質(zhì)量的情況下加快推理時間。運行稀疏模型不需要進一步的更改,因為 XNNPACK 可以識別并自動啟用稀疏推理。

稀疏性作為蒸餾的自動替代方案

Google Meet 中的背景模糊使用基于帶有注意塊的修改后的 MobileNetV3 主干的分割模型。通過應用 70% 的稀疏化,我們能夠?qū)⒛P退俣忍岣?30%,同時保持前景蒙版的質(zhì)量。我們檢查了稀疏和密集模型對來自 17 個地理子區(qū)域的圖像的預測,沒有發(fā)現(xiàn)顯著差異,并在相關的模型卡中發(fā)布了詳細信息。

類似地,MediaPipe Hands使用基于 EfficientNetLite 主干的模型在移動設備和網(wǎng)絡上實時預測手部地標。這個主干模型是手動蒸餾的來自大型密集模型,這是一個計算成本高的迭代過程。使用密集模型的稀疏版本而不是蒸餾模型,我們能夠保持相同的推理速度,但沒有從密集模型中提取的勞動密集型過程。與密集模型相比,稀疏模型將推理提高了兩倍,實現(xiàn)了與蒸餾模型相同的地標質(zhì)量。從某種意義上說,稀疏化可以被認為是非結(jié)構(gòu)化模型蒸餾的一種自動方法,它可以在不進行大量人工操作的情況下提高模型性能。我們評估的geodiverse數(shù)據(jù)集稀疏模式并取得了??ü_可用的。

未來的工作

我們發(fā)現(xiàn)稀疏化是一種簡單而強大的技術,可以改善神經(jīng)網(wǎng)絡的 CPU 推理。稀疏推理允許工程師運行更大的模型而不會產(chǎn)生顯著的性能或大小開銷,并為研究提供了一個有前途的新方向。我們將繼續(xù)擴展 XNNPACK,為 CHW 布局中的操作提供更廣泛的支持,并正在探索如何將其與其他優(yōu)化技術(如量化)相結(jié)合。我們很高興看到您可以使用這項技術構(gòu)建什么!


更新說明:優(yōu)先更新微信公眾號“雨夜的博客”,后更新博客,之后才會陸續(xù)分發(fā)到各個平臺,如果先提前了解更多,請關注微信公眾號“雨夜的博客”。


博客來源:雨夜的博客


使用稀疏推理加速移動和 Web 上的神經(jīng)網(wǎng)絡的評論 (共 條)

分享到微博請遵守國家法律
宾阳县| 尚义县| 山丹县| 肥城市| 秭归县| 靖安县| 庆云县| 潢川县| 芦溪县| 湘阴县| 龙泉市| 阳城县| 祥云县| 册亨县| 乳山市| 长春市| 神木县| 谷城县| 扎兰屯市| 班玛县| 安阳县| 宁城县| 昆明市| 南阳市| 肥乡县| 方城县| 岫岩| 巨野县| 双鸭山市| 韩城市| 广德县| 都兰县| 海淀区| 天长市| 盈江县| 新巴尔虎左旗| 丹江口市| 天峻县| 澄江县| 桦南县| 临邑县|