Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Feature Store in DRIVE CHART
Search
Ryosuke Kamesawa
November 18, 2020
Technology
0
39
Feature Store in DRIVE CHART
DRIVE CHARTにおいてFeature Storeと呼ばれる特徴量管理システムを内製、導入した経緯や効果について紹介します。
Ryosuke Kamesawa
November 18, 2020
Tweet
Share
More Decks by Ryosuke Kamesawa
See All by Ryosuke Kamesawa
推論エンジンMAXの紹介
emakryo
1
470
ニューラルネットワークの量子化手法の紹介
emakryo
3
2.7k
MediaPipeの紹介
emakryo
0
44
Customizing Cargo for Cross Compiling
emakryo
0
30
Feature StoreをRustで実装した話
emakryo
0
37
なぜRustか?
emakryo
0
35
rustdef: Rust on Jupyter Notebook
emakryo
0
32
Cargo-makeを使ってみた
emakryo
0
280
Machine Learning on Graph Data @ICML2019
emakryo
0
19
Other Decks in Technology
See All in Technology
生成AI×財務経理:PoCで挑むSlack AI Bot開発と現場巻き込みのリアル
pohdccoe
1
870
Qiita Organizationを導入したら、アウトプッターが爆増して会社がちょっと有名になった件
minorun365
PRO
1
380
【Snowflake九州ユーザー会#2】BigQueryとSnowflakeを比較してそれぞれの良し悪しを掴む / BigQuery vs Snowflake: Pros & Cons
civitaspo
5
1.6k
“常に進化する”開発現場へ! SHIFTが語るアジャイルQAの未来/20250306 Yuma Murase
shift_evolve
0
160
開発者のための FinOps/FinOps for Engineers
oracle4engineer
PRO
2
290
QAエンジニアが スクラムマスターをすると いいなぁと思った話
____rina____
0
230
サイト信頼性エンジニアリングとAmazon Web Services / SRE and AWS
ymotongpoo
8
1.9k
OPENLOGI Company Profile
hr01
0
60k
AIエージェント開発のノウハウと課題
pharma_x_tech
10
5.7k
リクルートのエンジニア組織を下支えする 新卒の育成の仕組み
recruitengineers
PRO
2
210
MLflowはどのようにLLMOpsの課題を解決するのか
taka_aki
0
170
Aurora PostgreSQLがCloudWatch Logsに 出力するログの課金を削減してみる #jawsdays2025
non97
1
280
Featured
See All Featured
A Tale of Four Properties
chriscoyier
158
23k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.4k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Building Your Own Lightsaber
phodgson
104
6.3k
Practical Orchestrator
shlominoach
186
10k
Producing Creativity
orderedlist
PRO
344
40k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.8k
How to Ace a Technical Interview
jacobian
276
23k
Code Review Best Practice
trishagee
67
18k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
11
560
GraphQLとの向き合い方2022年版
quramy
44
14k
Site-Speed That Sticks
csswizardry
4
420
Transcript
2020.10.29 Ryosuke Kamesawa 株式会社 Mobility Technologies Feature Store in DRIVE
CHART
2 亀澤諒亮 / Ryosuke Kamesawa - DeNA18新卒 - AI創薬: 2018/04
~ 2019/09 - グラフML - CHART: 2019/10 ~ (MoT 2020/04 ~) - エッジML、MLOps - 趣味とか - Rust https://github.com/emakryo/rustdef - 竸プロ (MoT #雑談_競技プログラミング) - ボルダリング 自己紹介
3 Outline 01|Feature Storeとは 02|事例の紹介 03|OSSの紹介 04|DRIVE CHART Feature Store
4 中央集約的な特徴量管理システム - 最近の機械学習システムの多くが大規模、複雑化 - データソース、特徴量、モデルの組み合わせが複数存在 - 問題点 - 開発環境と本番環境の違いによるデグレ
- モデル開発からデプロイまでが長期間化 - デプロイ後の検証が困難 - これらを解消する手段としてFeature Storeと 呼ばれるものを用意するケースが増えてきている Feature Store とは https://www.featurestore.org
5 - どこまでをFeature Storeと呼ぶかは結構曖昧 - APIやETL(前処理)のワーカーなどを含むこともあれば 特徴量保存のストレージだけを指すことも - 機能、特色 -
特徴量の保存/取得/共有 - Online/Offlineで共通のAPI - Online: 推論、本番用、高速小容量 - Offline: 学習、検証用、低速大容量 - APIを通したfeature engineering とmodel training の分離 - 共通の特徴量の再利用、再現性の担保 - Time travel: 特定の時点の特徴量の取得 Feature Store とは
6 - 各社事例 - Michelangelo (Uber) - Zipline (Airbnb) -
Comcast - and more https://www.featurestore.org/ - OSS - Hopsworks - Feast (GoJek/Google) - SaaS - Tecton https://www.tecton.ai/blog/what-is-a-feature-store/ 事例・OSS
7 Uberの機械学習パイプライン Michelangelo https://eng.uber.com/michelangelo-machine-learning-platform/
8 Uberの機械学習パイプライン Michelangelo https://eng.uber.com/michelangelo-machine-learning-platform/ Feature Store
9 Uberの機械学習パイプライン Michelangelo https://eng.uber.com/michelangelo-machine-learning-platform/ 特徴量取得・前処理は 専用DSLを利用
10 AirBnBのデータ管理プラットフォーム(特徴量計算エンジン) - 宣言的な特徴量計算DSL - イベントデータ(時系列) Zipline https://www.topbots.com/zipline-data-management-framework-by-airbnb/
11 AIアシスタントのためのMLパイプライン - Online/Offline Feature Store - 特徴量生成パイプライン - Streaming
/ On-Demand Comcast https://www.slideshare.net/databricks/operationalizing-machine-learningmanaging-pro venance-from-raw-data-to-predictions-with-nabeel-sarwar
12 シンプルなFeature Store OSS - Online/Offline - Historical retrieval -
Python / Java / Go SDK Feast https://docs.feast.dev/user-guide/architecture
13 For data engineer Feast - Python example
14 For data scientist Feast - Python example
15 機械学習プラットフォームOSS - 多機能 - ユーザー管理 - クラスタ管理 - 管理UI
- Notebook管理 - Feature Store Hopsworks https://hopsworks.readthedocs.io/en/stable/featurestore/guides/featurestore.html
16 - Online/Offline store - On-demand/cached features - Time travel
(w/ Apache Hudi) - Python SDK / Scale SDK / SparkSQL Hopsworks Feature Store https://hopsworks.readthedocs.io/en/stable/featurestore/guides/featurestore.html
17 DRIVE CHART Feature Store
18 - 生データ(ドライブレコーダーから取得) - センサーデータ(加速度、GPS、etc) - エッジ推論データ(ドライバー顔ランドマーク、前方物体検出、etc) - AWS EFS上に生データをCSVで保存
- 特徴量(前処理済データ)生成はデータサイエンティストが都度実行 - CSV以外のデータソースにアクセスする必要があり再現が大変 - EFSによるコスト(> S3) - 明示的なCSVのスキーマ管理はなし - 低コストでCSV管理を置き換えるようなFeature Storeが必要 DRIVE CHARTでのデータ管理(これまで)
19 方針 - 内製 - Feast: GCP (BQ, GCS) が前提(CHARTはAWS)
- Hopsworks: 必要以上に複雑、運用が大変そう - まずは現状のCSV管理を置き換える - Data lakeのWrapper APIという側面 - 最初はミニマルな構成でOffline (学習用)だけを実装 - 最低限のAPI - 保存/取得/削除 - スキーマ管理(validation / versioning) DRIVE CHARTでのFeature Store
20 構成: 単純なサーバー・クライアント - サーバー:ストレージの実体を隠蔽したい - 将来的にOffline/Onlineでストレージを切り替えても問題がないように - Offline -
S3: 特徴量(parquet encoding) - MySQL: メタデータ(スキーマ、バージョン) - Offlineといってもサーバーをボトルネックにしない - 実装はRust(高速・安全) DRIVE CHARTでのFeature Store ECS
21 構成: 単純なサーバー・クライアント - クライアント:ユーザーは基本的にPython - APIはFeastを参考 - pandas DataFrameを用いるAPI
- スキーマとデータの分離 - キャッシュの管理も行う - S3の遅さを補う - 内部的にはgRPCなので他言語からも利用可能 - gRPC: 高速・Streaming DRIVE CHARTでのFeature Store ECS
22 - Web UI - 再利用性、一覧性、検索性 - 統計量のモニタリング - Data
driftの検出 - 複雑なクエリ - 複数entities (primary key)の join - Time travel - 過去の特定の時点の特徴量の取得 DRIVE CHART Feature Store - Future Direction
23 - Feature Store - 中央集約的な特徴量管理 - 大規模な機械学習システムではよく用いられる - DRIVE
CHARTでは内製 - 低コストでCSV管理を置き換えたい - 現状はシンプルな構成、API - 拡張の余地はある まとめ