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
マッチング理論に基づく推薦とそれを支えるMLOps開発
Search
CyberAgent
PRO
September 21, 2022
Technology
0
1.3k
マッチング理論に基づく推薦とそれを支えるMLOps開発
CyberAgent
PRO
September 21, 2022
Tweet
Share
More Decks by CyberAgent
See All by CyberAgent
CA.swift19_恋するAIアプリ開発の裏側
cyberagentdevelopers
PRO
0
13
CLのウィジェット開発について
cyberagentdevelopers
PRO
0
6
少数チームで挑む: SwiftUI, TCA, KMPを用いた 新規動画配信アプリ
cyberagentdevelopers
PRO
1
5
ABEMAの課金機能の刷新について:- StoreKit2によるiOSのアプリ内課金のリニューアル
cyberagentdevelopers
PRO
0
2
同時に複数購読可能なサブスクリプションを提供する
cyberagentdevelopers
PRO
0
2
Flutter × Rive 魅力的なアニメーション
cyberagentdevelopers
PRO
0
94
Serverpodを活用したDartのフルスタックアプリケーション開発
cyberagentdevelopers
PRO
0
110
認知負荷を打開するFlutter的アプローチ
cyberagentdevelopers
PRO
1
95
協業小売DX事業におけるデータマネジメント
cyberagentdevelopers
PRO
2
160
Other Decks in Technology
See All in Technology
Apple Vision Pro trial session
akkeylab
0
120
WebアプリケーションにおけるPDOの使い方入門 / phpcon odawara 2024
meihei3
2
420
SREとその組織類型
tatsuo48
8
1.5k
LLM とプロンプトエンジニアリング/チューターをビルドする / LLM and Prompt Engineering and Building Tutors
ks91
PRO
0
220
HEXA OSINT CTF V3 作戦会議
meow_noisy
0
110
社内勉強会運営のコツ
senoo
6
1.1k
Next'24 事例セッションの紹介とクラウド資格を活用したキャリア形成について語りMuscle
yasumuusan
0
300
マルチアカウント環境への発見的統制の導入
ch1aki
1
1.3k
スタートアップの技術顧問を3年間続けて発生した事と気付き
biwakonbu
0
150
レガシーをぶっ壊せ。AEONで始めるDevRelの話 / Qiita Night 2024-2-22
aeonpeople
3
140
反実仮想機械学習とは何か
usaito
PRO
6
1.7k
「共通基盤」を超えよ! 今、Platform Engineeringに取り組むべき理由
jacopen
25
5.8k
Featured
See All Featured
Designing the Hi-DPI Web
ddemaree
276
33k
Mobile First: as difficult as doing things right
swwweet
216
8.6k
The Invisible Customer
myddelton
114
12k
Building a Scalable Design System with Sketch
lauravandoore
455
32k
4 Signs Your Business is Dying
shpigford
175
21k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
18
6.9k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
272
13k
Web development in the modern age
philhawksworth
201
10k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
75
41k
YesSQL, Process and Tooling at Scale
rocio
162
13k
Unsuck your backbone
ammeep
662
57k
Practical Orchestrator
shlominoach
181
9.7k
Transcript
マッチング理論に基づく推薦 とそれを支えるMLOps開発 Matsuzuki Daisuke Tomita Yoji
松月 大輔(まつづき だいすけ) 入社:2020年新卒 職種:MLエンジニア 所属:メディア事業部/技術本部 /MDTS/DSC 専門領域:Computer Vision 趣味:スポーツ全般,麻雀,F1観戦
冨田 燿志(とみた ようじ) 入社:2020年新卒 職種:リサーチサイエンティスト 所属:AI事業本部/AI Lab/Econ SI 専門領域:マーケットデザイン, マッチン グ理論, ゲーム理論 趣味:サッカー観戦, 漫画・小説
マッチング理論に基づく推薦
タップルにおけるレコメンド • タップルでマッチングするまで ◦ おすすめされたユーザーのプロフィールを確認 ◦ いいかも(右フリック)かイマイチ(左フリック)か選択 ◦ 送ったいいかもにありがとうをされるか、 相手から届いたいいかもにありがとうをするとマッチング
◦ マッチングが成立するとメッセージ交換が可能に • 適切におすすめ(レコメンド)することが重要
相互推薦システム(RRS) • 相互推薦システム(Reciprocal Recommender Systems; RRS) ◦ ユーザーに他のユーザーをレコメンドするシステム ◦ 例:求人・就職サービス(求職者/企業)、マッチングアプリ(男性/女性)、など
• 通常のRRSの流れ ◦ 行動履歴から男性ユーザーから女性ユーザーへの興味スコアと、 女性ユーザーから男性ユーザーへの興味スコアを、 それぞれ通常の推薦の手法(行列分解など)によって算出 ◦ 集約関数で相互興味スコアを計算 ▪ 平均、幾何平均、調和平均など ◦ 相互興味スコア順に推薦
RRSの課題 • 被推薦機会の集中・不平等 ◦ 一部の人気ユーザーは、多くの人から興味スコアが高くなる。 → 集約された相互興味スコアも人気ユーザーは高くなりやすい。 → 一部のユーザーは何度も数多く推薦されて推薦機会が集中し、
他のユーザーは推薦される機会の少なくなる不平等な状況に陥りやすい。
RRSとマッチング理論 • RRSに重要な2つの観点 ◦ 相互の興味の一致 ▪ ユーザーAがユーザーBに強く興味を持っていても、 ユーザーBがユーザーAに興味がないなら推薦効果はない。 ◦ マッチングキャパシティ
▪ 人気ユーザーAを何度も推薦してユーザー Aが数多くのいいかもを集めても、 ユーザーAが実際にメッセージやり取りや会うことのできる人数は時間的・物理的に限られる。 • マッチング理論 ◦ 人と人、あるいは人とモノの適切な割り当てを、 それぞれの好みと制約(キャパシティ)から決める仕組みを探る経済学・CSの一分野。 • マッチング理論を活用したRRSにより、推薦機会の集中の緩和が期待できる。
マッチング理論に基づく推薦 • MTRS(Matching Theory-based Recommeder Systems) ◦ 男性ユーザーから女性ユーザー、女性ユーザーから男性ユーザへの興味スコアを、 通常の推薦の手法(行列分解など)により算出するのは同様。 ◦
興味スコアと制約をもとに、マッチング理論のアルゴリズムにより 適切なマッチングを計算し、その結果に基づいて推薦を行う。 ◦ マッチングアルゴリズムはさまざま ▪ Gale-Shapley (1962), Choo-Siow (2006), など • プロジェクト ◦ Chen-Hsieh-Lin (2021) を参考に、 Choo-Siow (2006)に基づくRRS の導入を目指している。
MLOpsについて
タップルのレコメンドシステムにおけるMLOps - Feature - batch学習 - FeatureStore - Ranker -
モデルの学習 - 推論APIの提供 - Candidate Generator Development Developer DSC AILab tapple Intern
VertexAI - 2021年5月にリリース - Pipeline - workflowを定義 - FeatureStore -
特徴量ストア - WorkBench(Notebook) - Notebookで簡単にPipelineの設計が可能 VertexAIに関してはサイバーエージェントcam所属の原和希氏による紹介資料が分かり やすい https://speakerdeck.com/cyberagentdevelopers/vertexaidegou-zhu-sitamlopsji-p an-falsequ-rizu-mi
構築したシステムの例
Vertex Pipelines - Kubeflow Pipelinesをフルマネージドで実行可能 - GCP製品と親和性が高い - BigQureyやCloudStorageとのやり取りが多い -
Artifactなど中間生成物も全てGCPで完結できる - Custom JobsはPipeline実行時にインスタンスが立ち上 がる - 運用コストの削減 - 開発者はComponentの繋げ方を定義するPipelineを設 計する - 専門性の横断が可能 - 責任範囲の曖昧さを解消することが重要 BQから学習データを ロードする モデルを学習する
構築したPipelineの例 - データセットの準備 - FeatureStore - CloudStorage - BigQuery -
モデルの学習 - metricsの設定 - モデル精度のモニタリング - ModelRegistry - モデルの保存庫 - モデルのデプロイ - リリースするモデルの書き換え
チュートリアルの設計 - 様々な所属のdeveloperが開発 - 他所属の方や、インターン生など - プロジェクトに入る人が最初に実行するチュートリアルを設計 - Pipelineの設計からデプロイまで -
依存サービスが多くなる - Sparkを使用したい - DataProcを使用 - GCSの扱い方 - Pipelineに関するデータ - 中間生成物 Pipelineの設計のプロセスと、運用ルールをチュートリアルで学ぶ
VertexPipelines導入に関して • 簡単に機械学習ワークフローを 設計可能 • レビュワーの負担が小さい • 共通の処理がある場合の汎用 化も容易 •
GCP製品との親和性が高い メリット • 依存システムが多くなる場合の コード管理 ◦ DataProc(spark) ◦ カスタムエンドポイントの 設計 • testが難しい • componentエラー時の対応 課題