The Triton Inference Server provides an optimized cloud and edge inferencing solution.
Warning
您目前位于 main 分支,该分支正在跟踪面向下一版本的开发进展。
当前发布版本为 2.72.0
对应于 NVIDIA GPU Cloud (NGC) 上的 26.08 容器版本。
Triton Inference Server
Triton Inference Server 是一款开源推理服务软件,可简化 AI 推理。Triton 支持团队部署来自多种深度学习和机器学习框架的 任意 AI 模型,包括 TensorRT、PyTorch、ONNX、OpenVINO、Python、 RAPIDS FIL 等。Triton Inference Server 支持在 NVIDIA GPU、x86 和 ARM CPU 或 AWS Inferentia 上,覆盖云端、数据中心、边缘和嵌入式设备的 推理。Triton Inference Server 为多种查询类型提供优化性能,包括实时、 批处理、模型组合以及音频/视频流式处理。Triton Inference Server 是 NVIDIA AI Enterprise 的一部分, 它是一个加速数据科学流水线并简化生产级 AI 开发与部署的软件平台。
主要特性包括:
- 支持多种深度学习 框架
- 支持多种机器学习 框架
- 并发模型 执行
- 动态批处理
- 序列批处理 以及 隐式状态管理 用于有状态模型
- 提供 Backend API, 允许添加自定义后端以及预处理/后处理操作
- 支持使用 Python 编写自定义后端,也称为 基于 Python 的后端。
- 使用 模型组合 或 业务 逻辑脚本 (BLS) 构建模型流水线
- HTTP/REST 和 GRPC 推理 协议,基于社区 开发的 KServe 协议
- C API 和 Java API 允许将 Triton 直接链接到您的应用程序,适用于边缘及其他进程内使用场景
- 指标,用于显示 GPU 利用率、服务器 吞吐量、服务器延迟等
初次使用 Triton Inference Server? 请使用 这些教程 开启您的 Triton 之旅!
加入 Triton 和 TensorRT 社区, 及时获取最新产品更新、缺陷修复、内容、最佳实践 等更多信息。需要企业级支持?可通过 NVIDIA AI Enterprise 软件套件 为 Triton Inference Server 提供 NVIDIA 全球支持服务。
三步轻松部署模型
# Step 1: Create the example model repository
git clone -b r26.08 https://github.com/triton-inference-server/server.git
cd server/docs/examples
./fetch_models.sh
# Step 2: Launch triton from the NGC Triton container
docker run --gpus=1 --rm --net=host -v ${PWD}/model_repository:/models nvcr.io/nvidia/tritonserver:26.08-py3 tritonserver --model-repository=/models --model-control-mode explicit --load-model densenet_onnx
# Step 3: Sending an Inference Request
# In a separate console, launch the image_client example from the NGC Triton SDK container
docker run -it --rm --net=host nvcr.io/nvidia/tritonserver:26.08-py3-sdk /workspace/install/bin/image_client -m densenet_onnx -c 3 -s INCEPTION /workspace/images/mug.jpg
# Inference should return the following
Image '/workspace/images/mug.jpg':
15.346230 (504) = COFFEE MUG
13.224326 (968) = CUP
10.422965 (505) = COFFEEPOT
请阅读 快速入门 指南,了解更多关于此示例的信息。快速入门指南还包含一个示例,演示如何在 仅 CPU 系统 上启动 Triton。如果您是 Triton 新手,不知道从哪里开始?请观看 入门视频。
示例和教程
查看 NVIDIA LaunchPad,可免费访问一组使用 Triton Inference Server 的实操实验,这些实验托管在 NVIDIA 基础设施上。
针对 ResNet、BERT 和 DLRM 等热门模型的具体端到端示例位于 GitHub 上的 NVIDIA Deep Learning Examples 页面。NVIDIA Developer Zone 包含更多文档、演示文稿和示例。
文档
构建与部署
构建和使用 Triton Inference Server 的推荐方式是使用 Docker 镜像。
- 使用 Docker 容器安装 Triton Inference Server (推荐)
- 不使用 Docker 容器安装 Triton Inference Server
- 构建自定义 Triton Inference Server Docker 容器
- 从源码构建 Triton Inference Server
- 在 GCP、AWS 和 NVIDIA FleetCommand 上使用 Kubernetes 和 Helm 部署 Triton Inference Server 的示例
- 安全部署注意事项
使用 Triton
为 Triton Inference Server 准备模型
使用 Triton 提供模型服务的第一步是将一个或多个模型放入 模型仓库。根据模型类型以及您希望为该模型启用的 Triton 功能,您可能需要为模型创建 模型配置。
- 如您的模型需要,为 Triton 添加自定义操作
- 使用 模型集成 和 业务逻辑脚本(BLS) 启用模型流水线
- 通过设置 调度和批处理 参数以及 模型实例 来优化您的模型。
- 使用 Model Analyzer 工具 通过性能分析帮助优化您的模型配置
- 了解如何通过加载和卸载模型来 显式管理可用模型
配置并使用 Triton Inference Server
- 阅读 快速入门指南,以在 GPU 和 CPU 上运行 Triton Inference Server
- Triton 支持多种执行引擎,称为 后端,包括 TensorRT、PyTorch、ONNX、OpenVINO、Python 等
- Triton 支持的各个平台并不都支持上述所有后端。请查看 后端-平台支持矩阵,了解您的目标平台支持哪些后端。
- 了解如何使用 Performance Analyzer 和 Model Analyzer 来 优化性能
- 了解如何在 Triton 中 管理模型的加载和卸载
- 使用 基于 HTTP/REST JSON 或 gRPC 的协议 直接向 Triton 发送请求
客户端支持和示例
Triton 客户端 应用会向 Triton 发送推理及其他请求。Python 和 C++ 客户端库 提供 API,以简化这种通信。
- 查看 C++、Python 和 Java 的客户端示例
- 配置 HTTP 和 gRPC 客户端选项
- 将输入数据(例如 jpeg 图像)直接通过 不携带任何额外元数据的 HTTP 请求体 发送到 Triton
扩展 Triton
Triton Inference Server 的架构 专为模块化与灵活性而设计。
- 根据您的使用场景 定制 Triton Inference Server 容器
- 创建自定义后端 支持 C/C++ 或 Python
- 创建 解耦后端和模型,可为一个请求发送多个响应,或不为请求发送任何响应
- 使用 Triton 仓库代理 添加在模型加载和卸载时运行的功能,例如身份验证、解密或转换
- 在 Jetson 和 JetPack 上部署 Triton
- 在 AWS Inferentia 上使用 Triton
其他文档
贡献
我们非常欢迎对 Triton Inference Server 的贡献。如需提交贡献,请阅读 贡献指南。如果您有后端、客户端、示例或类似贡献,且不修改 Triton 核心,则应提交 PR 到 contrib 仓库。
报告问题、提出疑问
我们感谢有关本项目的任何反馈、疑问或缺陷报告。 在 GitHub 上提交 issue 时,请遵循 Stack Overflow 文档 中所述的流程。请确保所提交的示例满足以下条件:
- 最小化——使用尽可能少的代码,但仍能复现相同问题
- 完整——提供复现问题所需的所有部分。请检查是否可以移除外部依赖后仍能展示问题。我们花越少时间复现问题,就有越多时间用于修复它
- 可验证——测试您准备提供的代码,确保其能复现问题。移除所有与您的请求/疑问无关的其他问题。
对于 issue,请使用提供的缺陷报告和功能请求模板。
对于疑问,我们建议在我们的社区 GitHub Discussions. 中发布。
更多信息
如需进一步了解,请参阅 NVIDIA Developer Triton 页面。