AWS Inferentia を使用した推論
始める前に
このセクションの環境を準備してください:
~$prepare-environment aiml/inferentia
これにより、お使いのラボ環境に次の変更が加えられます:
- Amazon EKS クラスターに Karpenter をインストールします
- 結果を保存するための S3 バケットを作成します
- Pod が使用する IAM role を作成します
- AWS Neuron デバイスプラグインをインストールします
これらの変更を適用する Terraform はこちらで確認できます。
AWS Trainium と Inferentia は、クラウドコンピューティング環境での AI モデルのトレーニングと推論タスクをそれぞれ高速化および最適化するために、Amazon によって設計されたカスタムビルドの機械学習アクセラレーターです。
AWS Neuron は、開発者が Trainium と Inferentia チップの両 方で機械学習モデルを最適化して実行できるようにするソフトウェア開発キット(SDK)およびランタイムです。Neuron は、これらのカスタム AI アクセラレーターのための統一されたソフトウェアインターフェイスを提供し、開発者が特定のチップアーキテクチャごとにコードを書き直すことなく、そのパフォーマンス上の利点を活用できるようにします。
Neuron デバイスプラグインは、Neuron コアとデバイスを Kubernetes のリソースとして公開します。ワークロードが Neuron コアを必要とする場合、Kubernetes スケジューラはワークロードに適切なノードを割り当てることができます。Karpenter を使用して自動的にノードをプロビジョニングすることもできます。
このラボでは、Inferentia を使用して EKS 上で深層学習推論ワークロードを高速化する方法のチュートリアルを提供します。
このラボでは次のことを行います:
- Inferentia と Trainium EC2 インスタンスをプロビジョニングするための Karpenter node pool を作成します
- Trainium インスタンスを使用して AWS Inferentia 用に ResNet-50 事前トレーニング済みモデルをコンパイルします
- このモデルを後で使用するために S3 バケットにアップロードします
- 以前のモデルを使用して推論を実行する推論 Pod を起動します
始めましょう。