Mercari ML Platform
by
Hirofumi Nakagawa/中河 宏文
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Mercari ML Platform
Slide 2
Slide 2 text
自己紹介 ● Hirofumi Nakagawa(hnakagawa) ● 2017年7月入社 ● 所属はSRE ● デバイスドライバ開発からフロントエ ンド開発までやる何でも屋 ● NOT MLエンジニア
Slide 3
Slide 3 text
Kubernetes CLI Image builder Cluster Pipeline Engine Dashboard Metrics Runner Component Mercari ML Component ML platform architecture
Slide 4
Slide 4 text
Kubernetes CLI Image builder Cluster Pipeline Engine Dashboard Metrics Runner Component Mercari ML Component
Slide 5
Slide 5 text
Container imageを自動でbuild。利用者がDockerfileを 書く必要は極力無いようにしてある Cluster Pipeline Engine CLI/Image builder Metrics Clusterリソースを管理し、container化されたData Pipelineを実行する Prometheus使用している。ML modelに関するmetrics を取得
Slide 6
Slide 6 text
Kubernetes CLI Image builder Cluster Pipeline Engine Dashboard Metrics Runner Component Mercari ML Component
Slide 7
Slide 7 text
前処理や分類器をContainer Pipelineで実行できるよう にコンポーネント化したもの Runner ML Component Mercari ML Component Training/Serving環境でcluster環境とlocal環境の差を 埋める データ・ソースやitem分類等、社内利用に特化したコン ポーネント
Slide 8
Slide 8 text
Container Based Pipeline
Slide 9
Slide 9 text
DataSource Image Text Preprocessing Image PV Picture Preprocessing Image PV PV Estimator Image 全ての出力はPVに保存されキャッ シュとしても利用できる
Slide 10
Slide 10 text
Model Training & Serving Workflow
Slide 11
Slide 11 text
CI Training Cluster Job ・・・ Model Repository Job Job Serving Cluster REST API TF Serving Faiss ・・・ 全てのModelが version管理 & image化されている
Slide 12
Slide 12 text
Serving Architecture
Slide 13
Slide 13 text
Mercari API Flask SK Model SK Model SK Model TensorFlow Serving TF Model TF Model TF Model Virtual Service Basic serving API architecture
Slide 14
Slide 14 text
Streaming serving API architecture Flask SK Model SK Model SK Model TensorFlow Serving TF Model TF Model TF Model Virtual Service Proxy
Slide 15
Slide 15 text
A/B Test Architecture
Slide 16
Slide 16 text
Model Service A Virtual Service Model Service B Mercari API 90% 10% Model API is activated by Istio
Slide 17
Slide 17 text
Common Problems of Model Serving
Slide 18
Slide 18 text
Huge model file vs container image • 巨大なMLモデルファイルをimageに含めるか否か • 含めないのであれば何処に配置するのか • ポータビリティとロード時間のトレードオフ
Slide 19
Slide 19 text
Effective memory usage • 数GB程度のメモリを使用するのは普通 • プロセス毎にモデルをロードする必要がある環境は辛い • Copy on Write(CoW)を利かす工夫が必要
Slide 20
Slide 20 text
In Progress
Slide 21
Slide 21 text
モデル評価と ReTrainingの自動化 モデル生成の 自動化 本番環境への自動 Deploy Architecture searchやHyper parameter optimization によって簡単なモデル生成を自動化・簡素化 生成されたモデルを本番環境へ自動Deployし、最も良 いモデルが自動選択される 高度な自動化 運用中のモデルの評価/可視化、Re-Trainingを高度化・ 自動化する
Slide 22
Slide 22 text
ML Continuous Deployment Deploy Monitoring Evaluation Hyper parameter optimization Re-Training リリース後も 精度監視・Hyper parameterチューニング・Re-training・Deployを自 動で行う
Slide 23
Slide 23 text
AutoFlow Feature Extraction Components Concatenation Components Classification Components Model Builder Component Repository
Slide 24
Slide 24 text
In Future
Slide 25
Slide 25 text
Edge Device Democratization of AI Further Automation Future Plans
Slide 26
Slide 26 text
Edge Device • TensorFlow LiteやCore ML等Edgeサイドでpredictionを行える環 境が整ってきた • EdgeでのpredictionはUX上大きなメリットがあると考えている • 調査・研究を進めているので今後に乞うご期待?
Slide 27
Slide 27 text
Democratization of AI • 多くのモデルが求められている • MLエンジニア以外もモデルを作れるようにする • DataPlatformと合せて環境を整備する必要
Slide 28
Slide 28 text
Further Automation • 近い将来、数千〜のモデル運用を行う必要がある • さらなる高度な自動化が不可欠
Slide 29
Slide 29 text
No content