Amazon SageMaker AI Studio Lab で時系列に DeepAR を使用してコールドスタート予測モデルを構築する - AWS 規範ガイダンス

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

Amazon SageMaker AI Studio Lab で時系列に DeepAR を使用してコールドスタート予測モデルを構築する

Ivan Cui、Eyal Shacham (Amazon Web Services)

概要

ウェブトラフィックにより効率的にリソースを割り当てる場合でも、スタッフのニーズに対する患者の需要を予測する場合でも、会社の製品の売上を予測する場合でも、予測は不可欠なツールです。コールドスタート予測は、小売市場に入ったばかりの新製品など、履歴データが少ない時系列の予測を構築します。このパターンでは、Amazon SageMaker AI DeepAR 予測アルゴリズムを使用してコールドスタート予測モデルをトレーニングし、コールドスタート項目に対して予測を実行する方法を示します。

DeepAR は、リカレントニューラルネットワーク (RNN) を使用してスカラー (1 次元) 時系列を予測する教師あり学習アルゴリズムです。DeepAR は、関連製品のすべての時系列にわたって単一のモデルを共同でトレーニングするアプローチを採用します。

自己回帰積分移動平均 (ARIMA) や指数平滑法 (ETS) などの従来の時系列予測方法は、個々の製品の過去の時系列に大きく依存します。したがって、これらの方法はコールドスタート予測には効果的ではありません。データセットに何百もの関連する時系列データが含まれている場合、DeepAR は標準の ARIMA や ETS メソッドよりも優れています。トレーニングしたモデルを使用して、トレーニングした時系列と似た新しい時系列の予測を生成することもできます。

前提条件と制限

前提条件

  • アクティブ AWS アカウント。

  • Amazon SageMaker AI ドメイン。

  • Amazon SageMaker AI Studio Lab または Jupiter ラボアプリケーション。

  • 読み取りおよび書き込みのアクセス許可を持つ Amazon Simple Storage Service (Amazon S3) バケット。

  • Python でのプログラミングに関する知識。

  • Jupyter Notebook の使用に関する知識。

制限事項

  • 履歴データポイントなしで予測モデルを呼び出すと、エラーが返されます。最小限の履歴データポイントでモデルを呼び出すと、信頼度の高い不正確な予測が返されます。このパターンは、コールドスタート予測のこれらの既知の制限を解決するためのアプローチを提案します。

  • 一部の AWS のサービス は では使用できません AWS リージョン。すべてのリージョンの可用性については、「リージョン別の AWS サービス」を参照してください。特定のエンドポイントについては、「サービスエンドポイントとクォータ」を参照して、サービスのリンクを選択します。

製品バージョン

  • Python バージョン 3.10 以降。

  • このパターンのノートブックは、Python 3 (Data Science) カーネルを搭載した ml.t3.medium インスタンスを使用して Amazon SageMaker AI Studio でテストされました。

アーキテクチャ

次の図表は、このパターンのアプリケーションのワークフローとアーキテクチャコンポーネントを示しています。

SageMaker と Amazon S3 を使用してコールドスタート予測モデルを構築するワークフロー。

ワークフローは、次のタスクを実行します。

  1. トレーニングデータとテストデータの入力ファイルは合成され、Amazon S3 バケットにアップロードされます。このデータには、カテゴリ特徴量と動的特徴量を含む複数の時系列と、ターゲット値 (予測対象) が含まれます。Jupyter Notebook は、トレーニングデータの要件と予想される予測値をよりよく理解するためにデータを視覚化します。

  2. ハイパーパラメータチューナージョブが、モデルをトレーニングし、事前定義されたメトリクスに基づいて最適なモデルを見つけるために作成されます。

  3. 入力ファイルは、Amazon S3 バケットからハイパーパラメータ調整ジョブの各インスタンスにダウンロードされます。

  4. チューナーの事前定義されたしきい値に基づいてチューナージョブが最適なモデルを選択すると、モデルは SageMaker AI エンドポイントとしてデプロイされます。

  5. その後、デプロイされたモデルを呼び出す準備が整い、そこで予測がテストデータに対して検証されます。

このノートブックは、十分な数の履歴データポイントが利用可能な場合に、モデルがターゲット値をどの程度うまく予測できるかを示しています。ただし、履歴データポイント (コールドプロダクトを表す) が少ないモデルを呼び出すと、モデルの予測は、モデルの信頼レベル内であっても元のテストデータと一致しません。このパターンでは、新しいモデルがコールドプロダクト用に構築され、最初のコンテキストの長さ (予測ポイント) が使用可能な履歴ポイントの量として定義され、新しいモデルが新しいデータポイントが取得されると繰り返しトレーニングされます。ノートブックは、履歴データポイントの量がコンテキストの長さに近い限り、モデルが正確な予測を持つことを示しています。

ツール

AWS のサービス

  • AWS Identity and Access Management (IAM) は、誰が認証され、誰に使用を許可するかを制御することで、 AWS リソースへのアクセスを安全に管理できます。

  • Amazon SageMaker AI はマネージド型の機械学習 (ML) サービスで、ML モデルの構築とトレーニングを行い、それらを本番稼働環境に対応したホスティング環境にデプロイします。

  • Amazon SageMaker AI Studio は、ML モデルの構築、トレーニング、デバッグ、デプロイ、モニタリングを可能にする、ウェブベースの ML 用統合開発環境 (IDE) です。

  • Amazon Simple Storage Service (Amazon S3) は、あらゆる量のデータを保存、保護、取得できるクラウドベースのオブジェクトストレージサービスです。

その他のツール

  • Python」は汎用のコンピュータープログラミング言語です。

コードリポジトリ

このパターンのコードは、GitHub 内の「DeepAR-ColdProduct-Pattern」リポジトリで利用できます。

ベストプラクティス

  • 仮想環境でモデルをトレーニングし、再現性を最大限に高めるために常にバージョン管理を行います。

  • 最高の予測モデルを得るため、高品質のカテゴリ特徴量をできるだけ多く含めます。

  • モデルがコールドスタートプロダクトの予測を適切に推測できるように、メタデータに同様のカテゴリ項目が含まれていることを確認してください。

  • ハイパーパラメータ調整ジョブを実行し、最高の予測モデルを取得します。

  • このパターンでは、構築するモデルのコンテキストの長さは 24 時間です。つまり、今後 24 時間が予測されます。履歴データが 24 時間未満の場合に今後の 24 時間を予測すると、モデルの予測精度は履歴データポイントの量に基づいて直線的に低下します。この問題を軽減するには、この数が目的の予測 (コンテキスト) の長さに達するまで、履歴データポイントのセットごとに新しいモデルを作成します。例えば、2 時間のコンテキスト長モデルから始めて、モデルを 4 時間、8 時間、16 時間、24 時間と徐々に増やします。

エピック

タスク説明必要なスキル

ノートブック環境を起動します。

  1. にサインインし AWS マネジメントコンソール、SageMaker AI Studio ホームページを開きます。次に [Studio を開く] を選択します。

  2. 左上のナビゲーションペインで、[アプリケーション]Studio Classic アイコンを選択します。次に、[アプリケーション] リストの [開く] ボタンを選択します。

詳細については、SageMaker AI ドキュメントの「Launch Amazon SageMaker AI Studio」を参照してください。

データサイエンティスト
タスク説明必要なスキル

モデルトレーニング用の仮想環境を設定します。

モデルトレーニング用に仮想環境を設定するには、次を実行します。

  1. このパターンの GitHub リポジトリからローカルマシンに deepar_synthetic.ipynb ノートブックをダウンロードします。

  2. Amazon SageMaker AI Studio Classic で、Studio Classic メニューバーから [ファイルのアップロード] アイコンを選択し、ダウンロードしたノートブックを選択します。

  3. 左側のナビゲーションペインの [ファイルブラウザ] でノートブックを選択します。プロンプトに従ってノートブック環境を設定します。Data Science 3.0 イメージと Python 3 カーネルを選択します。

詳細については、SageMaker AI ドキュメントの「Upload Files to SageMaker AI Studio Classic」を参照してください。

データサイエンティスト

予測モデルを作成して検証します。

  • ノートブックの指示に従い、トレーニングデータとテストデータを作成し、モデルをトレーニングしてから、モデルを呼び出します。

  • 十分な履歴データポイントが提供されるときのモデルの予測の正確性を確認します。

データサイエンティスト

関連リソース