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

Feature Store on Azure

Feature Store on Azure

MLOpsの基本的な概要説明からFeathrのコードベースでの説明、他のFeature Storeの比較、Azureに組み込んだときのアーキテクチャの話を軽くさせていただきました。
Agenda:
1. MLOpsの概要
2. Feature Storeが救うもの
3. Feature Storeの比較
4. Feature Store on Azure アーキテクチャ

こちらのイベントで話した内容です。
▼ 55th Microsoft Data Platform Day(Online)
https://sqlserver.connpass.com/event/228778/

KoheiOgawa

June 25, 2022
Tweet

More Decks by KoheiOgawa

Other Decks in Technology

Transcript

  1. 【初級者向け】 Feature Store on Azure 2022年06月25日 55th Microsoft Data Platform

    Day(Online)
  2. @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)
  3. 想定オーディエンス • 機械学習の一連の流れをご存じの方 • MicrosoftのMLOpsについて興味がある方 データ準備 MLモデルの 設計/構築 MLモデルの 学習

    MLモデルの 管理/監視 MLモデルの デプロイ 機械学習の一連の流れ
  4. Agenda 1. MLOpsの概要(10分) 2. Feature Storeが救うもの(5分) 3. Feature Storeの比較(5分) 4.

    Feature Store on Azure アーキテクチャ(10分)
  5. 1. MLOpsの概要

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

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

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

  9. 機械学習システム “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の 発揮どころ!
  10. MLOps を支える要素 インフラ 環境 記録・監視 学習・推論 自動化 計算リソース ストレージ データベース

    VM データセット コード 環境定義 モデルレジストリ 実験記録 ログ パイプライン ワークフロー コンテナ
  11. 機械学習ライフサイクル Validate Model Deploy Model Package Model Monitor Model Train

    Model モデル再学習 開発と学習 ビジネス課題を 解決する パッケージ化 モデルをどこでも 使用可能にする 挙動の検証 応答性の観点と 規制遵守の観点から デプロイ 予測値の生成に モデルを使用する モニタリング 挙動とビジネス価値 を監視する 陳腐化したモデルを いつ置換/廃止するか 決める
  12. データ v v v v v v ⇒ソースデータのバージョン管理と その属性の管理したい(できる)

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

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

    (できる)
  15. 特徴量 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の出番
  16. 2. Feature Storeが救うもの

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

    ストリーミング Feature Store ML API バッチ推論 学習 特徴量エンジニアリング
  18. 特徴量がスクリプト上に埋もれて、再利用や活用できるように整理、保存されないため、ト ラッキングやコンプライアンス基準を満たすことが難しい 特徴量エンジニアリングの作業は、重複しており、Data Scientist の時間とCompute リソー スを消費する 特徴量を本番環境に反映させるのは難しい オフライントレーニングとオンライン推論では、通常、異なるサービングパイプラインが必 要であり、一貫して特徴量を生成されることを保証するのはコストがかかり、モデル性能の

    劣化を招く 特徴量やデータの質は刻々と変化しており、人の手が介入する必要がある Feature Storeがない状態で抱える問題
  19. Feature Storeの構成 共通 特徴レジストリ & 管理 特徴量 モニタリング 再利用性 統一性(重複の防止)

    汎用性 特徴量の取り込み & 計算 (バッチ & ストリーミング ソース) 共通プロバイダー • バッチプロバイダー: 高スループット(学習) • オンラインプロバイダー:低レイテンシー (推論) 利用時・方法における特徴量の一貫性 監視性 Feature Storeがある状態で解決する問題
  20. ©Microsoft Corporation Azure Feature Store 推論 監視 特徴量 エンジニアリング トレーニング/テスト

    モデル&評価 Feature Store導入時の活用パイプライン
  21. 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での機械学習
  22. Feathrの紹介

  23. 3. Feature Storeの比較

  24. 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の性能に依 存 プリミティブ型
  25. Feature Store For ML Feature Storeの変遷

  26. hogaku/MLOps-OSS-Analytics (github.com)  時系列でPR/Issue/Commit 数などを確認可能なPower BIの インタラクティブレポート 以下の項目からインサイトを得られる • Top

    100 Contributors • Traffic • Contributor Commits • Pull Requests • Punch Card • Issues MLOps分野のOSS調査
  27. 4. Feature Store on Azure アーキテクチャ

  28. 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のサービスとの組み合わせ方
  29. Feathr on Azureの全体像例

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

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

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

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

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

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

  36. 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
  37.  複数のソースから一度にデータを取り込み、機能の再利用を促進することが可能 一度に複数のソースを読み込む

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

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

    Document Intelligence using Azure Feature Store and SynapseML
  40. 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)
  41. None