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
260
メルカリ写真検索における 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
テストコード品質を高めるためにMutation Testingライブラリ・Strykerを実戦導入してみた話
ysknsid25
7
2.7k
アジャイルチームがらしさを発揮するための目標づくり / Making the goal and enabling the team
kakehashi
3
160
Making your applications cross-environment - OSCG 2024 NA
salaboy
0
200
Adopting Jetpack Compose in Your Existing Project - GDG DevFest Bangkok 2024
akexorcist
0
120
AWS Lambda のトラブルシュートをしていて思うこと
kazzpapa3
2
200
Flutterによる 効率的なAndroid・iOS・Webアプリケーション開発の事例
recruitengineers
PRO
0
120
【LT】ソフトウェア産業は進化しているのか? #Agilejapan
takabow
0
110
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
0
120
B2B SaaSから見た最近のC#/.NETの進化
sansantech
PRO
0
950
『Firebase Dynamic Links終了に備える』 FlutterアプリでのAdjust導入とDeeplink最適化
techiro
0
180
10XにおけるData Contractの導入について: Data Contract事例共有会
10xinc
7
690
開発生産性を上げながらビジネスも30倍成長させてきたチームの姿
kamina_zzz
2
1.7k
Featured
See All Featured
The Pragmatic Product Professional
lauravandoore
31
6.3k
Making Projects Easy
brettharned
115
5.9k
Building Your Own Lightsaber
phodgson
103
6.1k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Unsuck your backbone
ammeep
668
57k
The Power of CSS Pseudo Elements
geoffreycrofte
73
5.3k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
4
380
[RailsConf 2023] Rails as a piece of cake
palkan
52
4.9k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
28
8.2k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.4k
How GitHub (no longer) Works
holman
310
140k
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