Slide 1

Slide 1 text

AWS Glue Data Quality(プレビュー)が 機械学習システムに使えそうか調べてみるぞ︕ 2023/2/12 鈴⽊ 那由太 1

Slide 2

Slide 2 text

名前︓鈴⽊ 那由太(スズキ ナユタ) 所属︓クラスメソッド株式会社 データアナリティクス事業本部 仕事︓データ分析基盤構築 ほか︓2022 APN AWS Top Engineer kaggle Notebooks Master 2 ⾃⼰紹介

Slide 3

Slide 3 text

• 今⽇の発表について • データドリフト • AWS Glueとは︖ • AWS Glue Data Quality(プレビュー)とは︖ • AWS Glue Data Qualityに登場する概念や使い⽅についてご紹介 • 機械学習システムでこんな感じに使えそう • まとめ 3 もくじ

Slide 4

Slide 4 text

4 今⽇の発表について • AWS Glue Data Quality(ないしDeequ)にて利⽤できる、機械学習で活⽤する データ品質のチェック機能について確認する。 • AWS Glue Data Qualityの利⽤イメージを掴む。 • AWS Glue Data Qualityを使った機械学習システムでの品質管理の構成について検 討・考察する。

Slide 5

Slide 5 text

5 σʔλυϦϑτʹ͍ͭͯ ※『"NB[PO4BHF.BLFS .PEFM.POJUPSΛ׆༻ͨ͠σʔλυϦϑτݕ஌ͷղઆʱΑΓʹൈਮ https://aws.amazon.com/jp/blogs/news/detect-data-drift-with-amazon-sagemaker-model-monitor/ データドリフト︓ਪ࿦࣌ͷೖྗσʔλ΍ग़ྗ݁Ռ͕ɺֶश࣌ͷڐ༰ൣғΛ௒͑ͯมԽ͢Δ͜ͱ。 (今回の発表では※の定義に準ずる)

Slide 6

Slide 6 text

6 AWS Glueとは︖ AWS の提供するサーバーレスなデータ統合サービス。 データ分析・機械学習・アプリケーション開発⽤に、複数のデータソースからデータを検出・準備・移動・ 統合することを⽬的とする。 機械学習システムの場合、データの前処理などに使うことができる。 「 ETLジョブ(Sparkジョブ・Pythonシェルジョブ)」「データカタログ(データベース・テーブル)」 「クローラー」「Glue Studio」など様々な機能を提供している。 イベント駆動型ETLより引⽤ https://aws.amazon.com/jp/glue/

Slide 7

Slide 7 text

7 AWS Glue Data Quality(プレビュー)とは︖ データ品質管理とモニタリングより引⽤ https://aws.amazon.com/jp/glue/ AWS Glueのネイティブなデータ品質の管理機能。AWSの開発したOSSであるDeequによるデータ品質チェック を、 AWS Glueのサーバレスかつマネージドな環境上で⾮常に簡単に実⾏できる。 データを取り込んだ後の品質チェック(リアクティブ)だけでなく、データを取り込む際の品質チェック(プ ロアクティブ)に対応しているのが特に良いところ。AWS Python SDKから利⽤することも可能。

Slide 8

Slide 8 text

8 Deequについて ※ DeequのGitHubレポジトリより2023/2/5に抜粋 https://github.com/awslabs/deequ Sparkをエンジンとして⼤規模なデータに対してデータ品質のチェックが実⾏できる。 後ほど紹介する『"NB[PO4BHF.BLFS .PEFM.POJUPSΛ׆༻ͨ͠σʔλυϦϑτݕ஌ͷղઆʱͰ͸ σʔλυϦϑτͷνΣοΫʹར༻͢Δྫ͕঺հ͞ΕΔɻ

Slide 9

Slide 9 text

9 Data Quality Definition Language (DQDL) ※Data Quality Definition Language (DQDL)から2023/2/5に引⽤。 https://docs.amazonaws.cn/en_us/glue/latest/dg/dqdl.html ITエンジニア・ビジネス問わず、多くのユーザーが利⽤できるように作成された定義⾔語。 SQLを記述することも可能。 ▼ColumnCorrelationの⽂法例 ▼ルールセットの⽣成結果の例 ←Iris Data Set(https://archive.ics.uci.edu/ml/datasets/iris)より Glue Data Qualityで⽣成したもの

Slide 10

Slide 10 text

10 σʔλυϦϑτݕ஌ ※『"NB[PO4BHF.BLFS .PEFM.POJUPSΛ׆༻ͨ͠σʔλυϦϑτݕ஌ͷղઆʱΑΓʹൈਮ https://aws.amazon.com/jp/blogs/news/detect-data-drift-with-amazon-sagemaker-model-monitor/ この発表時点で、AWS Glue Data Qualityは下記表のうち、Deequで可能な「基本的な統計情報」を計測できる。 ほかのサービスと組み合わせてサンプリングすれば「スケッチ(分位スケッチ)」も可能ではある。

Slide 11

Slide 11 text

11 AWS Glue Data Qualityによるデータ品質チェック ルールセットの ⽣成 ルールセットの修正 (必要なら) データ品質の評 価

Slide 12

Slide 12 text

12 Pythonからの利⽤ Boto3からAWS Glue Data QualityのAPIが利⽤できることはドキュメントから確認できた。 品質チェックはGlueのテーブルを指定して⾏うため、どちらかというとリアクティブ的な⽤途となりそう。 リアクティブな⽤途だと、ステージング⽤のテーブルを⽤意しておき、⼀旦そこで品質チェックを挟むことで に使えそう。 Boto3 Docs 1.26.63 documentationより https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/glue.html •create_data_quality_ruleset() •delete_data_quality_ruleset() •get_data_quality_rule_recommendation_run() •start_data_quality_rule_recommendation_run() •start_data_quality_ruleset_evaluation_run() •など

Slide 13

Slide 13 text

13 機械学習システムでこんな感じに使えそう ※Data Quality Definition Language (DQDL)を2023/2/5時点に参考にしました。 https://docs.aws.amazon.com/glue/latest/dg/data-quality-authorization.html # DQDL rule type 概要 1 ColumnCorrelation 2つの特徴量の間の相関を調べる。 2 Mean ある特徴量の平均を調べる。 3 StandardDeviation ある特徴量の標準偏差を調べる。 4 Sum ある特徴量の和を調べる。 5 IsComplete ある特徴量が全てNULLではないか調べる。 6 DistinctValuesCount ある特徴量のユニークな値の数を調べる。 7 CustomSql ある特徴量について集計⽤のSQLロジックを適⽤できる。 発表時点で18の種類があるが、基本的な統計情報の計算として特に使えそうなルールについて取り上げる。 より詳しくはドキュメントを参考にして頂きたい。

Slide 14

Slide 14 text

14 機械学習システムでこんな感じに使えそう 時系列予測機能 (Amazon Forecast) 推薦機能 (Amazon Personalize) 機械学習機能 (Amazon SageMaker・Batchなど) ΦϒδΣΫτετϨʔδ (Amazon S3) データ品質管理 (AWS Glue) データウェアハウス・機械学習機能 (Amazon Redshift) 学習・推論対象のデータ AWS Cloud 品質チェック

Slide 15

Slide 15 text

15 AWS Glueコンソールからの使⽤例 https://dev.classmethod.jp/articles/aws-glue-data-quality-preview-with-iam-role-from-glue-console/ ⼀番簡単な試し⽅・必要な権限設定について記載しました。

Slide 16

Slide 16 text

16 まとめ • AWS Glue Data Qualityはデータ品質の管理のためのOSSであるDeequをサーバレス かつマネージドな環境で実⾏ができる。 • 「基本的な統計情報」によりデータドリフトの検出に活⽤できる。 • オブジェクトストレージ(Amazon S3)に対して利⽤でき、AWS上で機械学習シ ステムを構築する際に強⼒にデータのチェックが可能になる。