Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Amazon Redshift ML Introduction

jozono
December 11, 2021

Amazon Redshift ML Introduction

2021.12.11. Redshift MLハンズオン + re:Invent re:Cap Analytics編 での発表資料です。

イベント URL
https://awsbasics.connpass.com/event/230126/

jozono

December 11, 2021
Tweet

More Decks by jozono

Other Decks in Technology

Transcript

  1. © 2021, Amazon Web Services, Inc. or its Affiliates. Junpei

    Ozono Senior Solutions Architect Amazon Web Services Japan G.K. Amazon Redshift ML Introduction
  2. © 2021, Amazon Web Services, Inc. or its Affiliates. 2

    アジェンダ Amazon Redshift と Amaozn Redshift ML Appendix: データ分析と機械学習 (ML) Amazon Redshift ML Deep Dive Redshift ML 事例
  3. © 2021, Amazon Web Services, Inc. or its Affiliates. 4

    Amazon Redshift Amazon Redshift ⾼速で広く使⽤されているクラウドデータウェアハウス
  4. © 2021, Amazon Web Services, Inc. or its Affiliates. 5

    Amazon Redshift SQL Amazon Redshift Query editor ⾼速で広く使⽤されているクラウドデータウェアハウス
  5. © 2021, Amazon Web Services, Inc. or its Affiliates. 6

    Amazon Redshift BI & analytics apps SQL Amazon Redshift Query editor ⾼速で広く使⽤されているクラウドデータウェアハウス
  6. © 2021, Amazon Web Services, Inc. or its Affiliates. 7

    Amazon Redshift Spectrum BI & analytics apps Amazon S3 data lake Keep up to exabytes of data in Amazon S3 SQL Amazon Redshift Query editor ⾼速で広く使⽤されているクラウドデータウェアハウス
  7. © 2021, Amazon Web Services, Inc. or its Affiliates. 8

    Amazon Redshift Federated query Spectrum Operational databases BI & analytics apps Amazon S3 data lake Keep up to exabytes of data in Amazon S3 SQL Amazon Redshift Query editor ⾼速で広く使⽤されているクラウドデータウェアハウス
  8. © 2021, Amazon Web Services, Inc. or its Affiliates. 9

    Amazon Redshift Federated query Spectrum Operational databases BI & analytics apps Amazon S3 data lake Keep up to exabytes of data in Amazon S3 SQL Amazon Redshift AWS Lambda Lambda UDF Query editor ⾼速で広く使⽤されているクラウドデータウェアハウス
  9. © 2021, Amazon Web Services, Inc. or its Affiliates. 10

    Amazon Redshift Federated query Spectrum Operational databases BI & analytics apps Amazon S3 data lake Keep up to exabytes of data in Amazon S3 SQL Amazon Redshift AWS Lambda Lambda UDF AWS services like Amazon EC2, Amazon ECS, Amazon EventBridge, AWS Cloud9, and AWS CLI Data API Query editor ⾼速で広く使⽤されているクラウドデータウェアハウス
  10. © 2021, Amazon Web Services, Inc. or its Affiliates. 11

    Amazon Redshift Federated query Spectrum Operational databases BI & analytics apps Amazon S3 data lake Keep up to exabytes of data in Amazon S3 ML & analytics services SQL Redshift ML Amazon Redshift AWS Lambda Lambda UDF AWS services like Amazon EC2, Amazon ECS, Amazon EventBridge, AWS Cloud9, and AWS CLI Data API Query editor ⾼速で広く使⽤されているクラウドデータウェアハウス
  11. © 2021, Amazon Web Services, Inc. or its Affiliates. 12

    Amazon Redshift ML SQL 経由で Amazon SageMaker と連携し、機械学習モデルの作成・トレーニングが可能に CREATE MODEL demo_ml.customer_churn FROM (SELECT c.age, c.zip, c.monthly_spend, c.monthly_cases, c.active FROM customer_info_table c) TARGET c.active; ユースケース : 製品のリコメンデーション、 不正防⽌、顧客離反の削減など SQL で機械学習モデルの作成、トレーニング、 デプロイ 推論モデルを Amazon Redshift 上にデプロイし SQL ステートメントの⼀部としてユーザー定義 関数を呼び出すように推論を実⾏可能 モデルの前処理、作成、トレーニング、 デプロイを⾃動で実⾏ https://aws.amazon.com/es/about-aws/whats-new/2021/05/aws-announces-general-availability-of-amazon-redshift-ml/ 機械学習アルゴリズムは⾃動選択 または XGBoost, MLP, K-means を指定可能 対応リージョン: 東京, オハイオ, バージニア, オレゴン, サンフランシスコ, カナダ, フランクフルト, アイルランド, ロンドン, パリ, ストックホルム, ⾹港, シンガポール, シドニー, サンパウロ
  12. © 2021, Amazon Web Services, Inc. or its Affiliates. 13

    Amazon Redshift ML のしくみ Amazon Redshift CREATE MODEL customer_churn FROM (SELECT c.age, c.zip, c.monthly_spend, c.monthly_cases, c.active AS label FROM customer_info_table c) TARGET label FUNCTION predict_customer_churn Amazon SageMaker Autopilot が実⾏され モデルを返却 SELECT n.id, n.firstName, n.lastName, predict_customer_churn(n.age,c.zip,..) AS activity_prediction FROM new_customers n WHERE n.marital_status = ‘single’ 構築済みモデルを使⽤して推論を実⾏ (処理は Amazon Redshift 内で実⾏) Amazon Redshift シンプルな SQL コマンドでモデ ルを作成, トレーニング, デプロイ SageMaker Autopilot を使⽤した モデルの⾃動選択, 前処理, トレー ニング (アルゴリズム指定も可) トレーニングされたモデルは, Amazon Redshift 上にコンパイル され, 以後ユーザーは SQL を使⽤ して推論を⾏うことが可能
  13. © 2021, Amazon Web Services, Inc. or its Affiliates. 14

    SageMaker モデルのインポート Bring your own model (BYOM) Amazon Redshift CREATE MODEL customer_ltv( integer,integer) RETURNS float4 LOCATION “S3://<bucket” IAM_ROLE ‘…’; Amazon SageMaker SELECT n.id, n.firstName, n.lastName, customer_ltv(n.age,c.zip) AS activity_prediction FROM new_customers n WHERE n.marital_status = ‘single’ 構築済みモデルを使⽤して推論を実⾏ (処理は Amazon Redshift 内で実⾏) Amazon Redshift SageMaker 側でモデルの作成、 トレーニングを実施し、Redshift にインポート トレーニングされたモデルは, Amazon Redshift 上にコンパイル され, 以後ユーザーは SQL を使⽤ して推論を⾏うことが可能 対応アルゴリズムは XGBoost, MLP
  14. © 2021, Amazon Web Services, Inc. or its Affiliates. 15

    SageMaker モデルのリモート呼び出し Bring your own model (BYOM) Amazon Redshift CREATE MODEL customer_ltv( integer,integer) RETURNS float4 SAGEMAKER ‘…’ IAM_ROLE ‘…’; Amazon SageMaker 構築済みモデルを使⽤して推論を実⾏ (処理は Amazon SageMaker 側で実⾏) SageMaker 側でモデルの作成、 トレーニングを実施し、Redshift からエンドポイント呼び出し 推論処理は SageMaker 側で実⾏ される。SageMaker の機能を フルに活⽤することが可能 SELECT n.id, n.firstName, n.lastName, customer_ltv(n.age,c.zip) AS activity_prediction FROM new_customers n WHERE n.marital_status = ‘single’ Amazon Redshift Amazon SageMaker
  15. © 2021, Amazon Web Services, Inc. or its Affiliates. 19

    あらゆるユーザーが データ分析を⾏う時代へ データエンジニア/データベース開発者 データアナリスト データサイエンティスト システム管理者 BI プロフェッショナル SQL
  16. © 2021, Amazon Web Services, Inc. or its Affiliates. 機械学習

    (ML) のニーズ 多くのユーザーは、過去データの分析に加えて未来の予測分析を⾏いたい 顧客体験の変⾰ ビジネスオペレーション の改善 より最善で迅速な 意思決定 製品やサービスの⾰新 そのために ML のテクノロジーを活⽤したい
  17. © 2021, Amazon Web Services, Inc. or its Affiliates. ML

    へのチャレンジ データ分析から機械学習へのステップの間には壁がある場合が多い データの蓄積 データレイク 過去・現在の可視化 ダッシュボード(データを⾒られる形に) 視点を変えて過去のデータを分析 BI等 予測(未来)・判断の⾃動化 仮説のモデリング・機械学習
  18. © 2021, Amazon Web Services, Inc. or its Affiliates. 22

    ML ワークフローは複雑で反復的 トレーニン グデータの 収集と準備 ML アルゴ リズムの選 択またはビ ルド トレーニン グ⽤の環境 セットアッ プと管理 モデルのト レーニング, デバッグ, チューニン グ 本番環境へ のモデルデ プロイ トレーニン グの実⾏を 管理 モデルの 監視 予測結果の 検証 本番環境の スケーリン グと管理 ビルド 準備 トレーニング & チューニング デプロイ & 管理
  19. © 2021, Amazon Web Services, Inc. or its Affiliates. ML

    に必要なスキルとのギャップ ML に必要なスキルは SQL 中⼼のデータ分析とは異なる しかし, 分析にかかわる多くのユーザーは SQL 習熟度 > ML 概念やアルゴリズムの習熟度 SQL 習熟度 > Python 習熟度 SQL 習熟度 > R 習熟度 SQL 習熟度 > Java 習熟度 ... ...
  20. © 2021, Amazon Web Services, Inc. or its Affiliates. 24

    SQL, ML それぞれのユースケース例 顧客の属性別 の購買分析 発⽣事象の原因把握 全体売上の可視化 製品レコメンデーション 価格/売上の予測 顧客の離反検知 SQL ML
  21. © 2021, Amazon Web Services, Inc. or its Affiliates. 25

    ユーザーからの ML に対するさまざまな声 データアナリスト データベース開発者 BI プロフェッショナル データサイエンティスト 複雑な ML の知識やツールの 使い⽅を習得することなく SQL で ML モデルのトレーニ ングや予測を⾏いたい ダッシュボードやレポートで 使⽤する SQL クエリで ML ベースの予測も⾏いたい SQL プラットフォームから データを移動させることなく ML モデルトレーニングと 予測を⾏いたい
  22. © 2021, Amazon Web Services, Inc. or its Affiliates. 26

    Our mission at AWS 機械学習の⼒をすべてのユーザーへ
  23. © 2021, Amazon Web Services, Inc. or its Affiliates. 27

    Amazon Redshift ML https://docs.aws.amazon.com/redshift/latest/dg/machine_learning.html 対応リージョン: 東京, オハイオ, バージニア, オレゴン, サンフランシスコ, カナダ, フランクフルト, アイルランド, ロンドン, パリ, ストックホルム, ⾹港, シンガポール, シドニー, サンパウロ 2021/05 G A
  24. © 2021, Amazon Web Services, Inc. or its Affiliates. 29

    ML: 教師あり学習の基本フロー トレーニング 推論 データソース 既存データ (学習データ) 前処理 新規データ デバッグ, チューニング モデル作成 モデル モデル評価 モデル 推論実⾏
  25. © 2021, Amazon Web Services, Inc. or its Affiliates. 30

    ML モデルの作成とトレーニング トレーニングデータをテーブル名また は SELECT クエリとして指定 TARGET として実際に予測したい列を 指定 FUNCTION にはあとで推論を⾏う際に 使⽤されるための予測関数名を指定 AUTO ON (デフォルト) とすると、 SageMaker Autopilot によって 選択されたモデルが使⽤される CREATE MODEL customer_churn FROM (SELECT c.age as feat_1, c.zip AS feat_2, c.monthly_spend AS feat_3, c.monthly_cases AS feat_4, c.active AS label FROM customer_info_table c) TARGET label FUNCTION predict_customer_churn AUTO ON
  26. © 2021, Amazon Web Services, Inc. or its Affiliates. 31

    Amazon SageMaker Autopilot • データクリーニングと前処理の⾃動化 • 線形回帰、⼆値分類、多値分類から⾃動でアルゴリズム選択 • アルゴリズムサポート: XGBoost, MLP, Linear Learner • ハイパーパラメータチューニングの⾃動化 • インスタンス、クラスタサイズの⾃動選択 Amazon SageMaker Model + Python Code Data https://aws.amazon.com/jp/sagemaker/autopilot/
  27. © 2021, Amazon Web Services, Inc. or its Affiliates. 32

    Problem Type と Objective を指定した ML モデルの作成と トレーニング PROBLEM_TYPE は以下の何れかを指定 REGRESSION BINARY_CLASSIFICATION MULTICLASS_CLASSIFICATION OBJECTIVE には ML の予測精度を測定 するために使⽤される以下の何れかの メトリクスの名前を指定 'MSE’ 'Accuracy’ 'F1’ 'F1Macro’ 'AUC' CREATE MODEL customer_churn FROM (SELECT c.age as feat_1, c.zip AS feat_2, c.monthly_spend AS feat_3, c.monthly_cases AS feat_4, c.active AS label FROM customer_info_table c) TARGET label FUNCTION predict_customer_churn AUTO ON PROBLEM_TYPE BINARY_CLASSIFICATION OBJECTIVE 'F1'
  28. © 2021, Amazon Web Services, Inc. or its Affiliates. 33

    Problem Types (アルゴリズムの種類) • Classification (分類) • 分類の⽬的: インプットデータを予め定義した 2 つ以上のラベルに分けること • 分類のユースケースの例: 不正検出(トランザクションに関する情報を取得し、 それが不正であるかどうかを判断する) • ⼆値分類、多値分類など • Regression (回帰) • 回帰の⽬的: インプットデータをもとに数値を出⼒すること • 回帰のユースケースの例: 住宅販売価格を予測する • 線形回帰、ロジスティック回帰など
  29. © 2021, Amazon Web Services, Inc. or its Affiliates. 34

    代表的な ML ユースケースと Problem Types ML ユースケース Problem type 顧客離反分析 Binary classification (⼆値分類) 営業予測 Multiclass classification (多値分類) 不正検知 Binary classification (⼆値分類) 価格や売上の予測 Regression (回帰) 顧客のライフタイムバリュー (LTV) の予測 Regression (回帰) 顧客のローン債務不履⾏の検知 Binary classification (⼆値分類) 広告の最適化 Multiclass classification (多値分類)
  30. © 2021, Amazon Web Services, Inc. or its Affiliates. 35

    Autopilot Objectives メトリクス 説明 対応する Problem Type MSE 平均⼆乗誤差(予測値と実際の値の差の⼆乗の平 均) デフォルトで回帰に使⽤される Regression (回帰) Accuracy 正しく分類されたアイテムの数と、そうでな かったアイテムの数の⽐率 ⼆値分類、多値分類に使⽤される デフォルトで多値分類に使⽤される Binary classification (⼆値分類) Multiclass classification (多値分類) F1 適合率と再現率の調和平均 デフォルトで⼆値分類に使⽤される Binary classification (⼆値分類) F1_Macro F1 スコアを多値分類に適⽤ Multiclass classification (多値分類) AUC 分類スコアに対するしきい値を変えながら分類 精度を評価 Binary classification (⼆値分類)
  31. © 2021, Amazon Web Services, Inc. or its Affiliates. 36

    Model Type, Objective やその他パラメータを指定した ML モデルの作成とトレーニング CREATE MODEL model_abalone_xgboost_regression FROM (SELECT shell_weight, …….rings FROM abalone_xgb_train) TARGET Rings FUNCTION func_model_abalone_xgboost_regression IAM_ROLE 'arn:aws:iam::963462676454:role/Redshift-ML' AUTO OFF MODEL_TYPE xgboost OBJECTIVE 'reg:squarederror' PREPROCESSORS 'none' HYPERPARAMETERS DEFAULT EXCEPT (NUM_ROUND '100') オプションとして以下を指定可能: Model type: XGBOOST, MLP, K-MEANS Objective: mean squared error (MSE) など Preprocessors や hyperparameters などパラメータの指定も可能
  32. © 2021, Amazon Web Services, Inc. or its Affiliates. 37

    Redshift ML でサポートされるアルゴリズム アルゴリズム 説明 XGBoost 複数の決定⽊からの推定値のアンサンブルにより、 ターゲット変数を予測する教師あり学習アルゴリ ズム MLP 売上の予測、レコメンデーションシステム、コー ルセンターのルーティング、広告の最適化など、 多クラスデータ分類のためのニューラルネット ワークベースの深層学習アルゴリズム K-MEANS クラスタの平均を⽤いて、与えられたクラスタ数 k 個に分類する⾮階層型クラスタリングの教師な し学習アルゴリズム ※ 2021 年 12 ⽉現在
  33. © 2021, Amazon Web Services, Inc. or its Affiliates. 38

    XGBoost Objective (学習⽅法) Type 説明 reg:squarederror ⼆乗損失による回帰 reg:squaredlogerror 対数損失の 2 乗による回帰 reg:logistic 0 から 1 までの連続値に対するロジスティック回帰 reg:pseudohubererror 絶対損失の 2 倍微分可能な代替案である PseudoHuber 損 失による回帰 reg:tweedie ログリンクを使⽤した Tweedie 回帰。 たとえば、保険の 全損失をモデル化する場合などに役⽴つ binary:logistic ⼆値分類 (0 または 1 の離散値) のロジスティック回帰 binary:hinge ⼆値分類のヒンジ損失。 確率を⽣成するのではなく、0 ま たは 1 の予測が⾏われる multi:softmax 多値分類を⾏う。num_class (クラス数) も設定する必要が ある https://xgboost.readthedocs.io/en/latest/parameter.html#learning-task-parameters
  34. © 2021, Amazon Web Services, Inc. or its Affiliates. 39

    ML モデルの確認 SHOW MODEL コマンドにより モデルのステータス詳細を確認 SHOW MODEL ALL で構築済みの すべてのモデルの詳細を確認可能 validation 結果をチェックして モデルの精度を評価 STV_ML_MODEL_INFO システムテーブ ルよりモデルのステータス確認も可能 Key Value Model Name customer_churn Schema Name demo_ml Owner demouser Creation Time "Tue, 24.11.2020 07:02:51" Model State READY validation:f1 0.681240 Estimated Cost 0.990443 TRAINING DATA:, Query "SELECT STATE, AREA_CODE, TOTAL_CHARGE/ACCOUNT_LENGTH AS AVERAGE_DAILY_SPEND, CUST_SERV_CALLS/ACCOUNT_LENGTH AS AVERAGE_DAILY_CASES, CHURN" FROM DEMO_ML.CUSTOMER_ACTIVITY WHERE ACCOUNT_LENGTH > 120 Target Column, Active PARAMETERS:, Model Type auto Problem Type BinaryClassification Objective F1 Function Name predict_customer_churn Function Parameters, "state area_code average_daily_spend average_daily_cases " Function Parameter Types "varchar int4 float8 int4 " IAM Role arn:aws:iam::9999999999:role/RedshiftML s3 Bucket redshiftml Max Runtime 1800 SHOW MODEL customer_churn
  35. © 2021, Amazon Web Services, Inc. or its Affiliates. 40

    ML モデルを使⽤して推論を実⾏ 推論は UDF として利⽤可能 通常の UDF と同じように任意の SQL 構造で推論を実⾏ ワークロード管理機能 (WLM) を活⽤し 推論のために優先的に計算リソースを 割り当てることも可能 推論は, Amazon Redshift の 超並列処理やその他すべての機能を 活⽤して⾼速に実⾏される SELECT customer_id, predict_customer_churn(age, zip, monthly_spend, monthly_cases) FROM customer_info_table;
  36. © 2021, Amazon Web Services, Inc. or its Affiliates. 41

    Amazon Redshift MLを使⽤すると 推論処理に対して追加費⽤なし トレーニング処理のみの料⾦お⽀払い Amazon Redshift ML: コストを最適化 トレーニ ング 10% 推論 90% コスト https://aws.amazon.com/jp/redshift/pricing/ Amazon Redshift の料⾦
  37. © 2021, Amazon Web Services, Inc. or its Affiliates. 42

    ML モデルトレーニングのコスト管理 ML モデル作成クエリの中で, max_cells (トレーニング対象データの⾏数×列数) を指定することが可能 もし query で指定したクエリのデータ セットが max_cells の値を超える場合, Amazon Redshift は与えるトレーニン グデータを⾃動的に削減 max_cells はデフォルトで 100 万セル となっており, $20 未満となる max_runtime をセットすることで 学習時間の上限を設けることが可能 デフォルトは 5,400 秒 (90 分) CREATE MODEL customer_churn FROM query … SETTINGS ( max_cells = 200000) https://aws.amazon.com/jp/redshift/pricing/ Amazon Redshift の料⾦ CREATE MODEL customer_churn FROM query … SETTINGS ( MAX_RUNTIME 3000)
  38. © 2021, Amazon Web Services, Inc. or its Affiliates. 43

    Feature Importance (特徴量の重要度) • トレーニングデータの特徴量が 予測結果にどう寄与したかを算出 • CREATE MODEL によるトレーニング ジョブ実⾏完了後、 EXPLAIN_MODEL を実⾏することでモデルの説明を JSON 形式で確認可能 N ew ! Using model explainability with Amazon Redshift ML https://docs.aws.amazon.com/redshift/latest/dg/clarify.html
  39. © 2021, Amazon Web Services, Inc. or its Affiliates. 44

    参考: Aurora, Athena, Redshift の ML 連携機能の違い DB/Analytics サービス 連携 ML サービス モデル作成 / トレーニング 推論 コスト Amazon Comprehend (Amazon Comprehend の モデルを使⽤) SQL 内で Stored Function を実⾏して Amazon Comprehend を呼び出し 追加費⽤なし (Amazon Comprehend に 対する通常料⾦のみ) Amazon SageMaker (Amazon SageMaker 側に カスタムモデルを準備) UDF を作成し、SQL 内で 実⾏して Amazon SageMaker を呼び出し 追加費⽤なし (Amazon SageMaker に対 する通常料⾦のみ) Amazon SageMaker (Amazon SageMaker 側に カスタムモデルを準備) UDF を作成し、SQL 内で 実⾏して Amazon SageMaker を呼び出し 追加費⽤なし (Amazon SageMaker に対 する通常料⾦のみ) Amazon SageMaker (Autopilot) CREATE MODEL ⽂を実⾏ し Amazon SageMaker (Autopilot) を呼び出しモ デルを作成 SQL 内で UDF を実⾏し Amazon Redshift 内で処理 を実⾏ (Amazon SageMaker のエ ンドポイントを呼び出し、 Amazon SageMaker 側で 処理することも可能) CREATE MODEL 実⾏時の トレーニング対象データの セル数(⾏数×列数)を基に Amazon S3 や Amazon SageMaker の費⽤が発⽣ Amazon Redshift Amazon Athena Amazon Aurora
  40. © 2021, Amazon Web Services, Inc. or its Affiliates. 46

    “当社は予測分析と機械学習を⽤いて、業務と臨床の効率と効果を 改善しています。 Redshift ML を利⽤することで、当社のアナリス トは、最⼩限の労⼒でMLモデルを作成・活⽤し、新薬を適切な治 療条件に分類することができるようになりました。 このプロセス をサポートするために Redshift ML を活⽤することで得られた効率 性は、当社の⽣産性を向上させ、リソースを最適化しました。” Vice President of Clinical Outcomes Analytics and Reporting How Magellan Rx Management used Amazon Redshift ML to predict drug therapeutic conditions https://aws.amazon.com/jp/blogs/big-data/how-magellan-rx-management-used-amazon-redshift-ml-to-predict-drug-therapeutic-conditions/
  41. © 2021, Amazon Web Services, Inc. or its Affiliates. 47

    How Jobcase is using Amazon Redshift ML to recommend job search content at scale https://aws.amazon.com/jp/blogs/big-data/how-jobcase-is-using-amazon-redshift-ml-to-recommend-job-search-content-at-scale/ “Jobcase には、本番環境に Amazon Redshift ML を使⽤して作成した いくつかのモデルがあります。 各モデルは、データパイプラインを必 要とせずに、Redshift データウェアハウスで数⼗億の予測を数分で直 接実⾏します。 Redshift ML を使⽤して、推論コストを増加させるこ となく、いくつかの異なる電⼦メールテンプレートタイプで収益とメ ンバーエンゲージメント率を 5〜10% 向上させるモデルアーキテク チャを進化させました。” Mike Griffin EVP Optimization & Analytics