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

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

    Model モデル再学習 開発と学習 ビジネス課題を 解決する パッケージ化 モデルをどこでも 使用可能にする 挙動の検証 応答性の観点と 規制遵守の観点から デプロイ 予測値の生成に モデルを使用する モニタリング 挙動とビジネス価値 を監視する 陳腐化したモデルを いつ置換/廃止するか 決める
  5. 特徴量 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の出番
  6. Feature Storeの構成 共通 特徴レジストリ & 管理 特徴量 モニタリング 再利用性 統一性(重複の防止)

    汎用性 特徴量の取り込み & 計算 (バッチ & ストリーミング ソース) 共通プロバイダー • バッチプロバイダー: 高スループット(学習) • オンラインプロバイダー:低レイテンシー (推論) 利用時・方法における特徴量の一貫性 監視性 Feature Storeがある状態で解決する問題
  7. 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での機械学習
  8. 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の性能に依 存 プリミティブ型
  9. 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のサービスとの組み合わせ方
  10. 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
  11. 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)