chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

使用NVIDIA Triton模型分析器確定最佳AI模型服務(wù)配置

星星科技指導(dǎo)員 ? 來源:NVIDIA ? 作者:NVIDIA ? 2022-05-30 09:38 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

模型部署是 機(jī)器學(xué)習(xí) 生命周期的一個關(guān)鍵階段,在此階段,經(jīng)過培訓(xùn)的模型將集成到現(xiàn)有的應(yīng)用程序生態(tài)系統(tǒng)中。這往往是最繁瑣的步驟之一,在這些步驟中,目標(biāo)硬件平臺應(yīng)滿足各種應(yīng)用程序和生態(tài)系統(tǒng)約束,所有這些都不會影響模型的準(zhǔn)確性。

NVIDIA Triton 推理服務(wù)器 是一個開源的模型服務(wù)工具,它簡化了推理,并具有多個功能以最大限度地提高硬件利用率和推理性能。這包括以下功能:

并發(fā)模型執(zhí)行 ,使同一模型的多個實例能夠在同一系統(tǒng)上并行執(zhí)行。

Dynamic batching ,其中客戶端請求在服務(wù)器上分組,以形成更大的批。

優(yōu)化模型部署時,需要做出幾個關(guān)鍵決策:

為了最大限度地提高利用率, NVIDIA Triton 應(yīng)在同一 CPU / GPU 上同時運行多少個模型實例?

應(yīng)將多少傳入的客戶端請求動態(tài)批處理在一起?

模型應(yīng)采用哪種格式?

應(yīng)以何種精度計算輸出?

這些關(guān)鍵決策導(dǎo)致了組合爆炸,每種型號和硬件選擇都有數(shù)百種可能的配置。通常,這會導(dǎo)致浪費開發(fā)時間或代價高昂的低于標(biāo)準(zhǔn)的服務(wù)決策。

在本文中,我們將探討 NVIDIA Triton 型號分析儀 可以自動瀏覽目標(biāo)硬件平臺的各種服務(wù)配置,并根據(jù)應(yīng)用程序的需要找到最佳型號配置。這可以提高開發(fā)人員的生產(chǎn)率,同時提高服務(wù)硬件的利用率。

NVIDIA Triton 型號分析儀

NVIDIA Triton Model Analyzer 是一個多功能 CLI 工具,有助于更好地了解通過 NVIDIA Triton 推理服務(wù)器提供服務(wù)的模型的計算和內(nèi)存需求。這使您能夠描述不同配置之間的權(quán)衡,并為您的用例選擇最佳配置。

NVIDIA Triton 模型分析器可用于 NVIDIA Triton 推理服務(wù)器支持的所有模型格式: TensorRT 、 TensorFlow 、 PyTorch 、 ONNX 、 OpenVINO 和其他。

您可以指定應(yīng)用程序約束(延遲、吞吐量或內(nèi)存),以找到滿足這些約束的服務(wù)配置。例如,虛擬助理應(yīng)用程序可能有一定的延遲預(yù)算,以便最終用戶能夠?qū)崟r感受到交互。脫機(jī)處理工作流應(yīng)針對吞吐量進(jìn)行優(yōu)化,以減少所需硬件的數(shù)量,并盡可能降低成本。模型服務(wù)硬件中的可用內(nèi)存可能受到限制,并且需要針對內(nèi)存優(yōu)化服務(wù)配置。

poYBAGKUIBuAEkdnAABaMGlIxwY905.png

圖 1 :NVIDIA Triton 型號分析器概述。

我們以一個預(yù)訓(xùn)練模型為例,展示了如何使用 NVIDIA Triton 模型分析器,并在 Google 云平臺上的 VM 實例上優(yōu)化該模型的服務(wù)。然而,這里顯示的步驟可以在任何公共云上使用,也可以在具有 NVIDIA Triton 推理服務(wù)器支持的任何模型類型的前提下使用。

創(chuàng)建模型

在這篇文章中,我們使用預(yù)訓(xùn)練 BERT Hugging Face 的大型模型,采用 PyTorch 格式。 NVIDIA Triton 推理服務(wù)器可以使用其LibTorch后端為TorchScript模型提供服務(wù),也可以使用其 Python 后端為純 PyTorch 模型提供服務(wù)。為了獲得最佳性能,我們建議將 PyTorch 模型轉(zhuǎn)換為TorchScript格式。為此,請使用PyTorch的跟蹤功能。

首先從 NGC 中拉出 PyTorch 容器,然后在容器中安裝transformers包。如果這是您第一次使用 NGC ,請創(chuàng)建一個帳戶。在本文中,我們使用了 22.04 版本的相關(guān)工具,這是撰寫本文時的最新版本。 NVIDIA ( NVIDIA ) Triton 每月發(fā)布一次 cadence ,并在每個月底發(fā)布新版本。

docker pull nvcr.io/nvidia/pytorch:22.04-py3
docker run --rm -it -v $(pwd):/workspace nvcr.io/nvidia/pytorch:22.04-py3 /bin/bash
pip install transformers

安裝transformers包后,運行以下 Python 代碼下載預(yù)訓(xùn)練的 BERT 大型模型,并將其跟蹤為 TorchScript 格式。

from transformers import BertModel, BertTokenizer
import torch
model_name = "bert-large-uncased"
tokenizer = BertTokenizer.from_pretrained(model_name)
model = BertModel.from_pretrained(model_name, torchscript=True) max_seq_len = 512
sample = "This is a sample input text"
tokenized = tokenizer(sample, return_tensors="pt", max_length=max_seq_len, padding="max_length", truncation=True) inputs = (tokenized.data['input_ids'], tokenized.data['attention_mask'], tokenized.data['token_type_ids'])
traced_model = torch.jit.trace(model, inputs)
traced_model.save("model.pt")

構(gòu)建模型存儲庫

使用 NVIDIA Triton 推理服務(wù)器為您的模型提供服務(wù)的第一步是創(chuàng)建模型存儲庫。在此存儲庫中,您將包括一個模型配置文件,該文件提供有關(guān)模型的信息。模型配置文件至少必須指定后端、模型的最大批大小以及輸入/輸出結(jié)構(gòu)。

對于這個模型,下面的代碼示例是模型配置文件。

platform: "pytorch_libtorch"
max_batch_size: 64
input [ { name: "INPUT__0" data_type: TYPE_INT64 dims: [ 512 ] }, { name: "INPUT__1" data_type: TYPE_INT64 dims: [ 512 ] }, { name: "INPUT__2" data_type: TYPE_INT64 dims: [ 512 ] }
]
output [ { name: "OUTPUT__0" data_type: TYPE_FP32 dims: [ -1, 1024 ] }, { name: "OUTPUT__1" data_type: TYPE_FP32 dims: [ 1024 ] }
]

將模型配置文件命名為config.pbtxt后,按照 存儲庫布局結(jié)構(gòu) 創(chuàng)建模型存儲庫。模型存儲庫的文件夾結(jié)構(gòu)應(yīng)類似于以下內(nèi)容:

.
└── bert-large ├── 1 │ └── model.pt └── config.pbtxt

運行 NVIDIA Triton 型號分析器

建議使用 Model Analyzer 的方法是自己構(gòu)建 Docker 映像:

git clone https://github.com/triton-inference-server/model_analyzer.git
cd ./model_analyzer
git checkout r22.04
docker build --pull -t model-analyzer .

現(xiàn)在已經(jīng)構(gòu)建了 Model Analyzer 映像,請旋轉(zhuǎn)容器:

docker run -it --rm --gpus all \ -v /var/run/docker.sock:/var/run/docker.sock \ -v :/models \ -v :/output \ -v :/config \ --net=host model-analyzer

不同的硬件配置可能會導(dǎo)致不同的最佳服務(wù)配置。因此,在最終提供模型的目標(biāo)硬件平臺上運行模型分析器非常重要。

為了重現(xiàn)我們在這篇文章中給出的結(jié)果,我們在公共云中進(jìn)行了實驗。具體來說,我們在 Google 云平臺上使用了一個 a2-highgpu-1g 實例,并使用了一個 NVIDIA A100 GPU 。

A100 GPU 支持多實例 GPU ( MIG ),它可以通過將單個 A100 GPU 拆分為七個分區(qū)來最大限度地提高 GPU 利用率,這些分區(qū)具有硬件級隔離,可以獨立運行 NVIDIA Triton 服務(wù)器。為了簡單起見,我們在這篇文章中沒有使用 MIG 。

Model Analyzer 支持 NVIDIA Triton 型號的自動和手動掃描不同配置。自動配置搜索是默認(rèn)行為,并為所有配置啟用 dynamic batching 。在這種模式下,模型分析器將掃描不同的批大小和可以同時處理傳入請求的模型實例數(shù)。

掃掠的默認(rèn)范圍是最多五個模型實例和最多 128 個批次大小。這些 可以更改默認(rèn)值 。

現(xiàn)在創(chuàng)建一個名為sweep.yaml的配置文件,以分析前面準(zhǔn)備的 BERT 大型模型,并自動掃描可能的配置。

model_repository: /models
checkpoint_directory: /output/checkpoints/
output-model-repository-path: /output/bert-large
profile_models: bert-large
perf_analyzer_flags: input-data: "zero"

使用前面的配置,您可以分別獲得模型吞吐量和延遲的頂行號和底行號。

分析時,模型分析器還將收集的測量值寫入檢查點文件。它們位于指定的檢查點目錄中。您可以使用分析的檢查點創(chuàng)建數(shù)據(jù)表、摘要和結(jié)果的詳細(xì)報告。

配置文件就緒后,您現(xiàn)在可以運行 Model Analyzer 了:

model-analyzer profile -f /config/sweep.yaml

作為示例,表 1 顯示了結(jié)果中的幾行。每一行對應(yīng)于在假設(shè)的客戶端負(fù)載下在模型配置上運行的實驗。

表 1 :。自動掃描的樣本輸出

要獲得測試的每個模型配置的更詳細(xì)報告,請使用model-analyzer report命令:

model-analyzer report --report-model-configs bert-large_config_default,bert-large_config_1,bert-large_config_2 --export-path /output --config-file /config/sweep.yaml --checkpoint-directory /output/checkpoints/

這將生成一個詳細(xì)說明以下內(nèi)容的報告:

運行分析的硬件

吞吐量與延遲的關(guān)系圖

GPU 內(nèi)存與延遲的關(guān)系圖

CLI 中所選配置的報告

對于任何 MLOps 團(tuán)隊來說,在將模型投入生產(chǎn)之前開始分析都是一個很好的開始。

不同的利益相關(guān)者,不同的約束條件

在典型的生產(chǎn)環(huán)境中,有多個團(tuán)隊?wèi)?yīng)該協(xié)同工作,以便在生產(chǎn)中大規(guī)模部署 AI 模型。例如,可能有一個 MLOps 團(tuán)隊負(fù)責(zé)為管道穩(wěn)定性服務(wù)的模型,并處理應(yīng)用程序強(qiáng)加的服務(wù)級別協(xié)議( SLA )中的更改。另外,基礎(chǔ)架構(gòu)團(tuán)隊通常負(fù)責(zé)整個 GPU / CPU 場。

假設(shè)一個產(chǎn)品團(tuán)隊要求 MLOps 團(tuán)隊在 30 毫秒的延遲預(yù)算內(nèi)處理 99% 的請求,為 BERT 大型服務(wù)器提供服務(wù)。 MLOps 團(tuán)隊?wèi)?yīng)考慮可用硬件上的各種服務(wù)配置,以滿足該要求。使用 Model Analyzer 可以消除執(zhí)行此操作時的大部分摩擦。

下面的代碼示例是一個名為latency_constraint.yaml的配置文件的示例,其中我們在測得的延遲值的 99% 上添加了一個約束,以滿足給定的 SLA 。

model_repository: /models
checkpoint_directory: /output/checkpoints/
analysis_models: bert-large: constraints: perf_latency_p99: max: 30
perf_analyzer_flags: input-data: "zero"

因為您有上一次掃描中的檢查點,所以可以將它們重新用于 SLA 分析。運行以下命令可以提供滿足延遲約束的前三種配置:

model-analyzer analyze -f latency_constraint.yaml

表 2 顯示了前三種配置的測量結(jié)果,以及它們與默認(rèn)配置的比較情況。

表 2 :。每個配置如何滿足指定的延遲約束

在大規(guī)模生產(chǎn)中,軟件和硬件約束會影響生產(chǎn)中的 SLA 。

假設(shè)應(yīng)用程序的約束已更改。該團(tuán)隊現(xiàn)在希望滿足同一型號的 p99 延遲為 50 ms ,吞吐量為每秒 30 多個推斷。還假設(shè)基礎(chǔ)設(shè)施團(tuán)隊能夠為其使用留出 5000 MB 的 GPU 內(nèi)存。隨著約束數(shù)量的增加,手動查找服務(wù)配置以滿足涉眾變得越來越困難。這就是對模型分析器這樣的解決方案的需求變得更加明顯的地方,因為您現(xiàn)在可以在單個配置文件中同時指定所有約束。

以下名為multiple_constraint.yaml的示例配置文件結(jié)合了吞吐量、延遲和 GPU 內(nèi)存約束:

model_repository: /models
checkpoint_directory: /output/checkpoints/
analysis_models: bert-large-pytorch: constraints: perf_throughput: min: 50 perf_latency_p99: max: 30 gpu_used_memory: max: 5000
perf_analyzer_flags: input-data: "zero"

使用此更新的約束,運行以下命令:

model-analyzer analyze -f multiple_constraint.yaml

Model Analyzer 現(xiàn)在將以下提供的服務(wù)配置作為前三個選項,并顯示它們與默認(rèn)配置的比較情況。

表 3 :。每個配置如何滿足指定的所有三個約束。

總結(jié)

隨著企業(yè)發(fā)現(xiàn)自己在生產(chǎn)中提供越來越多的模型,手動或基于啟發(fā)式做出模型服務(wù)決策變得越來越困難。手動執(zhí)行此操作會導(dǎo)致浪費開發(fā)時間或模型服務(wù)決策不足,這需要自動化工具。

在本文中,我們探討了 NVIDIA Triton 模型分析器如何能夠找到滿足應(yīng)用程序 SLA 和各種涉眾需求的模型服務(wù)配置。我們展示了如何使用模型分析器掃描各種配置,以及如何使用它來滿足指定的服務(wù)約束。

盡管我們在這篇文章中只關(guān)注一個模型,但仍有計劃讓模型分析器同時對多個模型執(zhí)行相同的分析。例如,您可以在相同的 GPU 上運行的不同模型上定義約束,并對每個約束進(jìn)行優(yōu)化。

我們希望您能分享我們對 Model Analyzer 將節(jié)省多少開發(fā)時間的興奮,并使您的 MLOps 團(tuán)隊能夠做出明智的決策。

關(guān)于作者

Arun Raman 是 NVIDIA 的高級解決方案架構(gòu)師,專門從事消費互聯(lián)網(wǎng)行業(yè)的 edge 、 cloud 和 on-prem 人工智能應(yīng)用。在目前的職位上,他致力于端到端 AI 管道,包括預(yù)處理、培訓(xùn)和推理。除了從事人工智能工作外,他還研究了一系列產(chǎn)品,包括網(wǎng)絡(luò)路由器和交換機(jī)、多云基礎(chǔ)設(shè)施和服務(wù)。他擁有達(dá)拉斯德克薩斯大學(xué)電氣工程碩士學(xué)位。

Burak Yoldeir 是 NVIDIA 的高級數(shù)據(jù)科學(xué)家,專門為消費互聯(lián)網(wǎng)行業(yè)生產(chǎn)人工智能應(yīng)用程序。除了前端和后端企業(yè)軟件開發(fā)之外, Burak 還從事廣泛的 AI 應(yīng)用程序開發(fā)。他擁有加拿大不列顛哥倫比亞大學(xué)電氣和計算機(jī)工程博士學(xué)位。

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Google
    +關(guān)注

    關(guān)注

    5

    文章

    1789

    瀏覽量

    58959
  • NVIDIA
    +關(guān)注

    關(guān)注

    14

    文章

    5299

    瀏覽量

    106291
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4827

    瀏覽量

    86656
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    如何本地部署NVIDIA Cosmos Reason-1-7B模型

    下一步行動。本文將一步步帶你在本地服務(wù)器上完成該模型的部署,并搭建一個直觀的 Web 交互界面,親身體驗前沿 AI 的“思考”過程。
    的頭像 發(fā)表于 07-09 10:17 ?127次閱讀

    使用NVIDIA Triton和TensorRT-LLM部署TTS應(yīng)用的最佳實踐

    針對基于 Diffusion 和 LLM 類別的 TTS 模型,NVIDIA Triton 和 TensorRT-LLM 方案能顯著提升推理速度。在單張 NVIDIA Ada Love
    的頭像 發(fā)表于 06-12 15:37 ?562次閱讀
    使用<b class='flag-5'>NVIDIA</b> <b class='flag-5'>Triton</b>和TensorRT-LLM部署TTS應(yīng)用的<b class='flag-5'>最佳</b>實踐

    首創(chuàng)開源架構(gòu),天璣AI開發(fā)套件讓端側(cè)AI模型接入得心應(yīng)手

    PIX GP模型的整合,并且針對模型進(jìn)行全鏈路微秒級分析,以確保最佳的端到端性能表現(xiàn)。在雙方的整個合作流程中,開發(fā)效率提升了30%。 天璣AI
    發(fā)表于 04-13 19:52

    英偉達(dá)GTC25亮點:NVIDIA Dynamo開源庫加速并擴(kuò)展AI推理模型

    Triton 推理服務(wù)器的后續(xù)產(chǎn)品,NVIDIA Dynamo 是一款全新的 AI 推理服務(wù)軟件,旨在為部署推理
    的頭像 發(fā)表于 03-20 15:03 ?635次閱讀

    利用RAKsmart服務(wù)器托管AI模型訓(xùn)練的優(yōu)勢

    AI模型訓(xùn)練需要強(qiáng)大的計算資源、高效的存儲和穩(wěn)定的網(wǎng)絡(luò)支持,這對服務(wù)器的性能提出了較高要求。而RAKsmart服務(wù)器憑借其核心優(yōu)勢,成為托管AI
    的頭像 發(fā)表于 03-18 10:08 ?259次閱讀

    NVIDIA推出面向RTX AI PC的AI基礎(chǔ)模型

    NVIDIA 今日發(fā)布能在 NVIDIA RTX AI PC 本地運行的基礎(chǔ)模型,為數(shù)字人、內(nèi)容創(chuàng)作、生產(chǎn)力和開發(fā)提供強(qiáng)大助力。
    的頭像 發(fā)表于 01-08 11:01 ?533次閱讀

    NVIDIA推出多個生成式AI模型和藍(lán)圖

    NVIDIA 宣布推出多個生成式 AI 模型和藍(lán)圖,將 NVIDIA Omniverse 一體化進(jìn)一步擴(kuò)展至物理 AI 應(yīng)用,如機(jī)器人、自動
    的頭像 發(fā)表于 01-08 10:48 ?615次閱讀

    Triton編譯的優(yōu)勢與劣勢分析

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

    Triton編譯在機(jī)器學(xué)習(xí)中的應(yīng)用

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

    NVIDIA推出全新生成式AI模型Fugatto

    NVIDIA 開發(fā)了一個全新的生成式 AI 模型。利用輸入的文本和音頻,該模型可以創(chuàng)作出包含任意的音樂、人聲和聲音組合的作品。
    的頭像 發(fā)表于 11-27 11:29 ?810次閱讀

    AI模型托管原理分析

    AI模型托管是指將訓(xùn)練好的AI模型部署在云端或邊緣服務(wù)器上,由第三方平臺提供模型運行、管理和優(yōu)化
    的頭像 發(fā)表于 11-07 09:33 ?790次閱讀

    使用AI模型進(jìn)行數(shù)據(jù)分析的技巧

    以及后續(xù)的分析步驟。 確定需要分析的數(shù)據(jù)類型、規(guī)模和復(fù)雜度,以便選擇合適的AI模型。 二、高質(zhì)量數(shù)據(jù)收集與處理 數(shù)據(jù)來源 :從可靠的來源收
    的頭像 發(fā)表于 10-23 15:14 ?2738次閱讀

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

    在本案例中,Dify 以模型中立以及開源生態(tài)的優(yōu)勢,為廣大 AI 創(chuàng)新者提供豐富的模型選擇。其集成的 NVIDIAAPI Catalog、NVIDIA NIM和
    的頭像 發(fā)表于 09-09 09:19 ?925次閱讀

    英偉達(dá)推出全新NVIDIA AI Foundry服務(wù)NVIDIA NIM推理微服務(wù)

    NVIDIA 宣布推出全新 NVIDIA AI Foundry 服務(wù)NVIDIA NIM 推理微服務(wù)
    的頭像 發(fā)表于 07-25 09:48 ?1052次閱讀

    NVIDIA AI Foundry 為全球企業(yè)打造自定義 Llama 3.1 生成式 AI 模型

    Foundry 提供從數(shù)據(jù)策管、合成數(shù)據(jù)生成、微調(diào)、檢索、防護(hù)到評估的全方位生成式 AI 模型服務(wù),以便部署自定義 Llama 3.1 NVIDIA NIM 微
    發(fā)表于 07-24 09:39 ?912次閱讀
    <b class='flag-5'>NVIDIA</b> <b class='flag-5'>AI</b> Foundry 為全球企業(yè)打造自定義 Llama 3.1 生成式 <b class='flag-5'>AI</b> <b class='flag-5'>模型</b>