- 直接(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ì)算。

所識(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. 有積壓工作:釋放該序列處理槽給其他序列使用 |

- 在實(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 使用;

- 序列中第一個(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 } |

所識(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)的序列。 |

原文標(biāo)題:NVIDIA Triton 系列文章(11):模型類別與調(diào)度器-2
文章出處:【微信公眾號(hào):NVIDIA英偉達(dá)企業(yè)解決方案】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
-
英偉達(dá)
+關(guān)注
關(guān)注
22文章
3937瀏覽量
93469
原文標(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)先 登錄
使用NVIDIA Triton和TensorRT-LLM部署TTS應(yīng)用的最佳實(shí)踐

NVIDIA GTC巴黎亮點(diǎn):全新Cosmos Predict-2世界基礎(chǔ)模型與CARLA集成加速智能汽車訓(xùn)練
英偉達(dá)GTC25亮點(diǎn):NVIDIA Dynamo開(kāi)源庫(kù)加速并擴(kuò)展AI推理模型
Evo 2 AI模型可通過(guò)NVIDIA BioNeMo平臺(tái)使用
NVIDIA推出開(kāi)放式Llama Nemotron系列模型
Triton編譯器與GPU編程的結(jié)合應(yīng)用
Triton編譯器的優(yōu)化技巧
Triton編譯器的優(yōu)勢(shì)與劣勢(shì)分析
Triton編譯器在機(jī)器學(xué)習(xí)中的應(yīng)用
Triton編譯器的常見(jiàn)問(wèn)題解決方案
Triton編譯器支持的編程語(yǔ)言
Triton編譯器與其他編譯器的比較
Triton編譯器功能介紹 Triton編譯器使用教程
NVIDIA助力提供多樣、靈活的模型選擇
NVIDIA Nemotron-4 340B模型幫助開(kāi)發(fā)者生成合成訓(xùn)練數(shù)據(jù)

評(píng)論