

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

# Amazon SageMaker AI RL を使用したサンプル RL ワークフロー
<a name="sagemaker-rl-workflow"></a>

次の例では、Amazon SageMaker AI RL を使用して RL モデルを開発するためのステップについて説明します。

1. **RL の問題の策定** - 最初に、ビジネスの問題から RL の問題を策定します。たとえば、Auto Scaling を使用することで、定義した条件に応じて、サービスで動的に容量を増減できます。現在、これを行うには、アラーム、スケーリングポリシー、しきい値を設定する必要があるとともに、その他の手動のステップが必要です。これを RL で解決するために、マルコフ決定プロセスのコンポーネントを定義します。

   1. **目的** - インスタンスの容量をスケーリングして、希望するロードプロファイルと一致するようにします。

   1. **環境** - ロードプロファイルを含むカスタム環境。日単位および週単位のバリエーションと、たまに生じる負荷の急増でシミュレートされた負荷を生成します。シミュレートされたシステムでは、新しいリソースがリクエストされてから、リクエストに応えてリソースが使用できるようになるまでの間に時間差があります。

   1. **状態** - 現在のロード、失敗したジョブの数、アクティブなマシンの数。

   1. **アクション** - 同じ数のインスタンスの削除、追加、または維持。

   1. **報酬** - 成功したトランザクションに対する正の報酬と、指定したしきい値を超えて失敗したトランザクションに対する大きなペナルティ。

1. **RL 環境の定義** - RL 環境は、RL エージェントが相互作用する実際の環境または実際の環境のシミュレーションとなります。Gym インターフェイスと、MATLAB や Simulink などの商用シミュレーションを使用して開発されたオープンソースとカスタム環境を接続できます。

1. **プリセットの定義** - プリセットは、RL トレーニングジョブを設定し、RL アルゴリズムのハイパーパラメータを定義します。

1. **トレーニングコードの記述** - トレーニングコードを Python スクリプトとして記述し、そのスクリプトを 1 つの SageMaker AI トレーニングジョブに渡します。トレーニングコードでは、環境ファイルとプリセットファイルをインポートし、`main()` 関数を定義します。

1. **RL モデルのトレーニング** - RL トレーニングジョブを開始するには、[Amazon SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable) の SageMaker AI `RLEstimator` を使用します。ローカルモードを使用している場合は、ノートブックインスタンスでトレーニングジョブが実行されます。トレーニング用に SageMaker AI を使用する場合、GPU インスタンスまたは CPU インスタンスを選択できます。ローカルモードまたは Amazon S3 でトレーニングを行う場合、または SageMaker AI トレーニングを利用する場合は、ローカルディレクトリにトレーニングジョブの出力を保存します。

   `RLEstimator` では、パラメータとして次の情報が必要です。

   1. 環境、プリセット、およびトレーニングコードがアップロードされるソースディレクトリ。

   1. トレーニングスクリプトへのパス。

   1. 使用する RL ツールキットとディープラーニングフレームワーク。これは、自動的に RL コンテナの Amazon ECR パスに解決されます。

   1. 出力用のトレーニングパラメータ (インスタンス数など)、ジョブ名、および S3 パス。

   1. ログでキャプチャするメトリクス定義。これらは、SageMaker AI ノートブックと CloudWatch ノートブックでも表示できます。

1. **トレーニングメトリクスと出力の可視化** - RL モデルを使用するトレーニングジョブが完了すると、定義したメトリクスが CloudWatch のトレーニングジョブで表示されます。また、[Amazon SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable) 分析ライブラリを使用することで、ノートブックのメトリクスをプロットできます。メトリクスの可視化は、報酬で測定されたモデルのパフォーマンスが継続して向上する仕組みの理解を助けます。
**注記**  
ローカルモードでトレーニングする場合、CloudWatch でメトリクスを可視化できません。

1. **モデルの評価** - 以前トレーニングしたモデルのチェックポイントデータをチェックポイントチャネルで評価および推論用に渡すことができます。ローカルモードで、ローカルディレクトリを使用します。SageMaker AI トレーニングモードでは、最初に S3 にデータをアップロードする必要があります。

1. **RL モデルをデプロイ**する — 最後に、 を使用して、SageMaker AI コンテナまたはエッジデバイスでホストされているエンドポイントにトレーニング済みモデルをデプロイします AWS IoT Greengrass。

SageMaker AI での RL の使用の詳細については、「[Using RL with the SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable/using_rl.html)」を参照してください。