• <xmp id="om0om">
  • <table id="om0om"><noscript id="om0om"></noscript></table>
  • 3 月 19 日下午 2 點,鎖定 NVIDIA AI 網絡中文專場。立即注冊觀看
    計算機視覺/視頻分析

    使用 GPUNet 在 NVIDIA GPU 上擊敗 SOTA 推理性能

    ?

    GPUNet 由 AI 為 AI 精心打造,是一類卷積神經網絡,旨在使用 NVIDIA TensorRT 最大化 NVIDIA GPU 的性能。

    使用新的神經架構搜索( NAS )方法構建, GPUNet 展示了最先進的推理性能,比 EfficientNet-X 和 FBNet-V3 快兩倍。

    NAS 方法有助于為廣泛的應用構建 GPUNet ,以便深度學習工程師可以根據相對精度和延遲目標直接部署這些神經網絡。

    GPUNet NAS 設計方法

    高效的體系結構搜索和部署就緒模型是 NAS 設計方法的關鍵目標。這意味著幾乎不與領域專家進行交互,并且有效地使用集群節點來培訓潛在的架構候選。最重要的是,生成的模型已準備好部署。

    人工智能制作

    為目標設備尋找性能最佳的架構搜索可能很耗時。 NVIDIA 構建并部署了一種新型的 NAS AI 代理,該代理可以有效地做出構建 GPUNET 所需的艱難設計選擇,使 GPUNET 比當前的 SOTA 模型領先 2 倍。

    此 NAS AI 代理在中自動協調數百個 GPU Selene 超級計算機 而不需要領域專家的任何干預。

    使用 TensorRT 為 NVIDIA GPU 優化

    GPUNet 通過相關的 TensorRT?推理延遲成本,提升 GPU 友好的運算符(例如,較大的篩選器)而不是內存綁定運算符(例如花哨的激活)。它在 ImageNet 上提供了 SOTA GPU 延遲和精度。

    部署就緒

    GPUNet 報告的延遲包括 TensorRT 發貨版本中可用的所有性能優化,包括融合內核、量化和其他優化路徑。構建的 GPune 已準備好部署。

    構建 GPune :端到端 NAS 工作流

    在高層次上,神經架構搜索( NAS ) AI 代理分為兩個階段:

    • 根據推理延遲對所有可能的網絡架構進行分類。
    • 使用適合延遲預算的這些網絡的子集,并優化其準確性。

    在第一階段,由于搜索空間是高維的,代理使用 Sobol 采樣來更均勻地分布候選。使用延遲查找表,然后將這些候選對象分類到子搜索空間,例如, NVIDIA V100 GPU 上總延遲低于 0.5 毫秒的網絡子集。

    此階段中使用的推斷延遲是一個近似成本,通過將延遲查找表中每個層的延遲相加來計算。延遲表使用輸入數據形狀和層配置作為鍵來查找查詢層上的相關延遲。

    在第二階段,代理建立貝葉斯優化損失函數,以在子空間的延遲范圍內找到性能最佳的高精度網絡:

    loss = CrossEntropy(model weights) + \alpha * latency(architecture candidate)^{\beta}

    Control flow block diagram of the NAS AI Agent, starting with a baseline model to ending with a list of best ranked neural architectures.
    圖 2. NVIDIA NAS AI 代理端到端工作流

    AI 代理使用客戶端 – 服務器分布式訓練控制器來跨多個網絡架構同時執行 NAS 。 AI 代理在一個服務器節點上運行,提出并訓練在集群上多個客戶端節點上運行的網絡候選。

    根據結果,只有滿足目標硬件的準確度和延遲目標的有前途的網絡體系結構候選者得到排名,從而產生了一些性能最佳的 GPUNET ,可以使用 TensorRT 部署在 NVIDIA GPU 上。

    GPUNet 模型體系結構

    GPUNet 模型架構是一個八級架構,使用 EfficientNet-V2 作為基線架構。

    搜索空間定義包括搜索以下變量:

    • 操作類型
    • 跨步數
    • 內核大小
    • 層數
    • 激活函數
    • IRB 擴展比
    • 輸出通道濾波器
    • 擠壓激勵( SE )

    表 1 顯示了搜索空間中每個變量的值范圍。

    Table 1. Value ranges for search space variables
    Stage Type Stride Kernel Layers Activation ER Filters SE
    0 Conv 2 [3,5] 1 [R,S] ? [24, 32, 8] ?
    1 Conv 1 [3,5] [1,4] [R,S] ? [24, 32, 8] ?
    2 F-IRB 2 [3,5] [1,8] [R,S] [2, 6] [32, 80, 16] [0, 1]
    3 F-IRB 2 [3,5] [1,8] [R,S] [2, 6] [48, 112, 16] [0, 1]
    4 IRB 2 [3,5] [1,10] [R,S] [2, 6] [96, 192, 16] [0, 1]
    5 IRB 1 [3,5] [0,15] [R,S] [2, 6] [112, 224, 16] [0, 1]
    6 IRB 2 [3,5] [1,15] [R,S] [2, 6] [128, 416, 32] [0, 1]
    7 IRB 1 [3,5] [0,15] [R,S] [2, 6] [256, 832, 64] [0, 1]
    8 Conv1x1 & Pooling & FC ? ?

    前兩個階段使用卷積搜索磁頭配置。受 EfficientNet-V2 的啟發,第二級和第三級使用融合 IRB 。然而,融合的 IRB 會導致更高的延遲,因此在第 4 至 7 階段,這些被 IRB 取代。

    專欄顯示階段中的層范圍。例如,階段 4 中的[1 , 10]表示該階段可以具有 1 到 10 個 IRB 。專欄過濾器顯示階段中各層的輸出通道濾波器范圍。該搜索空間還調整 IRB /融合 IRB 內部的擴展比( ER )、激活類型、內核大小和壓縮激勵( SE )層。

    最后,在步驟 32 ,從 224 到 512 搜索輸入圖像的尺寸。

    來自搜索空間的每個 GPUNet 候選構建被編碼為 41 寬的整數向量(表 2 )。

    Table 2. The encoding scheme of networks in the search space
    Stage Type Hyperparameters Length
    Resolution [Resolution] 1
    0 Conv [#Filters] 1
    1 Conv [Kernel, Activation, #Layers] 3
    2 Fused-IRB [#Filters, Kernel, E, SE, Act, #Layers] 6
    3 Fused-IRB [#Filters, Kernel, E, SE, Act, #Layers] 6
    4 IRB [#Filters, Kernel, E, SE, Act, #Layers] 6
    5 IRB [#Filters, Kernel, E, SE, Act, #Layers] 6
    6 IRB [#Filters, Kernel, E, SE, Act, #Layers] 6
    7 IRB [#Filters, Kernel, E, SE, Act, #Layers] 6

    在 NAS 搜索結束時,返回的排序候選是這些性能最佳的編碼的列表,這些編碼又是性能最佳的 GPUNET 。

    總結

    鼓勵所有 ML 從業人員閱讀 CVPR 2022 GPUNet 研究報告 ,并在 NVIDIA /深度學習示例 GitHub repo ,并在 協作實例 在可用云上 GPU 。 GPUNet 推理也可在 PyTorch hub colab 運行實例使用 NGC 集線器上托管的 GPUNet 檢查點。這些檢查點具有不同的準確性和延遲折衷,可以根據目標應用程序的要求應用。

    ?

    0

    標簽

    人人超碰97caoporen国产