

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用 Triton 推論伺服器搭配 Amazon SageMaker AI 的資源
<a name="triton"></a>

SageMaker AI 可讓客戶使用自訂程式碼搭配 NVIDIA Triton 推論伺服器部署模型。使用下列資源來了解如何使用 Triton 推論伺服器搭配 SageMaker AI。

 此功能可透過 [Triton 推論伺服器容器](https://docs.aws.amazon.com/deep-learning-containers/latest/devguide/what-is-dlc.html)的開發使用。這些容器包括 NVIDIA Triton 推論伺服器、常用 ML 架構的支援，以及可讓您在 SageMaker AI 上最佳化效能的實用環境變數。有關所有可用深度學習容器圖像的清單，請參閱[可用的深度學習容器映像檔](https://github.com/aws/deep-learning-containers/blob/master/available_images.md)。深度學習容器映像檔會獲得維護並定期更新安全性修補程式。

您可以使用 Triton 推論伺服器容器搭配 SageMaker Python SDK，如同您在 SageMaker AI 模型中使用任何其他容器一樣。不過，使用 SageMaker Python SDK 是選擇性的。您可以搭配 AWS CLI 和 使用 Triton 推論伺服器容器 適用於 Python (Boto3) 的 AWS SDK。

如需 NVIDIA Triton 推論伺服器的詳細資訊，請參閱[ Triton 文件](https://docs.nvidia.com/deeplearning/triton-inference-server/#)。

## Inference
<a name="triton-inference"></a>

**注意**  
Triton Python 後端使用共享內存 (SHMEM) 將您的代碼連接到 Triton。SageMaker AI 推論最多可提供一半的執行個體記憶體做為 SHMEM，因此您可以使用具有更多記憶體的執行個體來處理較大的 SHMEM 大小。

如需推論，您可以使用已訓練的 ML 模型搭配 Triton 推論伺服器，透過 SageMaker AI 部署推論任務。

Triton 推論伺服器容器的一些主要功能包括：
+ **支援多種架構**：Triton 可用來部署來自所有主要機器學習 (ML) 架構的模型。Triton 支援 TensorFlow 圖形定義和 SavedMode、ONNX、PyTorch TorchScript、TensorRT 和自訂 Python/C\$1\$1 模型格式。
+ **模型管道**：Triton 模型整體表示具有前/後處理邏輯的一個模型的管道，以及它們之間的輸入和輸出張量的連接。對整體的單一推論要求會觸發整個管道的執行。
+ **並行模型執行**：同一模型的多個執行個體可以在同一 GPU 或多個 GPU 上同時執行。
+ **動態批次處理**：針對支援批次處理的模型，Triton 具有多種內建的排程和批次處理演算法，可將個別推論請求結合在一起，以提高推論輸送量。這些排程和批次處理決策對於用戶端要求的推論來說是透明的。
+ **多樣化的 CPU 和 GPU 支援**：這些模型可以在 CPU 或 GPU 上執行，以獲得最大的靈活性並支援異質運算需求。

## 您想要做什麼？
<a name="triton-do"></a>

我想要在 SageMaker AI 中部署已訓練的 PyTorch 模型。  
如需 Jupyter 筆記本範例，請參閱[使用 Triton 推論伺服器部署您的 PyTorch Resnet50 模型範例](https://github.com/aws/amazon-sagemaker-examples/blob/master/sagemaker-triton/resnet50/triton_resnet50.ipynb)。

我想要在 SageMaker AI 中部署已訓練的 Hugging Face 模型。  
如需 Jupyter 筆記本範例，請參閱[使用 Triton 推論伺服器部署您的 PyTorch BERT 模型範例](https://github.com/aws/amazon-sagemaker-examples/blob/master/sagemaker-triton/nlp_bert/triton_nlp_bert.ipynb)。