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
メルカリの機械学習基盤 これまでとこれから ML Ops Study #2
Search
Ryusuke Chiba
May 29, 2018
0
800
メルカリの機械学習基盤 これまでとこれから ML Ops Study #2
Ryusuke Chiba
May 29, 2018
Tweet
Share
More Decks by Ryusuke Chiba
See All by Ryusuke Chiba
10Xの検索を10xしたい at 第49回Elasticsearch勉強会
metalunk
0
460
10Xの検索を10xしたい at 【10X/M3/CADDi】検索エンジン運用勉強会
metalunk
5
1.3k
プログラマのための線形代数 おまけ
metalunk
1
140
メルカリにおける AI 活用事例 PyCon JP 2018
metalunk
8
6.7k
機械学習によるマーケット健全化 Mercari ML Ops Night #1
metalunk
3
5.3k
Featured
See All Featured
Agile that works and the tools we love
rasmusluckow
327
21k
A Modern Web Designer's Workflow
chriscoyier
692
190k
Learning to Love Humans: Emotional Interface Design
aarron
272
40k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
A Tale of Four Properties
chriscoyier
156
23k
Mobile First: as difficult as doing things right
swwweet
222
8.9k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
504
140k
Teambox: Starting and Learning
jrom
132
8.7k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
Why Our Code Smells
bkeepers
PRO
334
57k
Speed Design
sergeychernyshev
24
570
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
42
9.2k
Transcript
メルカリの機械学習基盤 これまでとこれから 株式会社メルカリ Ryusuke Chiba @metalunk ML Ops Study #2
筑波大学 (学部) 筑波大学 (院) メルカリ グリー 2013 2015 2017 自己紹介
• Ryusuke Chiba • https://twitter.com/metalunk
自己紹介 • 2013年 新卒 • GREE News の開発 • 消滅都市の開発
• 大学院受験をして受かったので退職 筑波大学 (学部) 筑波大学 (院) メルカリ グリー 2013 2015 2017
自己紹介 • FAQ「なんで会社やめて大学院行ったんですか?」 ◦ 筑波大学 (学部) 筑波大学 (院) メルカリ グリー
2013 2015 2017
自己紹介 • FAQ「なんで会社やめて大学院行ったんですか?」 ◦ 筑波大学 (学部) 筑波大学 (院) メルカリ グリー
2013 2015 2017 ggrks!! Google is Your Friend!!
自己紹介 • 数理最適化の研究 ◦ Derivative-free optimization (Nelder-Mead とか) ◦ 単体上における非凸関数の大域的最適化
• Cookpad でアルバイト ◦ トクバイで 筑波大学 (学部) 筑波大学 (院) メルカリ グリー 2013 2015 2017
自己紹介 • 2回目の新卒(中古の新卒) • Search チーム (2017.04 - 2017.12) ◦
クエリパラメータ最適化の仕組み (JP) ◦ 近所検索 (US) • 数学部 部長 ◦ 線形代数ゼミ,アルゴリズムゼミ,数理最適化ゼミ... 筑波大学 (学部) 筑波大学 (院) メルカリ グリー 2013 2015 2017
自己紹介 • CRE (Customer Reliability Engineering) と SysML ◦ 2018.01
から ◦ これから話す • 量子アニーリング ◦ D-wave のインターフェイスは数理最適化 筑波大学 (学部) 筑波大学 (院) メルカリ グリー 2013 2015 2017
自己紹介 先日 Andrew Ng 先生の Coursera Machine Learning を卒業しました ですのでむずかしい機械学習についての質問は...
メルカリの機械学習基盤
メルカリの機械学習基盤 いま • 内製のML Platform • kubernetesベース • ローカル環境とクラスタ環境の差を抽象化する •
便利API群 • 既存のML Frameworkを使用し簡単に Training/Servingを行う環境を提供 • そのうち OSS で公開予定(多分)
ML Platform (training cluster) CI ML Platform (serving cluster for
test) Model Registry Job Job ・・ REST API Streaming TF Serving API ・・・ メルカリの機械学習基盤 いま
機械学習による商品監視
メルカリについて • ダウンロード数: 世界合計1億800万ダウンロード超 (日本7,100万、米国 3,750万、英国数百万) (2018/3末時点) • 流通額 (GMV):
日本 938億円 (2018/1-3月四半期累計) • 利用者数 (登録MAU): 1050万人 (2018/3時点) ◦ 登録MAU (Monthly Active User) は1ヶ月に一度以上利用したユーザの数 (「メルカリ アッ テ」「メルカリカウル」「メルカリメゾンズ」「メルチャリ」「teacha」は含まず) • 社員数: 連結 約1000人,メルカリ単体650人 (2018/3末時点)
メルカリについて • カスタマーサポート(CS) ◦ お問い合わせへの対応や,違反出品物の取り締まりなど ◦ 仙台,福岡にも拠点がある • CRE (Customer
Reliability Engineering) ◦ 技術を駆使して,お客さまに安心して利用してもらえるサービス にしたい ▪ CS のオペレーション効率化
商品監視 安心安全なマーケットプレイスを維持するために,出品が禁止されているもの https://www.mercari.com/jp/help_center/getting_started/prohibited_items • 偽ブランド品 • 盗難品 • 18禁、アダルト、児童ポルノ関連 •
現金、金券類、カード類 • ゲームアカウントやゲーム内の通貨 • メルカリ事務局で不適切と判断されるもの • キーワード羅列 • etc...
商品監視 これまで 検索条件による検出 お客さまによる通報 機械学習による自動検知
商品監視 これまで 検索条件による検出 お客さまによる通報 機械学習による自動検知 CS によって管理(追加 & 削除)さ れていて,数百個もある
商品監視 これまで 検索条件による検出 お客さまによる通報 機械学習による自動検知 本当はお客さまの目に 触れる前に削除したい
商品監視 これまで 検索条件による検出 お客さまによる通報 機械学習による自動検知 さまざまな構成で動いている • 古い機械学習基盤とか • マイクロサービスとか
商品監視 いま Mercari API Machine Learning Platform publish subscribe あたらしい
ML 商品監視サービス Lovemachine!!
商品監視 いま あたらしい ML 商品監視サービス Lovemachine!! CsTool API Machine Learning
Platform Mercari API Worker publish subscribe hide/report report
商品監視 いま いくつかの既存モデルを,あたらしい ML Platform 上の商品監視サービス Lovemachine に移植中 それによって得られる恩恵は •
メルカリ API, CS Tool 側の共通処理 • コード品質の向上 • 再学習の仕組み • Blue-Green deploy • リソース管理 ML Platform Lovemachine
商品監視 いま 移植作業が大変だった • Train code がない • local でしか動かない状態の
Jupyter notebook • 身元不明の BigQuery table を読んでいる • 身元不明の CSV を読んでいる • DRY でない • 線形代数の効率的な演算が使えていない(for 文がある) • Evaluation を独立して実行できるようになっていない 恩恵: コード品質の向上
商品監視 いま 問題は • データサイエンティストとバックエンドエンジニアのスキルセットの差 • 分析時のコードがそのまま 恩恵: コード品質の向上 Lovemachine
に載せたかったら ある程度ちゃんとしないと載らない
商品監視 いま ML による 自動検知 CS メンバーの確認 (ラベルづけ) 教師データに CS
業務のフィードバックが得られる 恩恵: 再学習の仕組み
商品監視 いま データの傾向変化に対応できる たとえば • ゲームアカウント(新しいゲーム) • キーワード羅列(流行) 恩恵: 再学習の仕組み
商品監視の難しいところ 違反出品は正常出品に対してとても少ない imbalanced な状態 例えば一日に100万件が正常出品されるとき • False Recall 99.000% ->
10,000件 False positive • False Recall 99.900% -> 1,000件 False positive • False Recall 99.990% -> 100件 False positive • False Recall 99.999% -> 10件 False positive
商品監視の難しいところ 閾値の決め方は問題による • その違反がされることはどれくらい許せる? • 検出された商品は CS がチェックする必要がある? • 検出されると非表示になる?
通報が飛ぶ? ※開発中の画面
機械学習基盤 これから
機械学習基盤 これから 1. 全ての移植作業をやるわけにはいかない 2. 機械学習基盤の機能を充実させたい • 社内 AutoML を作りたい?
i. Feature Extraction? ii. Black Box Optimization? 3. SysML がスキルセットの差を埋めたい • データサイエンティスト ⇔ SRE • データサイエンティスト ⇔ バックエンドエンジニア
We’re 超 hiring SysML https://open.talentio.com/1/c/mercari/requisitions/detail/7093