在上篇文章中,已經(jīng)說(shuō)明了有狀態(tài)(stateful)模型的“控制輸入”與“隱式狀態(tài)管理”的使用方式,本文內(nèi)容接著就繼續(xù)說(shuō)明“調(diào)度策略”的使用。
(續(xù)前一篇文章的編號(hào))
(3) 調(diào)度策略(Scheduling Strategies)在決定如何對(duì)分發(fā)到同一模型實(shí)例的序列進(jìn)行批處理時(shí),序列批量處理器(sequence batcher)可以采用以下兩種調(diào)度策略的其中一種:
現(xiàn)在簡(jiǎn)單說(shuō)明以下配置的內(nèi)容:
每個(gè)模型實(shí)例都在維護(hù)每個(gè)批處理槽的狀態(tài),并期望將給定序列的所有推理請(qǐng)求分發(fā)到同一槽,以便正確更新?tīng)顟B(tài)。對(duì)于本例,這意味著 Triton 可以同時(shí) 4 個(gè)序列進(jìn)行推理。
使用直接調(diào)度策略,序列批處理程序會(huì)執(zhí)行以下動(dòng)作:
下圖顯示使用直接調(diào)度策略,將多個(gè)序列調(diào)度到模型實(shí)例上的執(zhí)行:
圖左顯示了到達(dá) Triton 的 5 個(gè)請(qǐng)求序列,每個(gè)序列可以由任意數(shù)量的推理請(qǐng)求組成。圖右側(cè)顯示了推理請(qǐng)求序列是如何隨時(shí)間安排到模型實(shí)例上的,
?隨著時(shí)間的推移(從右向左),會(huì)發(fā)生以下情況:
在本示例中,模型需要序列批量處理的開(kāi)始、結(jié)束和相關(guān) ID 控制輸入。下圖顯示了此配置指定的序列批處理程序和推理資源的表示。
使用最舊的調(diào)度策略,序列批處理程序會(huì)執(zhí)行以下工作:
下圖顯示將多個(gè)序列調(diào)度到上述示例配置指定的模型實(shí)例上,左圖顯示 Triton 接收了四個(gè)請(qǐng)求序列,每個(gè)序列由多個(gè)推理請(qǐng)求組成:
這里假設(shè)每個(gè)請(qǐng)求的長(zhǎng)度是相同的,那么左邊候選序列中送進(jìn)右邊批量處理槽的順序,就是上圖中間的排列順序。
最舊的策略從最舊的請(qǐng)求中形成一個(gè)動(dòng)態(tài)批處理,但在一個(gè)批處理中從不包含來(lái)自給定序列的多個(gè)請(qǐng)求,例如上面序列 D 中的最后兩個(gè)推理不是一起批處理的。
以上是關(guān)于有狀態(tài)模型的“調(diào)度策略”主要內(nèi)容,剩下的“集成模型”部分,會(huì)在下篇文章中提供完整的說(shuō)明。
- 直接(direct)策略
| name: "direct_stateful_model"platform: "tensorrt_plan"max_batch_size: 2sequence_batching{ max_sequence_idle_microseconds: 5000000direct { } control_input [{name: "START" control [{ kind: CONTROL_SEQUENCE_START fp32_false_true: [ 0, 1 ]}]},{name: "READY" control [{ kind: CONTROL_SEQUENCE_READY fp32_false_true: [ 0, 1 ]}]}]}#續(xù)接右欄 | #上接左欄input [{name: "INPUT" data_type: TYPE_FP32dims: [ 100, 100 ]}]output [{name: "OUTPUT" data_type: TYPE_FP32dims: [ 10 ]}]instance_group [{ count: 2}] |
- sequence_batching 部分指示模型會(huì)使用序列調(diào)度器的 Direct 調(diào)度策略;
- 示例中模型只需要序列批處理程序的啟動(dòng)和就緒控制輸入,因此只列出這些控制;
- instance_group 表示應(yīng)該實(shí)例化模型的兩個(gè)實(shí)例;
- max_batch_size 表示這些實(shí)例中的每一個(gè)都應(yīng)該執(zhí)行批量大小為 2 的推理計(jì)算。
每個(gè)模型實(shí)例都在維護(hù)每個(gè)批處理槽的狀態(tài),并期望將給定序列的所有推理請(qǐng)求分發(fā)到同一槽,以便正確更新?tīng)顟B(tài)。對(duì)于本例,這意味著 Triton 可以同時(shí) 4 個(gè)序列進(jìn)行推理。
使用直接調(diào)度策略,序列批處理程序會(huì)執(zhí)行以下動(dòng)作:
| 所識(shí)別的推理請(qǐng)求種類 | 執(zhí)行動(dòng)作 |
| 需要啟動(dòng)新序列 | 1. 有可用處理槽時(shí):就為該序列分配批處理槽2. 無(wú)可用處理槽時(shí):就將推理請(qǐng)求放在積壓工作中 |
| 是已分配處理槽序列的一部分 | 將該請(qǐng)求分發(fā)到該配置好的批量處理槽 |
| 是積壓工作中序列的一部分 | 將請(qǐng)求放入積壓工作中 |
| 是最后一個(gè)推理請(qǐng)求 | 1. 有積壓工作時(shí):將處理槽分配給積壓工作的序列2. 有積壓工作:釋放該序列處理槽給其他序列使用 |
圖左顯示了到達(dá) Triton 的 5 個(gè)請(qǐng)求序列,每個(gè)序列可以由任意數(shù)量的推理請(qǐng)求組成。圖右側(cè)顯示了推理請(qǐng)求序列是如何隨時(shí)間安排到模型實(shí)例上的,
- 在實(shí)例 0 與實(shí)例 1 中各有兩個(gè)槽 0 與槽 1;
- 根據(jù)接收的順序,為序列 0 至序列 3 各分配一個(gè)批量處理槽,而序列 4 與序列 5 先處于排隊(duì)等候狀態(tài);
- 當(dāng)序列 3 的請(qǐng)求全部完成之后,將處理槽釋放出來(lái)給序列 4 使用;
- 當(dāng)序列 1 的請(qǐng)求全部完成之后,將處理槽釋放出來(lái)給序列 5 使用;
?隨著時(shí)間的推移(從右向左),會(huì)發(fā)生以下情況:- 序列中第一個(gè)請(qǐng)求(Req 0)到達(dá)槽 0 時(shí),因?yàn)槟P蛯?shí)例尚未執(zhí)行推理,則序列調(diào)度器會(huì)立即安排模型實(shí)例執(zhí)行,因?yàn)橥评碚?qǐng)求可用;
- 由于這是序列中的第一個(gè)請(qǐng)求,因此 START 張量中的對(duì)應(yīng)元素設(shè)置為 1,但槽 1 中沒(méi)有可用的請(qǐng)求,因此 READY 張量?jī)H顯示槽 0 為就緒。
- 推理完成后,序列調(diào)度器會(huì)發(fā)現(xiàn)任何批處理槽中都沒(méi)有可用的請(qǐng)求,因此模型實(shí)例處于空閑狀態(tài)。
- 接下來(lái),兩個(gè)推理請(qǐng)求(上面的 Req 1 與下面的 Req 0)差不多的時(shí)間到達(dá),序列調(diào)度器看到兩個(gè)處理槽都是可用,就立即執(zhí)行批量大小為 2 的推理模型實(shí)例,使用 READY 顯示兩個(gè)槽都有可用的推理請(qǐng)求,但只有槽 1 是新序列的開(kāi)始(START)。
- 對(duì)于其他推理請(qǐng)求,處理以類似的方式繼續(xù)。
- 最舊的(oldest)策略
| 直接(direct)策略 | 最舊的(oldest)策略 |
|
direct {} |
oldest { max_candidate_sequences: 4 } |
使用最舊的調(diào)度策略,序列批處理程序會(huì)執(zhí)行以下工作:
| 所識(shí)別的推理請(qǐng)求種類 | 執(zhí)行動(dòng)作 |
| 需要啟動(dòng)新序列 | 嘗試查找具有候選序列空間的模型實(shí)例,如果沒(méi)有實(shí)例可以容納新的候選序列,就將請(qǐng)求放在一個(gè)積壓工作中 |
| 已經(jīng)是候選序列的一部分 | 將該請(qǐng)求分發(fā)到該模型實(shí)例 |
| 是積壓工作中序列的一部分 | 將請(qǐng)求放入積壓工作中 |
| 是最后一個(gè)推理請(qǐng)求 | 模型實(shí)例立即從積壓工作中刪除一個(gè)序列,并將其作為模型實(shí)例中的候選序列,或者記錄如果沒(méi)有積壓工作,模型實(shí)例可以處理未來(lái)的序列。 |
這里假設(shè)每個(gè)請(qǐng)求的長(zhǎng)度是相同的,那么左邊候選序列中送進(jìn)右邊批量處理槽的順序,就是上圖中間的排列順序。
最舊的策略從最舊的請(qǐng)求中形成一個(gè)動(dòng)態(tài)批處理,但在一個(gè)批處理中從不包含來(lái)自給定序列的多個(gè)請(qǐng)求,例如上面序列 D 中的最后兩個(gè)推理不是一起批處理的。
以上是關(guān)于有狀態(tài)模型的“調(diào)度策略”主要內(nèi)容,剩下的“集成模型”部分,會(huì)在下篇文章中提供完整的說(shuō)明。
原文標(biāo)題:NVIDIA Triton 系列文章(11):模型類別與調(diào)度器-2
文章出處:【微信公眾號(hào):NVIDIA英偉達(dá)企業(yè)解決方案】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。
舉報(bào)投訴
-
英偉達(dá)
+關(guān)注
關(guān)注
23文章
4091瀏覽量
99308
原文標(biāo)題:NVIDIA Triton 系列文章(11):模型類別與調(diào)度器-2
文章出處:【微信號(hào):NVIDIA-Enterprise,微信公眾號(hào):NVIDIA英偉達(dá)企業(yè)解決方案】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
熱點(diǎn)推薦
NVIDIA Jetson模型賦能AI在邊緣端落地
開(kāi)源生成式 AI 模型不再局限于數(shù)據(jù)中心,而是開(kāi)始深入到現(xiàn)實(shí)世界的各種機(jī)器中。從 Orin 到 Thor,NVIDIA Jetson 系列正在成為運(yùn)行 NVIDIA Nemotron、
借助NVIDIA CUDA Tile IR后端推進(jìn)OpenAI Triton的GPU編程
NVIDIA CUDA Tile 是基于 GPU 的編程模型,其設(shè)計(jì)目標(biāo)是為 NVIDIA Tensor Cores 提供可移植性,從而釋放 GPU 的極限性能。CUDA Tile 的一大優(yōu)勢(shì)是允許開(kāi)發(fā)者基于其構(gòu)建自定義的 DS
七大基于大模型的地面測(cè)控站網(wǎng)調(diào)度分系統(tǒng)軟件的應(yīng)用與未來(lái)發(fā)展
? ? 七大基于大模型的地面測(cè)控站網(wǎng)智能調(diào)度系統(tǒng) ? ?“七大基于大模型的地面測(cè)控站網(wǎng)調(diào)度分系統(tǒng)”并非公開(kāi)資料中的標(biāo)準(zhǔn)化術(shù)語(yǔ),而是結(jié)合國(guó)際航天測(cè)控領(lǐng)域發(fā)展趨勢(shì),以及人工智能大
NVIDIA 推出 Nemotron 3 系列開(kāi)放模型
新聞?wù)?● Nemotron 3 系列開(kāi)放模型包含 Nano、Super 和 Ultra 三種規(guī)模,具有極高的效率和領(lǐng)先的精度,適用于代理式 AI 應(yīng)用開(kāi)發(fā)。 ● Nemotron 3 Nano
NVIDIA攜手Mistral AI發(fā)布全新開(kāi)源大語(yǔ)言模型系列
全新 Mistral 3 系列涵蓋從前沿級(jí)到緊湊型模型,針對(duì) NVIDIA 平臺(tái)進(jìn)行了優(yōu)化,助力 Mistral AI 實(shí)現(xiàn)云到邊緣分布式智能愿景。
NVIDIA推動(dòng)面向數(shù)字與物理AI的開(kāi)源模型發(fā)展
NVIDIA 發(fā)布一系列涵蓋語(yǔ)音、安全與輔助駕駛領(lǐng)域的全新 AI 工具,其中包括面向移動(dòng)出行領(lǐng)域的行業(yè)級(jí)開(kāi)源視覺(jué)-語(yǔ)言-動(dòng)作推理模型(Reasoning VLA) NVIDIA DRI
利用NVIDIA Cosmos開(kāi)放世界基礎(chǔ)模型加速物理AI開(kāi)發(fā)
NVIDIA 最近發(fā)布了 NVIDIA Cosmos 開(kāi)放世界基礎(chǔ)模型(WFM)的更新,旨在加速物理 AI 模型的測(cè)試與驗(yàn)證數(shù)據(jù)生成。借助 NVID
面向科學(xué)仿真的開(kāi)放模型系列NVIDIA Apollo正式發(fā)布
用于加速工業(yè)和計(jì)算工程的開(kāi)放模型系列 NVIDIA Apollo 于近日舉行的 SC25 大會(huì)上正式發(fā)布。
NVIDIA開(kāi)源Audio2Face模型及SDK
NVIDIA 現(xiàn)已開(kāi)源 Audio2Face 模型與 SDK,讓所有游戲和 3D 應(yīng)用開(kāi)發(fā)者都可以構(gòu)建并部署帶有先進(jìn)動(dòng)畫的高精度角色。NVIDIA 開(kāi)源 Audio
NVIDIA Nemotron Nano 2推理模型發(fā)布
NVIDIA 正式推出準(zhǔn)確、高效的混合 Mamba-Transformer 推理模型系列 NVIDIA Nemotron Nano 2。
如何本地部署NVIDIA Cosmos Reason-1-7B模型
近日,NVIDIA 開(kāi)源其物理 AI 平臺(tái) NVIDIA Cosmos 中的關(guān)鍵模型——NVIDIA Cosmos Reason-1-7B。這款先進(jìn)的多模態(tài)大
使用NVIDIA Triton和TensorRT-LLM部署TTS應(yīng)用的最佳實(shí)踐
針對(duì)基于 Diffusion 和 LLM 類別的 TTS 模型,NVIDIA Triton 和 TensorRT-LLM 方案能顯著提升推理速度。在單張
NVIDIA GTC巴黎亮點(diǎn):全新Cosmos Predict-2世界基礎(chǔ)模型與CARLA集成加速智能汽車訓(xùn)練
。這種向使用大模型的過(guò)渡大大增加了對(duì)用于訓(xùn)練、測(cè)試和驗(yàn)證的高質(zhì)量、基于物理學(xué)傳感器數(shù)據(jù)的需求。 為加速下一代輔助駕駛架構(gòu)的開(kāi)發(fā),NVIDIA 發(fā)布了?NVIDIA Cosmos Pre
NVIDIA使用Qwen3系列模型的最佳實(shí)踐
阿里巴巴近期發(fā)布了其開(kāi)源的混合推理大語(yǔ)言模型 (LLM) 通義千問(wèn) Qwen3,此次 Qwen3 開(kāi)源模型系列包含兩款混合專家模型 (MoE),235B-A22B(總參數(shù)
英偉達(dá)GTC25亮點(diǎn):NVIDIA Dynamo開(kāi)源庫(kù)加速并擴(kuò)展AI推理模型
Triton 推理服務(wù)器的后續(xù)產(chǎn)品,NVIDIA Dynamo 是一款全新的 AI 推理服務(wù)軟件,旨在為部署推理 AI 模型的 AI 工廠最大化其 token 收益。它協(xié)調(diào)并加速數(shù)千
NVIDIA Triton 系列文章(11):模型類別與調(diào)度器-2
評(píng)論