翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
ステップ 4. パイプラインの作成
パイプラインを論理的に定義したら、パイプラインをサポートするインフラストラクチャを作成します。このステップには、少なくとも以下の機能が必要です。
-
コード、モデルアーティファクト、トレーニングや推論の実行に使用されるデータなど、パイプラインの入出力をホストし、管理するためのストレージ。
-
モデリング、推論、およびデータの前処理と後処理を行うコンピューティング (GPU または CPU)。
-
使用中のリソースを管理し、定期的な実行をスケジュールするオーケストレーション。たとえば、新しいデータが利用可能になったら、モデルを定期的に再トレーニングできます。
-
パイプラインモデルの精度、リソースの利用状況、トラブルシューティングをモニタリングするためのログとアラート。
AWS CloudFormation による実装
パイプラインの作成には、コードとしてインフラストラクチャをデプロイし管理する AWS サービスである AWS CloudFormation を使用しました。AWS CloudFormation テンプレートには、前のステップで Step Functions SDK を使って作成した Step Functions 定義が含まれています。このステップには、Step Functions ステートマシンと呼ばれる 管理の Step Functions インスタンスの作成が含まれます。トレーニングジョブと推論ジョブは、必要なときにのみ SageMaker AI ジョブとしてオンデマンドで実行されるため、この段階ではトレーニングと推論のためのリソースは作成されません。このステップには、Step Functions を実行したり、SageMaker AI を実行したり、Amazon S3 から読み書きしたりするための AWS Identity and Access Management (IAM) ロールの作成も含まれます。
Step Functions SDK からの出力の変更
前のセクションの CloudFormation 出力に若干の変更を加える必要がありました。単純な Python 文字列マッチングを使用して次のことを行いました。
-
CloudFormation テンプレートの
Parametersセクションを作成するロジックを追加しました。これは、2 つのロールを作成し、デプロイ環境とともにパイプライン名をパラメータとして定義したいからです。このステップでは、ステップ 6 で説明したように、追加で作成するリソースやロールについても説明します。 -
デプロイプロセスの一環として動的に更新できるように、3 つのフィールドを必要な
!Subプレフィックスと引用符で再フォーマットしました。-
ステートマシンに名前を付ける
StateMachineNameプロパティ。 -
ステートマシンを定義する
DefinitionStringプロパティ。 -
ステートマシンによって返される
RoleArnプロパティ。
-