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
メルカリにおける AI 活用事例 PyCon JP 2018
Search
Ryusuke Chiba
September 17, 2018
Technology
8
6.9k
メルカリにおける AI 活用事例 PyCon JP 2018
Ryusuke Chiba
September 17, 2018
Tweet
Share
More Decks by Ryusuke Chiba
See All by Ryusuke Chiba
10Xの検索を10xしたい at 第49回Elasticsearch勉強会
metalunk
0
520
10Xの検索を10xしたい at 【10X/M3/CADDi】検索エンジン運用勉強会
metalunk
5
1.4k
プログラマのための線形代数 おまけ
metalunk
1
150
メルカリの機械学習基盤 これまでとこれから ML Ops Study #2
metalunk
0
880
機械学習によるマーケット健全化 Mercari ML Ops Night #1
metalunk
3
5.5k
Other Decks in Technology
See All in Technology
小さなチーム 大きな仕事 - 個人開発でAIをフル活用する
himaratsu
0
150
カミナシ社の『ID管理基盤』製品内製 - その意思決定背景と2年間の進化 #AWSUnicornDay / Kaminashi ID - The Big Whys
kaminashi
3
660
「魔法少女まどか☆マギカ Magia Exedra」のグローバル展開を支える、開発チームと翻訳チームの「意識しない協創」を実現するローカライズシステム
gree_tech
PRO
0
360
つくって納得、つかって実感! 大規模言語モデルことはじめ
recruitengineers
PRO
31
11k
Grafana MCPサーバーによるAIエージェント経由でのGrafanaダッシュボード動的生成
hamadakoji
1
850
PRDの正しい使い方 ~AI時代にも効く思考・対話・成長ツールとして~
techtekt
PRO
0
100
Browser
recruitengineers
PRO
6
2k
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
30k
AIエージェント就活入門 - MCPが履歴書になる未来
eltociear
0
680
JavaScript 研修
recruitengineers
PRO
6
1.3k
新規案件の立ち上げ専門チームから見たAI駆動開発の始め方
shuyakinjo
0
610
Microsoft Fabric のネットワーク保護のアップデートについて
ryomaru0825
1
120
Featured
See All Featured
How to Ace a Technical Interview
jacobian
279
23k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
830
Art, The Web, and Tiny UX
lynnandtonic
302
21k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
131
19k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
36
2.5k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Git: the NoSQL Database
bkeepers
PRO
431
66k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
1.1k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Mobile First: as difficult as doing things right
swwweet
224
9.9k
How STYLIGHT went responsive
nonsquared
100
5.8k
Transcript
メルカリにおける AI 活用事例 PyCon JP 2018 Ryusuke Chiba @metalunk
発表タイトルについて弁明 申し込み時点で完成していなかったものを発表したかったので,もしもできなかったとき のために,曖昧なタイトルにしました... > メルカリにおける AI 活用事例 画像検索はだいたいできたので話せることになりました!
自己紹介 Ryusuke Chiba @metalunk • グリー ◦ GREE News ◦
消滅都市 • 数理最適化 • メルカリ ◦ 検索 ◦ 機械学習基盤 (SysML)
きょう話すこと メルカリで Python を使っている事例についてお話しします • メルカリにおける機械学習の活用事例ざっくり • 画像検索機能をつくった話 • 量子アニーリングインターンの話
メルカリでの Python いまのところメルカリでは Python を使っているのはほとんど Team-AI だけ(あとは Search チームくらい) しかし,マイクロサービス化が進んでおり,それぞれのサービスにぴったりな言語を自由
に選択できる!
メルカリにおける機械学習 Machine Learning Usage in Mercari
メルカリのご紹介 「メルカリ」は、個人がスマホで簡単に売り買いを楽しめる、CtoCマーケットプレイスです。
メルカリのご紹介 2013年7月に日本での提供を開始しました。 2014年9月にUS、2017年3月にはUKにおいてもサービスの提供を開始しています。 ※ 1.累計ダウンロード数は、各月末の累計数を記載しております。 2.累計ダウンロード数及び登録MAUには「メルカリ カウル」、「メルチャリ」は含んでおりません。 3.登録MAUは、「登録Monthly Active User」の略であり、「メルカリ」に登録
しているユーザーのうち、1ヶ月に一度以上「メルカリ」を利用したユーザーを集計しております。 4.登録MAUの四半期平均を記載しております。 5.流通総額は取引高の合計(「メルカリ カウル」を経由した購入を含む)を記載しており、四半期 毎の合計額となっております。為替レートについては、各月の期中の期中平均為替レートを使用しております。 累計ダウンロード数(1)(2) 百万件 1億件突破 20156月 期 20166月 期 20176月 期 20176月 期 登録MAU(2)(3)(4) 百万人 1,075万人 20156月 期 20166月 期 20176月 期 20176月 期 流通総額(5) 十億円 961億円 20156月 期 20166月 期 20176月 期 20176月 期
メルカリが保有するデータの種類
メルカリが保有するデータ規模
メルカリにおける機械学習の取り組み 「簡単」な売買 • 画像認識による商品タイトル、情報自動入力 (JP, US) • 商品の重さ推定 (US) •
商品の値段推定 (US) 「安全」な売買 • 類似画像検索 (JP) • マルチモーダルによる違法出品検知 (JP)
画像認識によるタイトル,カテゴリ,ブランド自動入力 簡単 !
機械学習基盤 Machine Learning Platform
チーム構成 Sculley, et al, “Hidden Technical Debt in Machine Learning
Systems”, NIPS 2015 https://papers.nips.cc/paper/5656-hidden-technical-debt-in-machine-learning-systems.pdf メルカリ Team-AI 機械学習エンジニア SysML
機械学習基盤 メルカリでは内製の機械学習基盤をつくっています 1. つくったモデルをかんたんにデプロイ a. 設定ファイルさえ書けば出せるように 2. モデルの管理 a. バージョン管理,デグレしない
3. Kubernetes a. Container による再現性 b. Resource management 4. Component の再利用 a. たとえばある分類器のために作られた Feature Extraction は他でも使える
構成
画像検索 Image Retrieval
モチベーション 画像をクエリにし,画像が似ている商品を探し出す まずは社内の Customer Support Tool に提供 • 違反出品を発見したときに,似ている商品を検索し一網打尽 •
商品についての何らかの判定モデルを作るときの教師データ収集 自分は基盤を作る役割
画像検索の仕組み - 全体像
画像検索の仕組み - Feature Extraction 画像をベクトルに変換する 今回は商品のカテゴリとブランドを当てられるようにトレーニングした Deep Neural Networks の中間層のベクトルを利用する
画像検索の仕組み - Faiss Faiss Facebook AI Research 製の類似検索 / クラスタリング用ライブラリ
C++ 製だが,Python wrapper をもつ Johnson et al, “Billion-scale similarity search with GPUs”, https://arxiv.org/pdf/1702.08734.pdf, 2017
画像検索の仕組み - 全体像
構成
構成
画像検索
量子アニーリング Quantum Annealing
急に量子...? https://tech.mercari.com/entry/professional_internship 量子アニーリングマシンである D-Wave を使ったインターンを実施しま した そして D-Wave は Python
API を提供 している!
量子アニーリングとは? 量子アニーリングマシンである D-Wave は QUBO (Quadratic Unconstrained Binaly Optimization Problem)
という形の最適化問題の近似解(精度保証はなし)を得られま す Media Resources https://www.dwavesys.com/resources/media-resources
かんたんな D-Wave の使い方 1. 好きな最適化問題を QUBO に変換し,パラメータ Q を得ます 2.
Python で D-Wave API を叩きます 3. カナダの D-Wave マシンに Q が送られ,量子効果により答え(最適解とは限らな い)が得られます 4. 変換の逆操作で,元の問題の解に戻します
かんたんな D-Wave の使い方 https://github.com/dwavesystems/qbsolv/blob/master/examples/tryDwaveQbsolv.py これは実際は CPU で解かれているシミュレータで,QPU を使いたい場合は D-Wave に発行された
token が必要になる
量子アニーリングインターン • yonesuke ◦ 「D-WaveマシンでGraph Golfに挑戦した話」 ◦ https://tech.mercari.com/entry/2018/09/11/171607 • @__ukun
◦ 「D-waveマシンで最大カット問題を解く」 ◦ https://tech.mercari.com/entry/2018/09/13/165921
まとめ Conclusion
まとめ メルカリの Python 利用事例について話しました • 機械学習の活用事例ざっくり • 機械学習基盤の説明 • 画像検索の説明
• 量子アニーリングの説明 メルカリブース出してます!