Amazon で Triton 推論サーバーを使用する SageMaker - Amazon SageMaker

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon で Triton 推論サーバーを使用する SageMaker

SageMaker では、NVIDIA Triton 推論サーバーでカスタムコードを使用してモデルをデプロイできます。Triton Inference Server コンテナの開発を通してこの機能を利用できます。これらのコンテナには、NVIDIA Triton 推論サーバー、一般的な ML フレームワークのサポート、 でのパフォーマンスを最適化するための便利な環境変数が含まれます SageMaker。使用可能な Deep Learning Containers イメージの完全なリストについては、「使用可能な Deep Learning Containers イメージ」を参照してください。Deep Learning Containers イメージは保守されており、セキュリティパッチで定期的に更新されています。

Triton 推論サーバーコンテナは、 SageMaker モデル内の他のコンテナと同じように SageMaker Python SDK で使用できます。ただし、 SageMaker Python SDK の使用はオプションです。Triton 推論サーバーコンテナは、 AWS CLI および で使用できます AWS SDK for Python (Boto3)。

NVIDIA Triton Inference Server の詳細については、Triton ドキュメントを参照してください。

推論

注記

Triton Python バックエンドは、共有メモリ (SHMEM) を使用してコードを Triton に接続します。 SageMaker 推論はインスタンスメモリの最大半分を SHMEM として提供するため、SHMEM サイズを大きくするためにより多くのメモリを持つインスタンスを使用できます。

推論では、トレーニング済みの ML モデルを Triton Inference Server で使用して、 で推論ジョブをデプロイできます SageMaker。

Triton Inference Server コンテナの主な機能は次のとおりです。

  • 複数フレームワークのサポート: Triton は、すべての主要な機械学習フレームワークからのモデルのデプロイに使用できます。Triton GraphDef は SavedModel、、ONNX、 PyTorch TorchScript、TensorRT、およびカスタム Python/C++ モデル形式をサポートしています TensorFlow 。

  • モデルのパイプライン: Triton のモデルアンサンブルは、事前/事後処理ロジックと、それらの間の入力および出力テンソルの接続を持つ、1 モデルからなるパイプラインを意味します。アンサンブルが 1 件の推論リクエストを受け取ると、パイプライン全体の実行がトリガーされます。

  • モデルの同時実行: 同じモデルの複数のインスタンスを、同じ GPU または複数の GPU で同時に実行できます。

  • 動的バッチ処理: Triton には複数の組み込みスケジューリングアルゴリズムとバッチ処理アルゴリズムがあり、バッチ処理をサポートするモデルでは、個々の推論リクエストをまとめて、推論スループットを向上させます。これらのスケジューリングおよびバッチ処理の決定は、推論をリクエストするクライアントには透過的です。

  • 多様な CPU と GPU のサポート: 柔軟性を最大化し、不均一なコンピューティング要件をサポートするために、モデルは CPU または GPU で実行できるようになっています。

何をしたいですか?

トレーニング済み PyTorch モデルを にデプロイしたい SageMaker。

Jupyter Notebook のサンプルについては、「Deploy your PyTorch Resnet50 model with Triton Inference Server example 」を参照してください。

トレーニング済みの Hugging Face モデルを にデプロイしたい SageMaker。

Jupyter Notebook のサンプルについては、「Triton 推論サーバーを使用した PyTorch BERT モデルのデプロイ」の例を参照してください。