在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

NVIDIA Triton 系列文章(10):模型并發執行

NVIDIA英偉達企業解決方案 ? 來源:未知 ? 2023-01-05 11:55 ? 次閱讀

前面已經做好了每個推理模型的基礎配置,基本上就能正常讓 Triton 服務器使用這些獨立模型進行推理。接下來的重點,就是要讓設備的計算資源盡可能地充分使用,首先第一件事情就是模型并發執行(concurrent model execution)的調試,這是提升 Triton 服務器性能的最基本任務。

Triton 服務器支持的模型并發能力,包括一個模型并發多個推理實例,以及多個模型的多個并發實例。至于能并發多少實例?就需要根據系統上的硬件配置,Triton 支持純 CPU 以及多 GPU 的計算環境。

GPU 是能夠同時執行多個工作負載的計算引擎,Triton 推理服務器通過在 GPU上同時運行多個模型,最大限度地提高性能并減少端到端延遲,這些模型可以完全相同也可以是不同框架的不同模型,顯存大小是唯一限制并發運行模型數量的因素。

下圖顯示了兩個計算模型 compute model 0 與 compute model 1 的示例,假設 Triton 服務器當前處于等待狀態,當 request 0 與 request 1 兩個請求同時到達時,Triton 會立即將這兩個請求調度到 GPU 上(下圖左),開始并發處理這兩個模型的推理計算。

69003688-8cac-11ed-bfe3-dac502259ad0.png

認情況下,Triton 指定系統中的每個可用 GPU 為每個模型提供一個實例,如果同一模型的多個請求同時到達,Triton 將通過在 GPU 上一次只調度一個請求來串行化它們的執行(上圖中)。這樣的方式在管理上是最輕松的,但是執行效率并不好,因為計算性能并未被充分調用。

Triton 提供了一個 “instance_group” 的模型配置選項,通過在模型配置中使用這個字段,可以更改模型的執行實例數,調整每個模型的并發執行數量。

上圖右就是在 model 1 配置文件中,添加 “instance_group” 配置,并且設置 “count: 3” 參數,這樣就允許一個 GPU 上可以并發三個實例的模型計算,如果用戶端發出超過 3 個推理請求時,則第 4 個 model 1 推理請求就必須等到前三個實例中的任一個執行完之后,才能開始執行。

Triton可以提供一個模型的多個實例,從而可以同時處理該模型的多條推理請求。模型配置 ModelInstanceGroup 屬性用于指定應可用的執行實例的數量以及應為這些實例使用的計算資源。接下來就看看幾個標準用法:

1. 單 CPU 或 GPU 單實例

未添加任何 instance_group 參數時,表示這個模型使用默認的配置,這時該模型可以在系統中可用的每個 GPU 中創建單個執行實例。如果用戶端提出多個請求時,就會在 GPU 設備上按照串行方式執行計算,如同上圖中 compute model 1 的狀態。

2. 單 CPU 或 GPU 并發多實例

實例組設置可用于在每個 GPU 上或僅在某些 GPU 上放置模型的多個執行實例。例如,以下配置將在每個系統 GPU 上放置模型的兩個執行實例。如果要讓模型在一個 GPU 上執行多個并行實例,就將以下的內容寫入模型配置文件內,這里配置的是 2 個并發實例:

instance_group [ 
  { 
    count: 2 
    kind: KIND_GPU 
  } 
]
如果將上面配置的計算設備配置為 “kind:KIND_CPU” ,就是指定在 CPU 可以并發兩個推理計算。 3. 多 CPU 或 GPU 并發多實例 如果設備上有多個計算設備,不管是 CPU 或 GPU,都可以使用以下配置方式,為模型配置多個并發推理實例:
instance_group [ 
  { 
    count: 1 
    kind: KIND_GPU 
    gpus: [ 0 ] 
  }, 
  { 
    count: 2 
    kind: KIND_GPU 
    gpus: [ 1, 2 ] 
  } 
]
這里的內容,表示 Triton 服務器至少啟動 3 個 GPU 計算設備,這個推理模型在編號為 0 的 GPU 上啟動 1 個并發實例,在編號為 1 與 2 的 GPU 上可以同時啟動 2 個并發實例,以此類推。 以上是 instance_group 的基礎配置內容,如果要對每個 GPU 設備的計算資源進行更深層的配置,還可以配合一個“比例限制器配置(Rate Limiter Configuration)”參數設置,對于執行實例進行資源的限制,以便于在不同實例直接取得計算平衡。 這個比例限制器的配置,主要有以下兩部分:
  • 資源(Reousrces)限制:
這個資源主要指的是 GPU 的顯存調用,因為數據在 CPU 與 GPU 之間的交換傳輸,經常在整個計算環節中造成很大的影響,如果當我們需要對同一組數據進行不同的計算,或者計算過程中有流水線前后關系的話,那么將這些需要重復使用的數據保留在 GPU 顯存上,就能非常有效減少數據傳輸次數,進而提升計算效率。 因此我們可以對模型實例提出限制,只有當系統閑置資源能滿足資源需求時,才進行這個推理模型的計算。如果模型配置里沒有提供任何資源限制的需求,那么 Triton 服務器就認定這個模型實例的執行并不需要任何資源,并將在模型實例可用時立即開始執行。 這個配置項里有三個參數內容: (1)“name”字段:資源名稱; (2)“count”字段:組中模型實例需要運行的資源副本數; (3)“global”字段:指定資源是按設備還是在系統中全局共享。 下面是一個簡單的模型配置內容的 instance_group 參數組:
instance_group [ 
  { 
    count: 2 
    kind: KIND_GPU 
gpus: [ 0 ] 
    rate_limiter { 
      resources [ 
        { 
          name: "R1" 
          count: 4 
        } 
] 
    } 
  }, 
  { 
    count: 4 
    kind: KIND_GPU 
gpus: [ 1, 2 ] 
    rate_limiter { 
      resources [        
        { 
          name: "R2" 
          global: True 
          count: 2 
        } 
      ] 
} 
  } 
]

  • 第 1 組配置:可并發執行數量為 2,指定使用 gpu[0] 設備,需要名為 “R1” 的計算資源,其內容是需要 2 份設備內存的副本;

  • 第 2 組配置:可并發執行數量為 4,指定使用 gpu[1, 2] 兩個設備,需要名為 “R2” 的計算資源,其內容是需要 4 份全局共享內存的副本,

這里面的并發數量與資源配置數量并不存在線性關系,開發人員必須根據模型所需要數據的張量尺度,以及 GPU 卡顯存大小去進行調配。 Triton 允許我們指定要為推理提供的每個模型的副本數量,默認情況下會獲得每個模型的一個副本,但可以使用 instance_group 在模型配置中指定任意數量的實例。通常擁有一個模型的兩個實例會提高性能,因為它允許 CPU 與 GPU 之間的內存傳輸操作與推理計算重疊。多個實例還通過允許在 GPU 上并發更多推理工作來提高GPU 利用率。
  • 優先級(Priority)設置:
因為計算資源是有限的,因此也可以在資源配置是對其進行優先級的配置,如此也會影響實例進行的先后順序。下面是一個簡單的優先級配置示范:
instance_group [ 
  { 
    count: 1 
    kind: KIND_GPU 
    gpus: [ 0, 1, 2 ] 
    rate_limiter { 
      resources [ 
        { 
          name: "R1" 
          count: 4 
        }, 
        { 
          name: "R2" 
          global: True 
          count: 2 
        } 
      ] 
      priority: 2 
    } 
  } 
] 
上面配置組的 3 個模型實例,每個設備(0、1和2)上執行一個,每個實例需要 4 個 “R1” 和 2 個具有全局資源的 “R2” 資源才能執行,并將比例限制器的優先級設置為 2。 這三個實例之間不會爭奪 “R1” 資源,因為 “R1” 對于它們自己的設備是本地的,但是會爭奪 “R2” 資源,因為它被指定為全局資源,這意味著 “R2” 在整個系統中共享。雖然這些實例之間不爭 “R1”,但它們將與其他模型實例爭奪 “R1“,這些模型實例在資源需求中包含 “R1” 并與它們在同一設備上運行。 這是對所有模型的所有實例進行優先級排序,優先級 2 的實例將被賦予優先級 1 的實例 1/2 的調度機會數。 以上是關于 Triton 服務器“模型并發執行”的基礎內容,后面還有更多關于調度器(scheduler)與批量處理器(batcher)的配合內容,能更進一步地協助開發人員調試系統的總體性能。


原文標題:NVIDIA Triton 系列文章(10):模型并發執行

文章出處:【微信公眾號:NVIDIA英偉達企業解決方案】歡迎添加關注!文章轉載請注明出處。


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 英偉達
    +關注

    關注

    22

    文章

    3848

    瀏覽量

    91983

原文標題:NVIDIA Triton 系列文章(10):模型并發執行

文章出處:【微信號:NVIDIA-Enterprise,微信公眾號:NVIDIA英偉達企業解決方案】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    NVIDIA技術助力Pantheon Lab數字人實時交互解決方案

    NVIDIA Triton,Pantheon Lab 訓練速度提高 10 倍、推理延遲降低 50%,以及用戶參與度提升 30%。這些進步使對話式 AI 能夠提供實時且真實的互動,使 Pantheon Lab 在數字人技術不斷革
    的頭像 發表于 01-14 11:19 ?259次閱讀

    NVIDIA推出開放式Llama Nemotron系列模型

    作為 NVIDIA NIM 微服務,開放式 Llama Nemotron 大語言模型和 Cosmos Nemotron 視覺語言模型可在任何加速系統上為 AI 智能體提供強效助力。
    的頭像 發表于 01-09 11:11 ?257次閱讀

    NVIDIA推出面向RTX AI PC的AI基礎模型

    NVIDIA 今日發布能在 NVIDIA RTX AI PC 本地運行的基礎模型,為數字人、內容創作、生產力和開發提供強大助力。
    的頭像 發表于 01-08 11:01 ?244次閱讀

    NVIDIA Cosmos世界基礎模型平臺發布

    NVIDIA 宣布推出NVIDIA Cosmos,該平臺由先進的生成式世界基礎模型、高級 tokenizer、護欄和加速視頻處理管線組成,將推動自動駕駛汽車(AV)和機器人等物理 AI 系統的發展。
    的頭像 發表于 01-08 10:39 ?188次閱讀

    Triton編譯器與GPU編程的結合應用

    Triton編譯器簡介 Triton編譯器是一種針對并行計算優化的編譯器,它能夠自動將高級語言代碼轉換為針對特定硬件優化的低級代碼。Triton編譯器的核心優勢在于其能夠識別并行模式,自動進行代碼
    的頭像 發表于 12-25 09:13 ?324次閱讀

    Triton編譯器如何提升編程效率

    在現代軟件開發中,編譯器扮演著至關重要的角色。它們不僅將高級語言代碼轉換為機器可執行的代碼,還通過各種優化技術提升程序的性能。Triton 編譯器作為一種先進的編譯器,通過多種方式提升編程效率,使得
    的頭像 發表于 12-25 09:12 ?335次閱讀

    Triton編譯器的優化技巧

    在現代計算環境中,編譯器的性能對于軟件的運行效率至關重要。Triton 編譯器作為一個先進的編譯器框架,提供了一系列的優化技術,以確保生成的代碼既高效又適應不同的硬件架構。 1. 指令選擇
    的頭像 發表于 12-25 09:09 ?340次閱讀

    Triton編譯器的優勢與劣勢分析

    Triton編譯器作為一種新興的深度學習編譯器,具有一系列顯著的優勢,同時也存在一些潛在的劣勢。以下是對Triton編譯器優勢與劣勢的分析: 優勢 高效性能優化 : Triton編譯器
    的頭像 發表于 12-25 09:07 ?389次閱讀

    Triton編譯器在機器學習中的應用

    1. Triton編譯器概述 Triton編譯器是NVIDIA Triton推理服務平臺的一部分,它負責將深度學習模型轉換為優化的格式,以便
    的頭像 發表于 12-24 18:13 ?518次閱讀

    Triton編譯器功能介紹 Triton編譯器使用教程

    Triton 是一個開源的編譯器前端,它支持多種編程語言,包括 C、C++、Fortran 和 Ada。Triton 旨在提供一個可擴展和可定制的編譯器框架,允許開發者添加新的編程語言特性和優化技術
    的頭像 發表于 12-24 17:23 ?642次閱讀

    NVIDIA助力提供多樣、靈活的模型選擇

    在本案例中,Dify 以模型中立以及開源生態的優勢,為廣大 AI 創新者提供豐富的模型選擇。其集成的 NVIDIAAPI Catalog、NVIDIA NIM和Triton 推理服務器
    的頭像 發表于 09-09 09:19 ?537次閱讀

    NVIDIA Nemotron-4 340B模型幫助開發者生成合成訓練數據

    Nemotron-4 340B 是針對 NVIDIA NeMo 和 NVIDIA TensorRT-LLM 優化的模型系列,該系列包含最先進
    的頭像 發表于 09-06 14:59 ?383次閱讀
    <b class='flag-5'>NVIDIA</b> Nemotron-4 340B<b class='flag-5'>模型</b>幫助開發者生成合成訓練數據

    NVIDIA與Google DeepMind合作推動大語言模型創新

    支持 NVIDIA NIM 推理微服務的谷歌最新開源模型 PaliGemma 首次亮相。
    的頭像 發表于 05-16 09:44 ?512次閱讀

    使用NVIDIA Triton推理服務器來加速AI預測

    這家云計算巨頭的計算機視覺和數據科學服務使用 NVIDIA Triton 推理服務器來加速 AI 預測。
    的頭像 發表于 02-29 14:04 ?634次閱讀

    在AMD GPU上如何安裝和配置triton

    最近在整理python-based的benchmark代碼,反過來在NV的GPU上又把Triton裝了一遍,發現Triton的github repo已經給出了對應的llvm的commit id以及對應的編譯細節,然后跟著走了一遍,也順利的安裝成功,只需要按照如下方式即可完
    的頭像 發表于 02-22 17:04 ?2595次閱讀
    在AMD GPU上如何安裝和配置<b class='flag-5'>triton</b>?
    主站蜘蛛池模板: 夜夜操网站 | 国产成年女一区二区三区 | 一区三区三区不卡 | xxx69日本hd| 色偷偷男人天堂 | 91日韩精品天海翼在线观看 | 亚洲综合成人网 | 美女黄色毛片免费看 | 天天躁日日躁成人字幕aⅴ 天天躁夜夜躁 | 精品久久久久久国产免费了 | 久草资源在线播放 | 免费视频在线视频观看1 | 天天插天天射天天干 | 免费国产综合视频在线看 | 亚洲视频在线观看一区 | 欧美黑人性受xxxx精品 | 色老头成人免费视频天天综合 | 国产高清免费午夜在线视频 | 日韩三级小视频 | 久久天天躁综合夜夜黑人鲁色 | 四虎a456tncom| 8000av在线 | 亚洲欧美一区二区三区另类 | 欧美一区二区三区在线观看免费 | 日本黄色免费电影 | 国内一区二区三区精品视频 | 在线色视频网站 | 色停停| 色天天天天综合男人的天堂 | 久久这里只精品热在线8 | 黄色成人在线网站 | xyx性爽欧美视频 | 日本午夜影院 | 免费网站黄| 国产一级特黄aa级特黄裸毛片 | 黄色大片毛片 | 国产真实野战在线视频 | 日本a级精品一区二区三区 日本a级特黄三级三级三级 | 日本韩国三级视频 | 美女下面小内内的沟 | 四月婷婷七月婷婷综合 |