SlideShare a Scribd company logo
1 of 19
Download to read offline
メルカリ
機械学習
開発㊙話
2018/10/26 Mercari ML Meetup
株式会社メルカリ 機械学習エンジニア
澁井雄介
Agenda
❖ Topic: 違反検知
➢ Mercari ML Secret No. 1 ~Modelling~
➢ Mercari ML Secret No. 2 ~SysML~
$whoami
● 澁井 雄介 : @shibuiwilliam or @cvusk
○ 株式会社メルカリ 機械学習エンジニア
● 経歴
○ 文学修士(イギリス旅行史)
→富士通→IBM→SAS→パナソニック
○ 株式会社メルカリ
■ 機械学習によるサービス改善
■ 機械学習プラットフォーム開発
cat : 0.55
dog: 0.45
文系 : 0.60
理系 : 0.40
Object
Detection
クイズ!?
伊能忠敬
ドラクエ6
機械学習
エンジニア
共通点は??
正解は!?
伊能忠敬
ドラクエ6
機械学習
エンジニア
地図を作る
江戸時代に
日本中を歩いて測量し、
初の日本地図を作った人
行ったことのある場所が
書き込まれていく
「不思議な地図」
未知の特徴空間を
探索する!?
メルカリが保有するデータ規模
数十万出品
/日
違反出品を探せ
● C2Cのデータは未知のデータ。ところどころ靄がかっている。
書籍
玩具
メンズ
レディース
電化製品
消費財
文房具
家具
違反出品を探せ
● C2Cのデータは未知のデータ。ところどころ靄がかっている。
書籍
玩具
メンズ
レディース
電化製品
消費財
文房具
家具
機械学習で解決したい課題
「安全に」
● 大量多カテゴリの超不均衡データの中から違反出品を検知する
「素早く」
● 新たな違反出品の検知に素早く追随する
多値分類による違反出品検出
● ベースモデル: 単純な特徴量の連結を行い線形モデル mAP: 0.7487
● マルチモーダル: CNNとMLPによる特徴量を
concat → MLP mAP: 0.7690
max-pooling → MLP mAP: 0.7704
安全に!
多値分類の課題
1. 商品カテゴリによって特徴空間が違う。
2. 時間とともに特徴空間が変わる。
3. 違反カテゴリによって緊急度と対応が違う。
安全に!
?
特定カテゴリ二値分類による違反出品検出
● 特定のカテゴリに特化した違反出品検出器を二値分類で実装
安全に!
Binary classifier for a
certain category
Binary classifier for a
certain category
Binary classifier for a
certain category
Binary classifier for a
certain category
0
0
1
0
Different model per objective
Different training process per model
・・・
!!
● Machine learning in cyclic workflow
目指すは機械学習をE2Eでカバーするプラットフォーム
素早く!
Deploy
Monitoring
Evaluation
Hyper
parameter
optimization
Re-Training
Training
Hyper
parameter
optimization
import tensorflow as tf
def neural_net(x_dict):
x = x_dict['images']
layer_1 = tf.layers.dense(x, n_hidden_1)
layer_2 = tf.layers.dense(layer_1, n_hidden_2)
out_layer = tf.layers.dense(layer_2, num_classes)
return out_layer
...
日中はコーディング→学習→デプロイを効率化
素早く!
Deploy
Training
Hyper
parameter
optimization
import tensorflow as tf
def neural_net(x_dict):
x = x_dict['images']
layer_1 = tf.layers.dense(x, n_hidden_1)
layer_2 = tf.layers.dense(layer_1, n_hidden_2)
out_layer = tf.layers.dense(layer_2, num_classes)
return out_layer
...
Search Space
Katib
Grid Search
Random Search
Bayesian Optimization
Hyperband Optimization
Genetic Algorithm(coming soon)
● Optimization distributed on Kubernetes cluster to search for the best ML parameters
● Automatically distributed over cluster
● Efficiently searches for the optimized parameters
● Early stopping once reached target
https://github.com/kubeflow/katib
夜間は運用を自動化するContinuous Deployment
素早く!
Istio
Deploy
Monitoring
Evaluation
Hyper
parameter
optimization
Re-Training
目指すは機械学習とオペレーションをカバーするプラットフォーム
品質と再利用性
モデルの
パフォーマンス維持
正しい
教師データの蓄積
行き着いたのは「まっとうな」コーディングと業務設計
if readable and high_acc:
return “PR”
else:
return “refactor”
Anomaly
data table
Takeaways!
❖ 「安全に」メルカリを使っていただくための違反出品検知
➢ 日々更新される多様なデータを、カテゴリに特化した二値分類で検知する
❖ 「素早く」メルカリを改善するためのE2E機械学習プラットフォーム
➢ オペレーションと協力してモデル追加とチューニングを効率化する

More Related Content

More from yusuke shibui

More from yusuke shibui (20)

Creative as Software Engineering for GenAI LT
Creative as Software Engineering for GenAI LTCreative as Software Engineering for GenAI LT
Creative as Software Engineering for GenAI LT
 
Generative AIと検索を組み合わせた新たな体験の模索
Generative AIと検索を組み合わせた新たな体験の模索Generative AIと検索を組み合わせた新たな体験の模索
Generative AIと検索を組み合わせた新たな体験の模索
 
機械学習システム構築実践ガイド
機械学習システム構築実践ガイド機械学習システム構築実践ガイド
機械学習システム構築実践ガイド
 
機械学習でテスト実行を効率化するLaunchable.pdf
機械学習でテスト実行を効率化するLaunchable.pdf機械学習でテスト実行を効率化するLaunchable.pdf
機械学習でテスト実行を効率化するLaunchable.pdf
 
Reviewing_machine_learning_program.pdf
Reviewing_machine_learning_program.pdfReviewing_machine_learning_program.pdf
Reviewing_machine_learning_program.pdf
 
DevSummit_2022_summer_MLOps.pdf
DevSummit_2022_summer_MLOps.pdfDevSummit_2022_summer_MLOps.pdf
DevSummit_2022_summer_MLOps.pdf
 
machine_learning_failure_apocalypse.pdf
machine_learning_failure_apocalypse.pdfmachine_learning_failure_apocalypse.pdf
machine_learning_failure_apocalypse.pdf
 
Launchable and efficient test execution
Launchable and efficient test executionLaunchable and efficient test execution
Launchable and efficient test execution
 
MLOps failure(1_108)
MLOps failure(1_108)MLOps failure(1_108)
MLOps failure(1_108)
 
Rosbag search system
Rosbag search systemRosbag search system
Rosbag search system
 
Machine learning CI/CD with OSS
Machine learning CI/CD with OSSMachine learning CI/CD with OSS
Machine learning CI/CD with OSS
 
Lets start mlops
Lets start mlopsLets start mlops
Lets start mlops
 
Testing machine learning development
Testing machine learning developmentTesting machine learning development
Testing machine learning development
 
Twillio deadshot made me happy
Twillio deadshot made me happyTwillio deadshot made me happy
Twillio deadshot made me happy
 
ML system design_pattern
ML system design_patternML system design_pattern
ML system design_pattern
 
Getting started with MLOps
Getting started with MLOpsGetting started with MLOps
Getting started with MLOps
 
How to start MLOps
How to start MLOpsHow to start MLOps
How to start MLOps
 
Machine learning quality for production
Machine learning quality for productionMachine learning quality for production
Machine learning quality for production
 
Traffic light detection for self driving car
Traffic light detection for self driving carTraffic light detection for self driving car
Traffic light detection for self driving car
 
Devsumi 2021 MLOps for Self-driving car
Devsumi 2021 MLOps for Self-driving carDevsumi 2021 MLOps for Self-driving car
Devsumi 2021 MLOps for Self-driving car
 

Mercari ML Meetup