Slide 1

Slide 1 text

【初級者向け】 Feature Store on Azure 2022年06月25日 55th Microsoft Data Platform Day(Online)

Slide 2

Slide 2 text

@shisyu_gaku /koheiogawa Microsoftでは・・・ • MS Technologyを中心としたアーキテクチャ設計・ソリューション開発 • 具体的なビジネス活用の議論・検証・実装 • エンジニアコミュニティへの技術的な支援 / 高専出身 趣味/マイブーム • 書を書いたり、プログラムを書いたりすること • 何かを設計し、何かを最適化するのが好き • QoLをあげること/非現実体験を味わうこと • サ活/スタバ/インテリア・アート好き 興味分野 • センシング、HCI、AIの社会実装、MLOps、エッジAI推論 • Linux Foundation / Green Software Foundation所属 Kohei Ogawa Microsoft Japan Co., Ltd. Cloud Solution Architect (Data & AI)

Slide 3

Slide 3 text

想定オーディエンス • 機械学習の一連の流れをご存じの方 • MicrosoftのMLOpsについて興味がある方 データ準備 MLモデルの 設計/構築 MLモデルの 学習 MLモデルの 管理/監視 MLモデルの デプロイ 機械学習の一連の流れ

Slide 4

Slide 4 text

Agenda 1. MLOpsの概要(10分) 2. Feature Storeが救うもの(5分) 3. Feature Storeの比較(5分) 4. Feature Store on Azure アーキテクチャ(10分)

Slide 5

Slide 5 text

1. MLOpsの概要

Slide 6

Slide 6 text

Machine Learning Operationsの略 ≒DevOps for ML 機械学習の運用

Slide 7

Slide 7 text

MLOpsのGoal 1. 実験とモデル開発の迅速化 2. 更新されたモデルの本番への 迅速なデプロイ 3. 品質保証(データ・モデル)

Slide 8

Slide 8 text

だれが嬉しいのか? シームレスな ハンドオフが可能 MLモデル

Slide 9

Slide 9 text

機械学習システム “Hidden Technical Debt in Machine Learning Systems,” Google NIPS 2015 Figure 1: Only a small fraction of real-world ML systems is composed of the ML code, as shown by the small green box in the middle. The required surrounding infrastructure is vast and complex. ML Code Configuration Data Collection Data Verification Feature Extraction Machine Resource Management Analysis Tools Process Management Tools Serving Infrastructure Monitoring モデル開発で生じるデータの管理・監視や インフラに関する負荷が重い クラウド×MLOpsのValueの 発揮どころ!

Slide 10

Slide 10 text

MLOps を支える要素 インフラ 環境 記録・監視 学習・推論 自動化 計算リソース ストレージ データベース VM データセット コード 環境定義 モデルレジストリ 実験記録 ログ パイプライン ワークフロー コンテナ

Slide 11

Slide 11 text

機械学習ライフサイクル Validate Model Deploy Model Package Model Monitor Model Train Model モデル再学習 開発と学習 ビジネス課題を 解決する パッケージ化 モデルをどこでも 使用可能にする 挙動の検証 応答性の観点と 規制遵守の観点から デプロイ 予測値の生成に モデルを使用する モニタリング 挙動とビジネス価値 を監視する 陳腐化したモデルを いつ置換/廃止するか 決める

Slide 12

Slide 12 text

データ v v v v v v ⇒ソースデータのバージョン管理と その属性の管理したい(できる)

Slide 13

Slide 13 text

モデル構築 ⇒再現性のあるコードと設定値 その他の依存関係を管理したい (できる)

Slide 14

Slide 14 text

モデルの検証・デプロイ モデルをパッケージ化して どこでも利用可能へ • モデルの性能や推論速度などの検証テスト • 公平性や説明性のレポート生成 • プロダクション環境へデプロイ ⇒モデルの自動デプロイがしたい (できる)

Slide 15

Slide 15 text

特徴量 booking datetime customer_id driver_id Trip_completed 10001 2021-03-17 19:31 1010 5010 True 10002 2021-03-18 19:31 1010 5010 False 10003 2021-03-19 19:31 1010 5010 True 10004 2021-03-20 19:31 1010 5010 False datetime driver_id conv_rate acc_rate avg_daily_trips 2021-03-17 19:31 5010 0.229297 0.685843 861 2021-03-17 20:31 5010 0.781655 0.861280 769 2021-03-17 21:31 5010 0.150333 0.525581 778 2021-03-17 22:31 5010 0.951701 0.228883 570 conv_rate acc_rate avg_daily_trips Trip_completed 0.229297 0.685843 861 True 0.781655 0.861280 769 False 0.150333 0.525581 778 True 0.951701 0.228883 570 False ML Model 入力 出力 特徴量エンジニアリング • カテゴリ変数の変換(label encoding etc…) • 欠損値の変換(平均値、予測値、代表値etc..) • 新たな特徴量の作成 ⇒特徴量の管理がしたい(できる) ⇒ Feature Storeの出番

Slide 16

Slide 16 text

2. Feature Storeが救うもの

Slide 17

Slide 17 text

Feature Storeの概念  データサイエンティストが作成した特徴量を保存・共有する  トレーニングとサービングの両方において一貫したインターフェースを提供する  低待機時間&リアルタイムで提供する オフラインストア オンラインストア ストリーミング Feature Store ML API バッチ推論 学習 特徴量エンジニアリング

Slide 18

Slide 18 text

特徴量がスクリプト上に埋もれて、再利用や活用できるように整理、保存されないため、ト ラッキングやコンプライアンス基準を満たすことが難しい 特徴量エンジニアリングの作業は、重複しており、Data Scientist の時間とCompute リソー スを消費する 特徴量を本番環境に反映させるのは難しい オフライントレーニングとオンライン推論では、通常、異なるサービングパイプラインが必 要であり、一貫して特徴量を生成されることを保証するのはコストがかかり、モデル性能の 劣化を招く 特徴量やデータの質は刻々と変化しており、人の手が介入する必要がある Feature Storeがない状態で抱える問題

Slide 19

Slide 19 text

Feature Storeの構成 共通 特徴レジストリ & 管理 特徴量 モニタリング 再利用性 統一性(重複の防止) 汎用性 特徴量の取り込み & 計算 (バッチ & ストリーミング ソース) 共通プロバイダー • バッチプロバイダー: 高スループット(学習) • オンラインプロバイダー:低レイテンシー (推論) 利用時・方法における特徴量の一貫性 監視性 Feature Storeがある状態で解決する問題

Slide 20

Slide 20 text

©Microsoft Corporation Azure Feature Store 推論 監視 特徴量 エンジニアリング トレーニング/テスト モデル&評価 Feature Store導入時の活用パイプライン

Slide 21

Slide 21 text

Learning Hiring Preferences: The AI Behind LinkedIn Jobs Personalized Recommendations in LinkedIn Learning Helping members connect to opportunity through AI Near real-time features for near real-time personalization LinkedInでの機械学習

Slide 22

Slide 22 text

Feathrの紹介

Slide 23

Slide 23 text

3. Feature Storeの比較

Slide 24

Slide 24 text

Feature Store Open- Source Point-in-time Support Data Source Feature Transformation Feature materialization Performance Feature Type Feathr Yes Point-in-time対応。 様々なタイムスタン プフォーマットをサ ポート。 主要なソースとファイ ル形式(csv, parquet, avro, orc, delta lake) をサポート declarativeフレームワークによるネ イティブな変換のサポート • 行レベル、ウィンドウ集計変換 • オフライン、ストリーミング、 オンライン変換をサポート Python API and configuration files + CLIをサポート • スケールあり。 • 低レベルのSpark 最適化が組み込ま れており、パ フォーマンスが高 い。 テンソル型(for deep learning/ML) + プリミティブ型 Databricks Feature Store No time-travelのみ (point-in-timeは未対 応) オフライン: ・Delta Lake オンライン: ・Azure Database for MySQL ・Azure SQL Database ・Amazon Aurora ・Amazon RDS MySQL etc… ネイティブな変換は未サポート • PySpark notebookによる一般的 なデータ処理のみ。 • PySparkの知識が必要 • オンライン機能変換ができない • Sparkにベンダロックされてい る。 Notebookで手動管理 Sparkの最適化機能 はないが、スケール あり プリミティブ型 Feast Yes • Point-in-timeで、 タイムスタンプ のフォーマット が固定されてい る必要あり • 時系列でない データでもタイ ムスタンプは必 ず必要 主要なソースに対応。 ただ、CSVは未対応。 詳細はここに記載あり。 feast-dev/feast: Feature Store for Machine Learning (github.com) ・Pandas(Pythonライブラリ)を用 いた行レベル変換のみ CLIサポート • シングルノード • インメモリ • スケールしない プリミティブ型 Google Vertex AI Feature Store No time-travelのみ (point-in-timeは未対 応) googleのデータソース のみ。 Not available GCP UI経由のみ BigQueryの性能に依 存 プリミティブ型

Slide 25

Slide 25 text

Feature Store For ML Feature Storeの変遷

Slide 26

Slide 26 text

hogaku/MLOps-OSS-Analytics (github.com)  時系列でPR/Issue/Commit 数などを確認可能なPower BIの インタラクティブレポート 以下の項目からインサイトを得られる • Top 100 Contributors • Traffic • Contributor Commits • Pull Requests • Punch Card • Issues MLOps分野のOSS調査

Slide 27

Slide 27 text

4. Feature Store on Azure アーキテクチャ

Slide 28

Slide 28 text

Feathr • Feathr: LinkedIn’s feature store is now available on Azure | Azure Blog and Updates | Microsoft Azure • Open sourcing Feathr – LinkedIn’s feature store for productive machine learning | LinkedIn Engineering • And checkout the GitHub repo here: https://github.com/linkedin/feathr Feast • Bringing Feature Store to Azure - from Microsoft Azure, Redis, and Feast Community • And checkout the GitHub repo here: https://github.com/feast-dev/feast • Azure/feast-azure: Azure plugins for Feast (FEAture STore) (github.com) Azureと各Feature Storeのサービスとの組み合わせ方

Slide 29

Slide 29 text

Feathr on Azureの全体像例

Slide 30

Slide 30 text

1. 特徴量の作成 作成:AML, ADB 保存:D-SQL, ADLS etc… Feathr on Azure - 特徴量の作成 -

Slide 31

Slide 31 text

2. 特徴量の定義の管理 Purview, Feathr Feathr on Azure - 特徴量の定義の管理 -

Slide 32

Slide 32 text

3. 特徴量の結合 Feathr Python SDK、Synapse、ADBのSparkクラスタ Feathr on Azure - 特徴量の結合 -

Slide 33

Slide 33 text

Feathr on Azure - オンラインストアへの保存 - 4. オンラインストアへの保存 Feathr Online Store, Redis

Slide 34

Slide 34 text

5. モデルのトレーニング&デプロイ AML Feathr on Azure - モデルのトレーニング&デプロイ -

Slide 35

Slide 35 text

6. オンラインFeatureの取得と学習 RedisにFeathrSDKを用いてアクセス Feathr on Azure - オンラインFeature の取得と学習 -

Slide 36

Slide 36 text

Feathr component Cloud Integrations Offline store – Object Store Azure Blob Storage Azure ADLS Gen2 AWS S3 Offline store – SQL Azure SQL DB Azure Synapse Dedicated SQL Pools (formerly SQL DW) Azure SQL in VM Snowflake Online store Azure Cache for Redis Feature Registry Azure Purview Compute Engine Azure Synapse Spark Pools Databricks Machine Learning Platform Azure Machine Learning Jupyter Notebook File Format CSV Parquet ORC Avro Delta Lake Feathr on Azure Integration with Cloud Services

Slide 37

Slide 37 text

 複数のソースから一度にデータを取り込み、機能の再利用を促進することが可能 一度に複数のソースを読み込む

Slide 38

Slide 38 text

 高度なML/DLシナリオに対応した豊富な型  組織全体で再利用することが可能。  複雑な特徴量の取り込み提供時間を短縮し、モデルのパフォーマンスを向上させる  カテゴリカル/カテゴリーセットなど、一般的なMLタイプをサポート etc… MLに適した型タイプ

Slide 39

Slide 39 text

Document Intelligence using Azure Feature Store and SynapseML (microsoft.com) Appendix:MSBuild2022: Document Intelligence using Azure Feature Store and SynapseML

Slide 40

Slide 40 text

FeatureStoreの参考資料 – External Resources Category Link YouTube (62) #featurestore - YouTube 講演資料 feathr/Feathr Feature Store Talk.pdf at main · linkedin/feathr (github.com) プロジェクトページ https://linkedin.github.io/feathr/ Getting Started https://github.com/linkedin/feathr/blob/main/feathr_project/feathrcli/data/feathr_user_workspace/nyc_driver_demo.ipynb Source code https://github.com/linkedin/feathr Slack Community https://feathrai.slack.com/ YouTube (74) Feathr Feature Store Introduction - YouTube 学習サイト Feature Store For ML カンファレンス Feature Store Summit 2022 Slack Community https://featurestoreorg.slack.com/ Github Repo feast-dev/feast: Feature Store for Machine Learning (github.com)

Slide 41

Slide 41 text

No content