1 整体架构
三部分组成:
- Triton backend
tensorRT_backend、onnx_backend、tfs_backend、torch_backend
- **Triton model **
不同的模型
- **Triton model instance **
模型实例
![P2}5X%2ULV(2OAC$_`OKOP.png
2 设计思路
需要实现七个接口:
- TRITONBACKEND_Initialize:
- 初始化 Triton backend。
- TRITONBACKEND_ModelInitialize:
- 初始化模型配置,包括在 model.config 中指定的配置。
- TRITONBACKEND_ModelInstanceInitialize:
- 初始化模型实例,指定模型在哪个 GPU 上执行。
- TRITONBACKEND_ModelInstanceExecute:
- 执行模型。
剩下的三个 TRITONBACKEND_ModelFinalize、TRITONBACKEND_ModelInstanceFinalize 和 TRITONBACKEND_Finalize 负责清理工作,不需要关注。
重点是TRITONBACKEND_ModelInstanceExecute,其成员变量ModelState、ModelInstanceState负责实际的模型执行,其具有两方面作用:
- 维护状态
- ModelState:
- 维护模型配置信息,例如模型名称、模型输入输出信息、batching size等。
- ModelInstanceState:
- 记录模型在哪个机器上运行。
- 模型执行
- modelState:
- 加载模型。
- modelInstanceState:
- 模型执行。