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)

    View Slide

  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)

    View Slide

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

    View Slide

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

    View Slide

  5. 1. MLOpsの概要

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  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の
    発揮どころ!

    View Slide

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

    View Slide

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

    View Slide

  12. データ
    v v v



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

    View Slide

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

    View Slide

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

    View Slide

  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の出番

    View Slide

  16. 2. Feature Storeが救うもの

    View Slide

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

    View Slide

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

    View Slide

  19. Feature Storeの構成
    共通
    特徴レジストリ

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

    View Slide

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

    View Slide

  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での機械学習

    View Slide

  22. Feathrの紹介

    View Slide

  23. 3. Feature Storeの比較

    View Slide

  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の性能に依

    プリミティブ型

    View Slide

  25. Feature Store For ML
    Feature Storeの変遷

    View Slide

  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調査

    View Slide

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

    View Slide

  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のサービスとの組み合わせ方

    View Slide

  29. Feathr on Azureの全体像例

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  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)

    View Slide

  41. View Slide