Amazon Web Services ブログ
Amazon Forecast から Amazon SageMaker Canvas への移行方法
本ブログは「Transition your Amazon Forecast usage to Amazon SageMaker Canvas」を翻訳したものです。
Amazon Forecast は、統計および機械学習(ML)アルゴリズムを使用して非常に正確な時系列予測を提供するフルマネージドサービスです。2019年8月にリリースされ、Amazon SageMaker Canvas よりも前に登場しました。Amazon SageMaker Canvasは、時系列予測モデルを含むMLモデルの構築、カスタマイズ、およびデプロイを行うための人気のローコード/ノーコードAWSツールです。
Amazon SageMaker Canvasを使用すると、より迅速なモデル構築、コスト効率の高い予測、モデルリーダーボードやアルゴリズム選択などの高度な機能、そして透明性の向上が得られます。また、コードを書くことなくMLの専門知識がなくてもモデルを構築およびデプロイできるビジュアルインターフェースを提供するSageMaker Canvas UI、またはプログラムから操作するための AutoML API を使用することができます。
この投稿では、Amazon SageMaker Canvasが提供する利点の概要と、Amazon Forecast ユーザーがどのようにして Amazon SageMaker Canvas にユースケースを移行できるかについて詳述します。
Amazon SageMaker Canvasの利点
Amazon Forecastをご利用いただいていたお客様は、より高い透明性、低コスト、迅速なトレーニング、および時系列 ML モデルの構築における強化されたコントロールを求めてきました。このフィードバックに応じて、Amazon SageMaker Canvas は次世代の時系列予測機能を提供しています。Amazon SageMaker Canvas は、データの準備、MLモデルの構築およびデプロイのための堅牢なプラットフォームを既に提供しています。予測機能の追加により、回帰、マルチクラス分類、コンピュータビジョン(CV)、自然言語処理(NLP)、生成AIなどの広範なモデルタイプに対するエンドツーエンドの ML 機能にアクセスできるようになりました。
Amazon SageMaker Canvasは、さまざまなベンチマークデータセットにおいて、Amazon Forecastと比較して時系列モデルの構築パフォーマンスが最大50%高速化され、予測が平均で最大45%迅速化されます。予測の生成は、Amazon SageMaker のコンピュートリソースに基づいてコストが計算されるため、Amazon Forecast よりもはるかにコスト効率が高くなります。Amazon SageMaker Canvas は、トレーニング済みモデルへの直接アクセスを提供し、選択した場所にデプロイできる優れたモデルの透明性を提供します。また、検証データ、モデルおよびアイテムレベルのパフォーマンスメトリクス、トレーニング中に使用されたハイパーパラメータなど、さまざまなモデルインサイトレポートにアクセスできます。
Amazon SageMaker Canvas には、Amazon Forecast で見られる主要な機能が含まれており、統計およびニューラルネットワークアルゴリズムを使用して予測モデルのアンサンブルをトレーニングすることができます。各アルゴリズムのベースモデルを生成し、そのパフォーマンスを評価し、最もパフォーマンスの高いモデルをアンサンブルに組み合わせることで、データセットに最適なモデルを作成します。このアプローチは、さまざまなモデルの強みを活用して、より正確で堅牢な予測を生成します。モデル作成のために 1 つまたは複数のアルゴリズムを選択し、予測精度に対するモデル機能の影響を評価する機能もあります。Amazon SageMaker Canvas は、欠損値の補完などの自動化ソリューションを提供し、データ準備を簡素化します。また、国別の祝日などの外部情報を簡単なUIオプションやAPI設定を通じて統合するアウトオブザボックスの統合も可能です。さらに、データフロー機能を活用して、外部データプロバイダーの API と接続し、気象情報などのデータをインポートすることもできます。加えて、SageMaker Canvas UI 上で What-If 分析を実施し、さまざまなシナリオが結果にどのように影響するかを探索することができます。
私たちは、SageMaker Canvasを通じて、レイテンシの低減、トレーニングおよび予測コストの削減、精度の向上など、最先端で業界をリードする予測機能を提供し続けます。これには、サポートする予測アルゴリズムの範囲を拡大し、モデル構築および予測体験をさらに向上させる新しい高度なアルゴリズムを組み込むことが含まれます。
Amazon Forecast から Amazon SageMaker Canvasへの移行
Amazon Forecast から Amazon SageMaker Canvas への移行を支援するための2つのリソースを含む移行パッケージをリリースします。最初のコンポーネントには、Amazon SageMaker Canvas UI および API を使用してAmazon Forecast から Amazon SageMaker Canvas への移行方法を学ぶためのハンズオンワークショップが含まれています。また、既存の Amazon Forecast トレーニングデータセットをAmazon SageMaker Canvas 形式に変換する方法を示す Jupyter ノートブックも提供します。
Amazon Forecastの入力データセットを使用して Amazon SageMaker Canvas で予測モデルを構築する方法を学ぶ前に、Amazon Forecast とAmazon SageMaker Canvas のいくつかの重要な違いを理解しましょう:
- データセットの種類: Amazon Forecastは、ターゲット時系列、関連時系列(オプション)、およびアイテムメタデータ(オプション)など複数のデータセットを使用します。これに対して、Amazon SageMaker Canvasは1つのデータセットのみを必要とし、複数のデータセットを管理する必要がありません。
- モデルの呼び出し:Amazon SageMaker Canvas では、UI および API を使用して、単一のデータセットまたはバッチのデータセットに対してモデルを呼び出すことができます。Amazon Forecastとは異なり、まず予測を作成してからそれをクエリする必要はなく、UI または API を使用してモデルがデプロイされているエンドポイントを直接呼び出して予測を生成します。SageMaker Canvas UIでは、モデルを SageMaker のリアルタイムエンドポイントにデプロイするオプションも提供しています。数回のクリックで、アプリケーション内から呼び出すことができるHTTPSエンドポイントを受け取ることができます。
以下のセクションでは、データの変換、モデルの構築、およびSageMaker Canvasを使用してモデルをデプロイするための高レベルの手順について説明します。
SageMaker Canvas UIを使用したモデルの構築とデプロイ
データソースを再編成して、Amazon SageMaker Canvas で使用する単一のデータセットを直接作成することをお勧めします。Amazon SageMaker Canvas で予測モデルを構築するための入力データセットの構造については、「Amazon SageMaker Canvasでの時系列予測」を参照してください。ただし、Amazon Forecast で使用している複数のデータセットを引き続き使用したい場合は、以下のオプションを使用して、それらをAmazon SageMaker Canvas がサポートする単一のデータセットにマージすることができます:
- SageMaker Canvas UI: SageMaker Canvas UIを使用して、ターゲット時系列、関連時系列、およびアイテムメタデータのデータセットを1つのデータセットに結合します。以下のスクリーンショットは、SageMaker Canvas で3つのデータセットを1つの SageMaker Canvas データセットにマージするために作成されたデータフローの例を示しています。
(訳者追記:上記の SageMaker Canvas UI では、Amazon SageMaker Canvas に統合された Amazon SageMaker Data Wrangler を利用します。
Amazon SageMaker Data Wrangler はコーディングなしでデータの前処理、特徴量エンジニアリングを簡素化できるほか、探索的データ分析(EDA)を行えるサービスです。上図のとおり、日本語を含む自然言語でのデータ分析・加工も可能なサービスとなっています。)
- Pythonスクリプト:Pythonスクリプトを使用してデータセットをマージします。複数のForecastデータセットをSageMaker Canvas用の1つのデータセットに変換するためのサンプルコードとハンズオン体験については、こちらのワークショップを参照してください。
データセットが準備できたら、SageMaker コンソール上の SageMaker Canvas UI を使用してデータセットをSageMaker Canvas アプリケーションにロードします。Amazon SageMaker Canvas は AutoML を使用してモデルをトレーニング、構築、およびデプロイし、推論を行います。ワークショップでは、データセットのマージ方法と予測モデルの構築方法を示しています。
モデルが構築された後、予測を生成および利用する方法は複数存在します。
- アプリ内での予測の実行 – SageMaker Canvas UI を使用して予測を生成し、組み込みの統合機能を使用して Amazon QuickSight にエクスポートするか、予測ファイルをローカルデスクトップにダウンロードできます。また、モデルアーティファクト、データセット、およびその他のアプリケーションデータをAmazon SageMaker Canvas が保存するように設定した Amazon Simple Storage Service(Amazon S3)から、Amazon SageMaker Canvas で生成した予測結果にアクセスすることもできます。Amazon SageMaker Canvas が使用する Amazon S3 については、「Amazon S3 ストレージの設定」を参照してください。
- モデルを SageMaker エンドポイントにデプロイ – SageMaker Canvas UI から直接モデルを SageMaker リアルタイムエンドポイントにデプロイできます。これらのエンドポイントは、開発者がアプリケーション内で数行のコードを使用してクエリできます。既存のアプリケーションのコードを更新して、デプロイされたモデルを呼び出すことができます。詳細については、ワークショップを参照してください。
SageMaker Canvas(Autopilot)APIを使用したモデルの構築とデプロイ
GitHub リポジトリのノートブックに提供されているサンプルコードを使用して、ターゲット時系列データ、関連時系列データ、およびアイテムメタデータを含むデータセットを SageMaker Canvas API で必要とされる単一のデータセットに処理します。
次に、SageMaker AutoML APIを使用して時系列予測を行い、データを処理し、MLモデルをトレーニングし、プログラム的にモデルをデプロイします。時系列モデルをトレーニングし、モデルを使用して予測を生成する方法の詳細な実装については、GitHubリポジトリのサンプルノートブックを参照してください。
(訳者追記:訳者が作成した GitHub リポジトリのサンプルノートブックは、Amazon SageMaker Python SDK を用いて SageMaker Canvas (Autopilot) API を利用する実装方法を日本語で記載しています。こちらのノートブックもご参照ください。)
ハンズオンについては、こちらのワークショップを参照してください。
結論
この投稿では、Amazon Forecast からの移行手順、Amazon SageMaker Canvas で時系列 ML モデルを構築する手順、およびデータ変換ノートブックとワークショップを通じた具体的なガイダンスを提供しました。移行後は、よりアクセスしやすい UI 、コスト効率の向上、および Amazon SageMaker Canvas の AutoML API の高い透明性の恩恵を受けることができ、組織内での時系列予測を民主化し、モデルのトレーニングとデプロイにかかる時間とリソースを節約できます。
Amazon SageMaker Canvas は SageMaker コンソールからアクセスできます。Canvas を使用した時系列予測は、Amazon SageMaker Canvas が利用可能なすべてのリージョンで利用できます。AWSリージョンの利用可能性の詳細については、「リージョン別AWSサービス」を参照してください。
リソース
詳細については、以下のリソースを参照してください:
- Amazon SageMaker Canvas を使った時系列予測の実現方法については、ワークショップを参照してください。
- SageMaker Canvas UI を使って時系列予測を実現する際の詳細情報については、「Amazon SageMaker Canvasでの時系列予測」を参照してください。
- APIを使用した時系列予測の情報については、「APIを使用した時系列予測のためのAutoMLジョブの作成」を参照してください。
- (訳者追記:訳者が作成した GitHub リポジトリのサンプルノートブックは、Amazon SageMaker Python SDK を用いて SageMaker Canvas (Autopilot) API を利用する実装方法を日本語で記載しています。こちらのノートブックもご参照ください。)
- AutoML APIを使用して時系列モデルをトレーニングし、予測を生成するサンプル実装を示すノートブックについては、「GitHubのAmazon SageMaker Autopilotを使用した時系列予測」を参照してください。
- 予測モデルに気象データを含める方法については、「Amazon SageMaker Canvasを使用して気象データを予測に活用する」を参照してください。
- 予測モデルの精度ドリフトを監視し、ドリフトしきい値に基づいてモデルを自動的に再トレーニングする方法については、「GitHubのAmazon SageMaker Autopilotを使用した自動時系列パフォーマンス監視と再トレーニング」を参照してください。
著者について
Nirmal Kumar は Amazon SageMaker サービスのシニアプロダクトマネージャーです。AI/MLへのアクセスの拡大に取り組み、ノーコードおよびローコードのMLソリューションの開発を指揮しています。仕事以外では、旅行やノンフィクションの読書を楽しんでいます。
Dan Sinnreich は Amazon SageMaker のシニアプロダクトマネージャーで、ノーコード/ローコードサービスの拡大に注力しています。彼は、機械学習とジェネレーティブAIをより身近なものにし、それらを適用して困難な問題を解決することに専念しています。仕事以外では、ホッケー、スキューバダイビング、サイエンスフィクションを読んだりしています。
Davide Gallitelliは、EMEA地域のAI/MLのスペシャリストソリューションアーキテクトです。彼はブリュッセルに拠点を置き、ベネルクス全域の顧客と緊密に連携しています。彼は幼い頃から開発者であり、7歳でコーディングを始めました。大学後期に AI/ML を学び始め、それ以来 AI/ML に夢中になっています。
Biswanath Hore は、アマゾンウェブサービスのソリューションアーキテクトです。AWS 導入の早い段階でお客様と協力し、お客様のビジネスニーズに対応するクラウドソリューションの導入を支援しています。彼は機械学習に情熱を注いでおり、仕事以外では家族と過ごす時間が大好きです。
翻訳はソリューションアーキテクト辻浩季が担当しました。原文はこちらです。