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
Mercari ML Platform
Search
Hirofumi Nakagawa/中河 宏文
November 02, 2018
Technology
1
17k
Mercari ML Platform
Hirofumi Nakagawa/中河 宏文
November 02, 2018
Tweet
Share
More Decks by Hirofumi Nakagawa/中河 宏文
See All by Hirofumi Nakagawa/中河 宏文
IoTデバイスでMLモデルを動かす技術
hnakagawa
0
140
Kanazawa_AI.pdf
hnakagawa
0
160
メルカリ写真検索における Amazon EKS の活用事例と プロダクトにおけるEdgeAI technologyの展望
hnakagawa
5
8.7k
メルカリの写真検索を支えるバックエンド CCSE 2019 version
hnakagawa
0
280
メルカリ写真検索における Amazon EKS の活用事例
hnakagawa
6
29k
メルカリの写真検索を支えるバックエンド
hnakagawa
1
1.1k
mlct.pdf
hnakagawa
2
2k
機械学習によるマーケット健全化施策を支える技術
hnakagawa
0
220
メルカリのマーケット健全化施策を支えるML基盤
hnakagawa
10
8.9k
Other Decks in Technology
See All in Technology
20250129 Findy_テスト高活用化
dshirae
0
190
第27回クラウド女子会 ~re:Invent 振り返りLT会~ 私の周辺で反響のあった re:Invent 2024 アップデートつれづれ/reinvent-2024-update-reverberated-around-me
emiki
1
580
DevSecOps入門:Security Development Lifecycleによる開発プロセスのセキュリティ強化
yuriemori
0
220
HCP Terraformで実現するPlatform Engineering/nikkei-tech-talk-29
nikkei_engineer_recruiting
0
210
ソフトウェアアーキテクトのための意思決定術: Software Architecture and Decision-Making
snoozer05
PRO
17
3.5k
Site Reliability Engineering on Kubernetes
nwiizo
6
4k
Microsoft Ignite 2024 最新情報!Microsoft 365 Agents SDK 概要 / Microsoft Ignite 2024 latest news Microsoft 365 Agents SDK overview
karamem0
0
180
Redmineの意外と知らない便利機能 (Redmine 6.0対応版)
vividtone
0
160
財務データを題材に、 ETLとは何であるかを考える
shoe116
5
1.9k
実践!生成AIのビジネス活用 / How to utilize Generative AI in your own business
gakumura
1
210
一人から始めたSREチーム3年の歩み - 求められるスキルの変化とチームのあり方 - / The three-year journey of the SRE team, which started all by myself
vtryo
7
5.2k
2週に1度のビッグバンリリースをデイリーリリース化するまでの苦悩 ~急成長するスタートアップのリアルな裏側~
kworkdev
PRO
8
6k
Featured
See All Featured
Documentation Writing (for coders)
carmenintech
67
4.6k
YesSQL, Process and Tooling at Scale
rocio
170
14k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
6
210
A Modern Web Designer's Workflow
chriscoyier
693
190k
The Invisible Side of Design
smashingmag
299
50k
Learning to Love Humans: Emotional Interface Design
aarron
274
40k
Writing Fast Ruby
sferik
628
61k
Measuring & Analyzing Core Web Vitals
bluesmoon
5
220
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
1.3k
Fashionably flexible responsive web design (full day workshop)
malarkey
406
66k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.8k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.7k
Transcript
Mercari ML Platform
自己紹介 • Hirofumi Nakagawa(hnakagawa) • 2017年7月入社 • 所属はSRE • デバイスドライバ開発からフロントエ
ンド開発までやる何でも屋 • NOT MLエンジニア
Kubernetes CLI Image builder Cluster Pipeline Engine Dashboard Metrics Runner
Component Mercari ML Component ML platform architecture
Kubernetes CLI Image builder Cluster Pipeline Engine Dashboard Metrics Runner
Component Mercari ML Component
Container imageを自動でbuild。利用者がDockerfileを 書く必要は極力無いようにしてある Cluster Pipeline Engine CLI/Image builder Metrics Clusterリソースを管理し、container化されたData
Pipelineを実行する Prometheus使用している。ML modelに関するmetrics を取得
Kubernetes CLI Image builder Cluster Pipeline Engine Dashboard Metrics Runner
Component Mercari ML Component
前処理や分類器をContainer Pipelineで実行できるよう にコンポーネント化したもの Runner ML Component Mercari ML Component Training/Serving環境でcluster環境とlocal環境の差を
埋める データ・ソースやitem分類等、社内利用に特化したコン ポーネント
Container Based Pipeline
DataSource Image Text Preprocessing Image PV Picture Preprocessing Image PV
PV Estimator Image 全ての出力はPVに保存されキャッ シュとしても利用できる
Model Training & Serving Workflow
CI Training Cluster Job ・・・ Model Repository Job Job Serving
Cluster REST API TF Serving Faiss ・・・ 全てのModelが version管理 & image化されている
Serving Architecture
Mercari API Flask SK Model SK Model SK Model TensorFlow
Serving TF Model TF Model TF Model Virtual Service Basic serving API architecture
Streaming serving API architecture Flask SK Model SK Model SK
Model TensorFlow Serving TF Model TF Model TF Model Virtual Service Proxy
A/B Test Architecture
Model Service A Virtual Service Model Service B Mercari API
90% 10% Model API is activated by Istio
Common Problems of Model Serving
Huge model file vs container image • 巨大なMLモデルファイルをimageに含めるか否か • 含めないのであれば何処に配置するのか
• ポータビリティとロード時間のトレードオフ
Effective memory usage • 数GB程度のメモリを使用するのは普通 • プロセス毎にモデルをロードする必要がある環境は辛い • Copy on
Write(CoW)を利かす工夫が必要
In Progress
モデル評価と ReTrainingの自動化 モデル生成の 自動化 本番環境への自動 Deploy Architecture searchやHyper parameter optimization
によって簡単なモデル生成を自動化・簡素化 生成されたモデルを本番環境へ自動Deployし、最も良 いモデルが自動選択される 高度な自動化 運用中のモデルの評価/可視化、Re-Trainingを高度化・ 自動化する
ML Continuous Deployment Deploy Monitoring Evaluation Hyper parameter optimization Re-Training
リリース後も 精度監視・Hyper parameterチューニング・Re-training・Deployを自 動で行う
AutoFlow Feature Extraction Components Concatenation Components Classification Components Model Builder
Component Repository
In Future
Edge Device Democratization of AI Further Automation Future Plans
Edge Device • TensorFlow LiteやCore ML等Edgeサイドでpredictionを行える環 境が整ってきた • EdgeでのpredictionはUX上大きなメリットがあると考えている •
調査・研究を進めているので今後に乞うご期待?
Democratization of AI • 多くのモデルが求められている • MLエンジニア以外もモデルを作れるようにする • DataPlatformと合せて環境を整備する必要
Further Automation • 近い将来、数千〜のモデル運用を行う必要がある • さらなる高度な自動化が不可欠
None