将 Triton Inference Server 与 Amazon SageMaker 结合使用 - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

将 Triton Inference Server 与 Amazon SageMaker 结合使用

SageMaker 使客户能够借助 NVIDIA Triton Inference Server 使用自定义代码部署模型。可通过开发 Triton Inference Server 容器来获得此功能。这些容器包括 NVIDIA Triton Inference Server、对常用机器学习框架的支持以及允许您在 SageMaker 上优化性能的有用环境变量。有关所有可用深度学习容器映像的列表,请参阅可用的深度学习容器映像。深度学习容器映像会得到维护,并定期更新安全补丁。

您可以像在 SageMaker 模型中使用任何其他容器一样,将 Triton Inference Server 容器与 SageMaker Python SDK 结合使用。但是,使用 SageMaker Python SDK 是可选的。您可以将 Triton Inference Server 容器与 Amazon CLI 和 Amazon SDK for Python (Boto3) 结合使用。

有关 NVIDIA Triton Inference Server 的更多信息,请参阅 Triton 文档

推理

注意

Triton Python 后端使用共享内存 (SHMEM) 将您的代码连接到 Triton。SageMaker Inference 提供的实例内存最多只有 SHMEM 的一半,因此您可以使用内存更大的实例来获得更大的 SHMEM 容量。

为了进行推理,您可以将经过训练的机器学习模型与 Triton Inference Server 结合使用,通过 SageMaker 部署推理作业。

Triton Inference Server 容器的一些关键特征包括:

  • 支持多个框架:Triton 可用于部署所有主要机器学习框架中的模型。Triton 支持 TensorFlow GraphDef 和 SavedModel、ONNX、PyTorch TorchScript、TensorRT 和自定义 Python/C++ 模型格式。

  • 模型管道:Triton 模型集合表示一个模型的管道,具有预处理/后处理逻辑和输入输出张量之间的连接。向一个集合提出一个推理请求,就会触发整个管道的执行。

  • 并行模型执行:同一模型的多个实例可以在同一 GPU 或多个 GPU 上同时运行。

  • 动态批处理:对于支持批处理的模型,Triton 有多种内置的计划和批处理算法,这些算法可以将单个推理请求组合在一起以提高推理吞吐量。这些计划和批处理决策对请求推理的客户端是透明的。

  • 支持多种 CPU 和 GPU:这些模型可在 CPU 或 GPU 上执行,以获得极大的灵活性,并支持异构计算要求。

您需要做什么?

我想在 SageMaker 中部署我训练过的 PyTorch 模型。

有关示例 Jupyter 笔记本,请参阅使用 Triton Inference Server 部署 PyTorch Resnet50 模型示例

我想在 SageMaker 中部署我训练过的 Hugging Face 模型。

有关示例 Jupyter 笔记本,请参阅使用 Triton Inference Server 部署 PyTorch BERT 模型示例