Amazon RL を使用した SageMaker RL ワークフローの例 - Amazon SageMaker

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

Amazon RL を使用した SageMaker RL ワークフローの例

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

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

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

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

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

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

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

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

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

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

  5. RL モデルのトレーニング — Amazon Python RLEstimatorの を使用して SageMaker RL トレーニングジョブを開始します。 SageMaker SDKローカルモードを使用している場合は、ノートブックインスタンスでトレーニングジョブが実行されます。トレーニング SageMaker に を使用する場合は、 GPUまたは CPUインスタンスを選択できます。トレーニングジョブからの出力は、ローカルモードでトレーニングする場合はローカルディレクトリに、 SageMaker トレーニングを使用する場合は Amazon S3 に保存します。

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

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

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

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

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

    5. ログでキャプチャするメトリクス定義。これらは、 CloudWatch および SageMaker ノートブックでも視覚化できます。

  6. トレーニングメトリクスと出力の視覚化 — RL モデルを使用するトレーニングジョブが完了すると、 のトレーニングジョブで定義したメトリクスを表示できます CloudWatch。Amazon SageMaker Python SDK 分析ライブラリを使用して、ノートブックにメトリクスをプロットすることもできます。メトリクスの可視化は、報酬で測定されたモデルのパフォーマンスが継続して向上する仕組みの理解を助けます。

    注記

    ローカルモードでトレーニングする場合、 でメトリクスを視覚化することはできません CloudWatch。

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

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

での RL の詳細については SageMaker、 SageMaker 「Python での RL の使用SDK」を参照してください。