triton-inference-server/backend
Common source, scripts and utilities for creating Triton backends.
解决的问题
该项目提供了为 Triton Inference Server 创建「后端」所需的基础设施和文档。后端是实际执行模型的实现,使 Triton 能够支持各种深度学习框架(如 PyTorch、TensorFlow 和 ONNX Runtime)或用于图像预处理等操作的自定义 C/C++ 逻辑。
工作原理
Triton 使用标准化的 C 接口(Triton Backend API)与后端通信。每个后端都以共享库(命名为 libtriton_<backend-name>.so)的形式实现,并由 Triton 在运行时加载。
API 定义了几个关键抽象:
- Backend:所有使用该后端的模型共享的整体实现。
- Model:表示一个特定加载的模型。
- Model Instance:模型的执行单元;Triton 可以创建多个实例来处理请求。
- Request/Response:用于将输入张量传递给后端并返回输出张量给 Triton 的对象。
适用人群
- 机器学习工程师:需要将不同框架的模型部署到单一生产环境中的开发者。
- 后端开发者:希望在 Triton 生态系统中构建自定义 C/C++ 或 Python 逻辑,以执行特定模型操作或预处理步骤的开发者。
主要亮点
- 框架无关:支持广泛的框架,包括 TensorRT、ONNX Runtime、TensorFlow、PyTorch、OpenVINO 和 vLLM。
- 可扩展:允许开发者通过 C 接口创建自己的自定义后端。
- 灵活部署:后端可全局安装,也可与特定模型版本捆绑安装。
- 自定义逻辑:支持 Python 后端,可在不转换为 TorchScript 或其他格式的情况下用 Python 编写模型逻辑。
相关
- 项目
- 项目
- 项目
- 项目
- 项目