女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

NVIDIA Triton 系列文章(9):為服務器添加模型

NVIDIA英偉達企業解決方案 ? 來源:未知 ? 2022-12-27 21:20 ? 次閱讀

前面已經用https://github.com/triton-inference-server/server/doc/examples 開源倉的范例資源,創建一個最基礎的模型倉以便執行一些基礎的用戶端范例,現在就要帶著讀者為模型倉添加新的模型。

在“創建模型倉”的文章里講解過,Triton 模型倉使用目錄結構與相關文件來形成一個模型的基礎要素,如下所列:

79a87fe2-85e8-11ed-bfe3-dac502259ad0.png

上面的目錄結構與模型文件是最基本的材料,處理起來是很容易的,比較復雜的部分是配置文件 config.pbtxt 的內容,里面提供 Triton 服務器用來管理模型執行特性的各項參數,這些設置的內容主要分為靜態的基礎(minimal)設置項與動態的優化(optimization)設置兩大部分,本文內容先針對基礎配置項的部分進行說明。

為了說明這些配置內容,這里先以范例模型倉里的 inception_graphdef 模型的配置文件 config.pbtxt 為例,來配合以下的簡單說明,比較容易讓大家理解詳細的內容:

79c93e9e-85e8-11ed-bfe3-dac502259ad0.png

每個配置文件里都至少包含以下5個部分:

1. 模型名稱:

這部分直接使用存放模型的文件夾名稱,因此可以省略,如果要指定的話就必須與文件夾名稱一致。

2. 平臺/后端名稱(Name, Platform and Backend):

這部分必須與模型訓練時使用的框架與文件格式相匹配,以下是使用頻率較高的種類:

79f14218-85e8-11ed-bfe3-dac502259ad0.png

至于其他平臺/后端的對應名稱,就需要根據實際的平臺與對應名稱進行配置。

3. 模型執行策略(Model Transaction Policy):

這個屬性只有一個“解耦(decoupled)與否”的選項。使用解耦意味著模型生成的響應的數量可能與發出的請求的數量不同,并且響應可能與請求的順序無關。

默認值為 false,上面范例中并未列出這個參數的配置值,表示“不啟用解耦”功能,意味著該模型將為每個請求生成一個響應。

如果需要啟用解耦功能,就在配置文件內添加以下內容:

model_transaction_policy {
  decoupled: True
}

4. 最大批量值(Maximum Batch Size):

Triton 服務器支持多種調度和批處理算法,可以為每個模型獨立選擇。這個屬性表示執行該推理模型計算時的最大批量規模,包括“無狀態(stateless)”或“有狀態(stateful)”等類型的模型。

這個參數主要配合下面“輸入/輸出節點內容”的張量尺度部分,例如本范例中輸入節點張量格式為“format: FORMAT_NHWC”,但是下面尺度“dims: [ 299, 299, 3 ]”的三個數值是對應到“HWC(高/寬/通道)”,缺少“批量值(N)”的部分,這正是這個“最大批量值”為輸入節點與輸出節點所配置的數值,這樣 Triton 可以使用動態批處理器或序列批處理器自動對模型進行批處理。

在這種情況下,max_batch_size 應設置為大于或等于1的值,表示應與該模型一起使用的最大批次大小;對于不支持批處理或不支持以上述特定方式進行批處理的推理模型,則將 max_batch_size 設置為 0。

5. 輸入節點與輸出節點(Inputs and Outputs):

每個推理模型都有至少一個輸入節點與輸出節點,這部分的內容必須配合模型的內容,不能自己隨便定義。

要添加新的推理模型時,推薦使用 Netron 工具查看模型的網絡結構,只要在瀏覽器上輸入“netron.app”后打開模型文件就可以。目前經過測試,Netron.APP 工具能查看 ONNX、TensorFlow/graphdef、Pytorch 等模型文件的網絡結構,相當方便。

下圖是 model_repository/inception_graphdef/1/model.graphdef 模型文件所能看到的輸入/輸出節點的內容:

7a097c7a-85e8-11ed-bfe3-dac502259ad0.png

每個節點都包含“名稱”“數據類型”“尺度(shape)”三個部分,現在就進一步說明:

(1) 節點名稱(name):

上圖最左邊的輸入節點在整個網絡結構的最上方,名稱為“input”;中間輸出節點在網絡結構最下方,點選“softmax”節點會出現右邊灰色信息塊,顯示其完整名稱為“InceptionV3/Predictions/Softmax”。現在對照模型的 config.pbtxt 里對應內容,是必須能匹配的,否則啟動 Triton 服務器時會出現錯誤。

不過這個環節里對 PyTorch 模型需要特殊的處理,由于 TorchScript 模型文件中輸入/輸出的元數據不足,配置中輸入/輸出的“名稱屬性”必須遵循以下特定的命名約定:

  • 使用張量字典(Dictionary of Tensor):

Triton 服務器的 PyTorch 后端支持以張量字典的形式將輸入傳遞給模型,例如模型有如下的張量字典內容: {'A': tensor1, 'B': tensor2} 輸入的名稱映射到該特定張量的字符串“key”值,例如“A”或“B”,其中輸入“A”是指對應于 tensor1 的值、“B”是指對應于 tensor2 的值。

  • 映射到 forward() 函數的輸入值:

當輸入節點名稱不在張量字典內,就使用 TorchScript 模型里所定義的 forward() 函數輸入值。例如函數定義為“forward(self, input0, input1)”時,則兩個輸入節點的名稱分別對應為“input0”與“input1”。
  • 使用_格式:

這里的可以是任何字符串、則對應到輸入或輸出順序的整數,例如模型有兩個輸入節點與兩個輸出節點時,可以用“INPUT_0”與“INPUT_1”代表兩個輸入節點、用“OUTPUT_0”與“OUTPUT_1”代表兩個輸出節點。

  • 如果所有輸入(或輸出)不遵循相同的命名約定,那么我們從模型配置中強制執行嚴格排序,即我們假設配置中輸入(或輸出)的順序是這些輸入的真實順序。

(2) 數據類型(data_type):

輸入和輸出張量所允許的數據類型因模型類型而異,數據類型部分描述了允許的數據類型以及它們如何映射到每個模型類型的數據類型。

下表顯示了 Triton 支持的張量數據類型:

7a408f1c-85e8-11ed-bfe3-dac502259ad0.png

  • 第 1 列顯示模型配置文件中顯示的數據類型的名稱;

  • 第 2~5 列顯示了支持的模型框架的相應數據類型,如果模型框架沒有給定數據類型的條目,則 Triton 不支持該模型的數據類型;

  • 第 6 列為“API”,顯示 TRITONSERVER C API、TRITONBACKEND C API、HTTP/REST 協議和 GRPC 協議的對應數據類型;

  • 第 7 列顯示 Python numpy 庫的對應數據類型。

以上是關于模型數據類型的部分。

(3)張量尺度(dims):

這里提供的張量尺度內容是去除第一個 batch_size 的部分,因此需要與前面設定的 max_batch_size 組合形成完整的張量尺度。

輸入節點的張量尺度(如“dims: [ 299, 299, 3 ]”),表示模型和 Triton 在推理請求中預期的張量尺寸;輸出節點的張量尺度(如“dims: [ 1001 ]”),表示模型生成的輸出張量的形狀,并由 Triton 服務器響應推斷請求返回。

輸入和輸出尺度內的值都必須大于或等于 1,也就是不允許使用[]空尺度,節點的尺度由 max_batch_size 和輸入或輸出 dims 屬性指定的維度的組合指定。

  • max_batch_size > 0時:整個尺度的形式為[-1, dims]。

  • max_batch_size = 0時:整個形狀形成為[ dims]。

例如本文范例中輸入節點的尺度為“dims: [ 299, 299, 3 ]”、max_batch_size=128,則張量尺度的完整表達為“[ -1, 299, 299, 3]”;如果 max_batch_size=0 時,則張量尺度的完整表達為“[ 299, 299, 3]”。

6. 版本策略(version_policy):

每個模型可以有一個或多個版本,模型配置的 ModelVersionPolicy 屬性用于設置以下策略之一。

7a8443ba-85e8-11ed-bfe3-dac502259ad0.png

如果未指定版本策略,則使用最新版本(n=1)作為默認值,表示 Triton 僅提供最新版本的模型。在所有情況下,從模型存儲庫中添加或刪除版本子目錄都可以更改后續推理請求中使用的模型版本。

以上是完成一個 config.pbtxt 模型配置文件的最基礎內容,大部分內容都比較直觀,除了最后面的張量尺度會有比較多的變化之外,不過只要逐漸熟悉推理運作的過程之后,就能更進一步掌握與 batch_size 相關的應用與調試方式。


原文標題:NVIDIA Triton 系列文章(9):為服務器添加模型

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


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

    關注

    22

    文章

    3920

    瀏覽量

    93107

原文標題:NVIDIA Triton 系列文章(9):為服務器添加模型

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

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    如何在RAKsmart服務器上實現企業AI模型部署

    AI模型的訓練與部署需要強大的算力支持、穩定的網絡環境和專業的技術管理。RAKsmart作為全球領先的服務器托管與云計算服務提供商,已成為企業部署AI模型的理想選擇。那么,如何在RAK
    的頭像 發表于 03-27 09:46 ?424次閱讀

    DeepSeek企業級部署服務器資源計算 以raksmart裸機云服務器

    以RakSmart裸機云服務器例,針對DeepSeek企業級部署的服務器資源計算指南,涵蓋GPU/CPU/內存/存儲/網絡等核心維度的詳細計算方法與配置推薦,主機推薦小編為您整理發布以raksmart裸機云
    的頭像 發表于 03-21 10:17 ?284次閱讀

    英偉達GTC25亮點:NVIDIA Dynamo開源庫加速并擴展AI推理模型

    Triton 推理服務器的后續產品,NVIDIA Dynamo 是一款全新的 AI 推理服務軟件,旨在為部署推理 AI 模型的 AI 工廠
    的頭像 發表于 03-20 15:03 ?543次閱讀

    利用RAKsmart服務器托管AI模型訓練的優勢

    AI模型訓練需要強大的計算資源、高效的存儲和穩定的網絡支持,這對服務器的性能提出了較高要求。而RAKsmart服務器憑借其核心優勢,成為托管AI模型訓練的理想選擇。下面,AI部落小編為
    的頭像 發表于 03-18 10:08 ?207次閱讀

    請問是否可以在模型服務器中使用REST請求OpenVINO?預測?

    是否可以在模型服務器中使用 REST 請求OpenVINO?預測?
    發表于 03-05 08:06

    Firefly 服務器系列:覆蓋多個領域的高算力解決方案

    Firefly專注于以云計算和大數據核心的服務器產品開發與應用,陸續推出支持多種計算單元的ARM服務器,覆蓋多個行業及領域,客戶提供優質的解決方案。Firefly
    的頭像 發表于 02-19 16:34 ?512次閱讀
    Firefly <b class='flag-5'>服務器</b><b class='flag-5'>系列</b>:覆蓋多個領域的高算力解決方案

    Triton編譯的優化技巧

    在現代計算環境中,編譯的性能對于軟件的運行效率至關重要。Triton 編譯作為一個先進的編譯框架,提供了一系列的優化技術,以確保生成的
    的頭像 發表于 12-25 09:09 ?777次閱讀

    Triton編譯的優勢與劣勢分析

    據流分析技術,能夠自動識別并優化深度學習模型中的計算瓶頸,從而提高模型的整體性能。 它支持多種硬件平臺的優化,包括CPU、GPU、FPGA等,深度學習模型的部署提供了更廣泛的選擇。
    的頭像 發表于 12-25 09:07 ?1030次閱讀

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

    1. Triton編譯概述 Triton編譯NVIDIA Triton推理
    的頭像 發表于 12-24 18:13 ?872次閱讀

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

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

    NVIDIA AI服務器領域重大革新:預計明年首推插槽式設計

    在科技界引起廣泛關注的最新動態中,里昂證券于9月26日發布了一份引人注目的報告,揭示了NVIDIA在AI服務器領域的一項重大變革。據該報告透露,NVIDIA即將在AI
    的頭像 發表于 09-26 14:25 ?1080次閱讀

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

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

    NVIDIA攜手Meta推出AI服務企業提供生成式AI服務

    NVIDIA近日宣布了一項重大舉措,正式推出NVIDIA AI Foundry服務NVIDIA NIM(NVIDIA Inference
    的頭像 發表于 07-25 16:57 ?786次閱讀

    英偉達推出全新NVIDIA AI Foundry服務NVIDIA NIM推理微服務

    NVIDIA 宣布推出全新 NVIDIA AI Foundry 服務NVIDIA NIM 推理微服務,與同樣剛推出的 Llama 3.1
    的頭像 發表于 07-25 09:48 ?994次閱讀

    NVIDIA AI Foundry 全球企業打造自定義 Llama 3.1 生成式 AI 模型

    Foundry 提供從數據策管、合成數據生成、微調、檢索、防護到評估的全方位生成式 AI 模型服務,以便部署自定義 Llama 3.1 NVIDIA NIM 微服務和新的
    發表于 07-24 09:39 ?863次閱讀
    <b class='flag-5'>NVIDIA</b> AI Foundry <b class='flag-5'>為</b>全球企業打造自定義 Llama 3.1 生成式 AI <b class='flag-5'>模型</b>