<SOURCE_TEXT>
<!--
# 版权所有 2018-2024, NVIDIA CORPORATION & AFFILIATES。保留所有权利。
#
# 在满足以下条件的情况下,允许以源代码和二进制形式重新分发和使用,无论是否进行了修改:
# * 重新发布源代码时,必须保留上述版权声明、本条件列表以及以下免责声明。
# * 以二进制形式重新发布时,必须在随发行版提供的文档和/或其他材料中再现上述版权声明、本条件列表以及以下免责声明。
# * 未经事先书面许可,NVIDIA CORPORATION的名称或其贡献者的名称不得用于支持或推广从本软件衍生的产品。
#
# 本软件由版权持有者按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适销性和特定用途的暗示保证。在任何情况下,版权持有者或贡献者均不对因使用本软件而引起的任何直接、间接、附带、特殊、惩戒性或后果性损害(包括但不限于采购替代商品或服务;使用、数据或利润损失;或业务中断)承担责任,无论是基于合同、严格责任或侵权(包括过失或其他原因),即使已被告知此类损害的可能性。
-->
# Triton 推理服务器
📣 **vLLM x Triton 见面会将于9月9日16:00 - 21:00在Fort Mason举行**
我们非常高兴地宣布,我们将在9月9日16:00 - 21:00与vLLM团队在[Fort Mason](https://maps.app.goo.gl/9Lr3fxRssrpQCGK58)举办Triton用户见面会。加入我们这个独家活动,了解最新的vLLM和Triton功能,了解未来的路线图,并与其他用户、NVIDIA Triton和vLLM团队联系。座位有限,需注册确认才能参加 - 请[点击这里](https://lu.ma/87q3nvnh)注册参加见面会。
___
[![License](https://yellow-cdn.veclightyear.com/2b54e442/06024e4b-70cd-4d70-9b3e-022763e0ffc4.svg)](https://opensource.org/licenses/BSD-3-Clause)
[!WARNING]
##### 最新版本
您当前位于`main`分支,该分支跟踪下一版本的开发进展。
当前版本为[2.48.0](https://github.com/triton-inference-server/server/releases/latest),对应NVIDIA GPU Cloud (NGC)上的24.07容器版本。
Triton推理服务器是一款开源推理服务软件,简化了AI推理过程。Triton使团队能够从多个深度学习和机器学习框架中部署任何AI模型,包括TensorRT、TensorFlow、PyTorch、ONNX、OpenVINO、Python、RAPIDS FIL等。Triton推理服务器支持在NVIDIA GPU、x86和ARM CPU或AWS Inferentia上的云、数据中心、边缘和嵌入式设备上进行推理。Triton推理服务器为多种查询类型(包括实时、批量、集合和音视频流)提供优化的性能。Triton推理服务器是[NVIDIA AI Enterprise](https://www.nvidia.com/en-us/data-center/products/ai-enterprise/)的一部分,这是一个加速数据科学管道并简化生产AI开发和部署的软件平台。
主要功能包括:
- [支持多种深度学习
框架](https://github.com/triton-inference-server/backend#where-can-i-find-all-the-backends-that-are-available-for-triton)
- [支持多种机器学习
框架](https://github.com/triton-inference-server/fil_backend)
- [并发模型
执行](docs/user_guide/architecture.md#concurrent-model-execution)
- [动态批处理](docs/user_guide/model_configuration.md#dynamic-batcher)
- [序列批处理](docs/user_guide/model_configuration.md#sequence-batcher)和
[隐式状态管理](docs/user_guide/architecture.md#implicit-state-management)
用于有状态模型
- 提供[后端API](https://github.com/triton-inference-server/backend),允许添加自定义后端和前/后处理操作
- 支持用Python编写自定义后端,即
[基于Python的后端](https://github.com/triton-inference-server/backend/blob/main/docs/python_based_backends.md#python-based-backends)
- 使用
[集合](docs/user_guide/architecture.md#ensemble-models)或[业务逻辑脚本
(BLS)](https://github.com/triton-inference-server/python_backend#business-logic-scripting)
进行模型管道化
- 基于社区开发的[KServe
协议](https://github.com/kserve/kserve/tree/master/docs/predict-api/v2)的[HTTP/REST和GRPC推理
协议](docs/customization_guide/inference_protocols.md)
- [C API](docs/customization_guide/inference_protocols.md#in-process-triton-server-api)和
[Java API](docs/customization_guide/inference_protocols.md#java-bindings-for-in-process-triton-server-api)
允许Triton直接链接到您的应用程序中,用于边缘和其他进程内用例
- [指标](docs/user_guide/metrics.md)指示GPU利用率、服务器吞吐量、服务器延迟等
**Triton推理服务器新手?** 请利用
[这些教程](https://github.com/triton-inference-server/tutorials)
开始您的Triton之旅!
加入[Triton和TensorRT社区](https://www.nvidia.com/en-us/deep-learning-ai/triton-tensorrt-newsletter/),
保持对最新产品更新、错误修复、内容、最佳实践等的关注。需要企业级支持?NVIDIA全球支持可通过
[NVIDIA AI Enterprise软件套件](https://www.nvidia.com/en-us/data-center/products/ai-enterprise/)
为Triton推理服务器提供支持。
## 3个简单步骤部署模型
```bash
# 第一步:创建示例模型库
git clone -b r24.07 https://github.com/triton-inference-server/server.git
cd server/docs/examples
./fetch_models.sh
# 第二步:从NGC Triton容器启动Triton
docker run --gpus=1 --rm --net=host -v ${PWD}/model_repository:/models nvcr.io/nvidia/tritonserver:24.07-py3 tritonserver --model-repository=/models
# 第三步:发送推理请求
# 在一个单独的控制台中,从NGC Triton SDK容器启动image_client示例
docker run -it --rm --net=host nvcr.io/nvidia/tritonserver:24.07-py3-sdk
/workspace/install/bin/image_client -m densenet_onnx -c 3 -s INCEPTION /workspace/images/mug.jpg
# 推理结果应返回如下内容
Image '/workspace/images/mug.jpg':
15.346230 (504) = COFFEE MUG
13.224326 (968) = CUP
10.422965 (505) = COFFEEPOT
请阅读快速入门指南,获取有关此示例的更多信息。快速入门指南还包含了如何在仅CPU系统上启动Triton的示例。Triton新手,不知道从哪里开始?请观看入门视频。
示例和教程
请查看NVIDIA LaunchPad 以免费访问一系列由NVIDIA基础设施托管的Triton推理服务器动手实验室。
流行模型(如ResNet、BERT和DLRM)的具体端到端示例位于 NVIDIA深度学习示例 页面在GitHub上。NVIDIA开发者专区 包含了更多的文档、演示和示例。
文档
构建和部署
推荐的构建和使用Triton推理服务器的方式是使用Docker镜像。
-
[为Windows 10构建Triton推 使用 Triton 提供模型服务的第一步是将一个或多个模型放入模型库。根据模型的类型以及您希望为模型启用的 Triton 功能,您可能需要为模型创建一个模型配置。
-
通过模型集成和业务逻辑脚本 (BLS)启用模型流水线
-
使用模型分析工具帮助优化您的模型配置并进行分析
配置和使用 Triton 推理服务器
- 阅读快速入门指南,在 GPU 和 CPU 上运行 Triton 推理服务器
- Triton 支持多种执行引擎,称为后端,包括 TensorRT、TensorFlow、PyTorch、ONNX、OpenVINO、Python 等等
- 以上并非所有后端在 Triton 支持的每个平台上都支持。查看后端-平台支持矩阵,了解您的目标平台支持哪些后端。
- 了解如何使用性能分析器和模型分析器来优化性能
- 了解如何在 Triton 中管理加载和卸载模型
- 通过 HTTP/REST JSON 或 gRPC 协议直接向 Triton 发送请求
客户端支持和示例
Triton 客户端 应用程序将推理请求和其他请求发送到 Triton。Python 和 C++ 客户端库提供了简化这种通信的 API。
扩展 Triton
Triton 推理服务器的架构专为模块化和灵活性而设计
- 根据您的使用场景自定义 Triton 推理服务器容器
- 创建自定义后端,可以使用C/C++或Python
- 创建解耦后端和模型,它们可以为一个请求发送多个响应或不发送任何响应
- 使用Triton 仓库代理添加功能,这些功能在加载和卸载模型时操作,例如身份验证、解密或转换
- 在 Jetson 和 JetPack 上部署 Triton
- 在 AWS Inferentia 上使用 Triton
其他文档
贡献
我们非常欢迎您对 Triton 推理服务器的贡献。要贡献,请查看贡献指南。如果您有一个不修改 Triton 核心的后端、客户端、示例或类似贡献,则应在贡献仓库中提交 PR。
报告问题、提出问题
我们非常感谢您对该项目的任何反馈、问题或错误报告。在 GitHub 上发布问题时,请遵循Stack Overflow 文档中概述的流程。确保发布的示例是:
- 最小化的——使用尽可能少的代码来重现相同的问题
- 完整的——提供重现问题所需的所有部分。检查是否可以删除外部依赖项并仍然显示问题。我们花在重现问题上的时间越少,修复问题的时间就越多
- 可验证的——测试您将提供的代码以确保它能重现问题。删除与您的请求/问题无关的所有其他问题。
对于问题,请使用提供的错误报告和功能请求模板。
对于问题,我们建议在我们的社区GitHub 讨论中发布。
获取更多信息
请参考NVIDIA 开发者 Triton 页面以获取更多信息。