初心者やエキスパート向けの Machine Learning - Amazon Redshift

初心者やエキスパート向けの Machine Learning

Amazon Redshift では、機械学習 (ML) 機能を活用して、ユーザーが初心者であるか ML の専門家であるかにかかわらず、データからインサイトを得ることができます。機械学習は、広範な ML の専門知識や複雑なデータエンジニアリングを必要とすることなく、SQL コマンドを使用して ML モデルを作成、トレーニング、デプロイできる Amazon Redshift の機能です。

以下のセクションでは、Amazon Redshift でデータが持つすべての可能性を引き出すための、機械学習の活用プロセスについて説明します。

Amazon Redshift ML では、1 つの SQL CREATE MODEL コマンドを使用してモデルをトレーニングできます。CREATE MODEL コマンドは、使い慣れた SQL 構造を使用してモデルベースの予測を生成するために Amazon Redshift が使用するモデルを作成します。

Amazon Redshift ML は、機械学習、ツール、言語、アルゴリズム、API の専門知識がない場合に特に役立ちます。Amazon Redshift ML を使用すると、外部の機械学習サービスとの統合に必要な、差別化されていない重労働を実行する必要がありません。Amazon Redshift を使用すると、データのフォーマットと移動および許可コントロールの管理、ならびにカスタム統合やワークフローそしてスクリプトの構築などにかかる時間を節約できます。一般的な機械学習アルゴリズムを簡単に使用して、トレーニングから予測まで頻繁に繰り返す必要があるトレーニングのニーズを簡素化できます。Amazon Redshift は自動的に最適なアルゴリズムを検出し、問題に最適なモデルをチューニングします。Amazon Redshift からデータを移動したり、別のサービスとやり取りして料金を支払ったりすることなく、Amazon Redshift クラスター内から予測を行うことができます。

Amazon Redshift ML は、データアナリストとデータサイエンティストによる機械学習の使用をサポートします。また、知識を持つ機械学習の専門家であれば、指定した側面のみを使用するように、CREATE MODEL ステートメントに指示することもできます。これにより、CREATE MODEL が最適な候補を検索するためや、モデルの精度を向上させるために必要な時間も短縮できます。

CREATE MODEL ステートメントは、トレーニングジョブにパラメータを指定する方法に柔軟性を加えます。この柔軟性により、機械学習の初心者やエキスパートのどちらでも、好みのプリプロセッサ、アルゴリズム、問題の種類、またはハイパーパラメータを選択できるようになります。たとえば、顧客離れに関心のあるユーザーは、顧客離れに適した問題の種類として、バイナリ分類を CREATE MODEL ステートメントに対し指定できます。次に、CREATE MODEL ステートメントは、最適なモデルの検索をバイナリ分類モデルに絞り込みます。ユーザーが問題の種類を選択した場合でも、CREATE MODEL ステートメントで使用できるオプションはたくさんあります。たとえば、CREATE MODEL は最適な前処理変換を検出して適用し、最適なハイパーパラメータの設定を検出します。

Amazon Redshift ML は、Amazon SageMaker AI Autopilot を使用して最適なモデルを自動的に見つけることで、トレーニングを簡単にします。舞台裏では、Amazon SageMaker AI Autopilot が、提供されたデータに基づいて最適な機械学習モデルを自動的にトレーニングし、チューニングします。その後、Amazon SageMaker AI Neo がトレーニングモデルをコンパイルし、Redshift クラスターで予測に使えるようにします。トレーニング済みのモデルを使用して機械学習推論クエリを実行する場合には、クエリで Amazon Redshift の超並列処理の機能が使用可能になります。同時に、このクエリでは機械学習ベースの予測を使用できます。

  • 機械学習の初心者であっても、プリプロセッサ、アルゴリズム、ハイパーパラメータなどの機械学習のさまざまな側面に関する一般的な知識がある場合には、適用する側面を指定しながら CREATE MODEL ステートメントを使用することができます。次に、CREATE MODEL が最適な候補を見つけるために必要な時間を短縮したり、モデルの精度を向上させたりすることができます。また、問題の種類や目的などの追加のドメイン知識を導入することで、予測のビジネス価値を高めることもできます。たとえば、顧客解約シナリオでは、「顧客がアクティブではない」という結果がまれである場合、精度目標よりも F1 目標が優先されることがよくあります。高精度モデルでは、常に「顧客がアクティブ」であると予測される可能性があるため、精度は高くなりますが、ビジネス価値はほとんどありません。F1 目標の詳細については、「Amazon SageMaker AI API リファレンス」の「AutoMLJobObjective」を参照してください。

    CREATE MODEL ステートメントの基本オプションの詳細については、「単純な CREATE MODEL」を参照してください。

  • 機械学習の上級者として、特定の (すべてではない) 特徴による問題の種類とプリプロセッサを指定できます。この場合 CREATE MODELは、指定された側面に関し与えられた提案に従います。同時に CREATE MODEL では、その他の特徴の処理に最適なプリプロセッサや、最適なハイパーパラメータの検出も継続して実行します。トレーニングパイプラインの 1 つ以上の側面を制限するための詳細方法については、「ユーザーガイダンス付きの CREATE MODEL」を参照してください。

  • 機械学習のエキスパートとして、トレーニングとハイパーパラメータのチューニングを完全に制御できます。この場合ユーザーがすべての選択を行うため、 CREATE MODEL ステートメントでは、最適なプリプロセッサ、アルゴリズム、ハイパーパラメータの検出は試みられません。AUTO OFF で CREATE MODEL ステートメントを使用する方法については、「AUTO OFF 付きの CREATE XGBoost モデル」を参照してください。

  • データエンジニアは、事前にトレーニングされた XGBoost モデルを Amazon SageMaker AI に取り込み、Amazon Redshift にインポートして、ローカル推論に使用できます。Bring Your Own Model (BYOM) では、Amazon Redshift の外部で Amazon SageMaker AI を使用してトレーニングされたモデルを使用し、Amazon Redshift でローカルにデータベース内推論を実行できます。Amazon Redshift 機械学習は、ローカルまたはリモートの推論で BYOM の使用をサポートしています。

    CREATE MODEL ステートメントを使用してローカルまたはリモートの推論を行う方法の詳細については、「独自のモデルを持参 (BYOM) - ローカル推論」を参照してください。

Amazon Redshift ML ユーザーは、次のオプションのいずれかを選択して、モデルをトレーニングおよびデプロイできます。