マッチング理論に基づく推薦とそれを支えるMLOps開発
by
CyberAgent
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
マッチング理論に基づく推薦 とそれを支えるMLOps開発 Matsuzuki Daisuke Tomita Yoji
Slide 2
Slide 2 text
松月 大輔(まつづき だいすけ) 入社:2020年新卒 職種:MLエンジニア 所属:メディア事業部/技術本部 /MDTS/DSC 専門領域:Computer Vision 趣味:スポーツ全般,麻雀,F1観戦 冨田 燿志(とみた ようじ) 入社:2020年新卒 職種:リサーチサイエンティスト 所属:AI事業本部/AI Lab/Econ SI 専門領域:マーケットデザイン, マッチン グ理論, ゲーム理論 趣味:サッカー観戦, 漫画・小説
Slide 3
Slide 3 text
マッチング理論に基づく推薦
Slide 4
Slide 4 text
タップルにおけるレコメンド ● タップルでマッチングするまで ○ おすすめされたユーザーのプロフィールを確認 ○ いいかも(右フリック)かイマイチ(左フリック)か選択 ○ 送ったいいかもにありがとうをされるか、 相手から届いたいいかもにありがとうをするとマッチング ○ マッチングが成立するとメッセージ交換が可能に ● 適切におすすめ(レコメンド)することが重要
Slide 5
Slide 5 text
相互推薦システム(RRS) ● 相互推薦システム(Reciprocal Recommender Systems; RRS) ○ ユーザーに他のユーザーをレコメンドするシステム ○ 例:求人・就職サービス(求職者/企業)、マッチングアプリ(男性/女性)、など ● 通常のRRSの流れ ○ 行動履歴から男性ユーザーから女性ユーザーへの興味スコアと、 女性ユーザーから男性ユーザーへの興味スコアを、 それぞれ通常の推薦の手法(行列分解など)によって算出 ○ 集約関数で相互興味スコアを計算 ■ 平均、幾何平均、調和平均など ○ 相互興味スコア順に推薦
Slide 6
Slide 6 text
RRSの課題 ● 被推薦機会の集中・不平等 ○ 一部の人気ユーザーは、多くの人から興味スコアが高くなる。 → 集約された相互興味スコアも人気ユーザーは高くなりやすい。 → 一部のユーザーは何度も数多く推薦されて推薦機会が集中し、 他のユーザーは推薦される機会の少なくなる不平等な状況に陥りやすい。
Slide 7
Slide 7 text
RRSとマッチング理論 ● RRSに重要な2つの観点 ○ 相互の興味の一致 ■ ユーザーAがユーザーBに強く興味を持っていても、 ユーザーBがユーザーAに興味がないなら推薦効果はない。 ○ マッチングキャパシティ ■ 人気ユーザーAを何度も推薦してユーザー Aが数多くのいいかもを集めても、 ユーザーAが実際にメッセージやり取りや会うことのできる人数は時間的・物理的に限られる。 ● マッチング理論 ○ 人と人、あるいは人とモノの適切な割り当てを、 それぞれの好みと制約(キャパシティ)から決める仕組みを探る経済学・CSの一分野。 ● マッチング理論を活用したRRSにより、推薦機会の集中の緩和が期待できる。
Slide 8
Slide 8 text
マッチング理論に基づく推薦 ● MTRS(Matching Theory-based Recommeder Systems) ○ 男性ユーザーから女性ユーザー、女性ユーザーから男性ユーザへの興味スコアを、 通常の推薦の手法(行列分解など)により算出するのは同様。 ○ 興味スコアと制約をもとに、マッチング理論のアルゴリズムにより 適切なマッチングを計算し、その結果に基づいて推薦を行う。 ○ マッチングアルゴリズムはさまざま ■ Gale-Shapley (1962), Choo-Siow (2006), など ● プロジェクト ○ Chen-Hsieh-Lin (2021) を参考に、 Choo-Siow (2006)に基づくRRS の導入を目指している。
Slide 9
Slide 9 text
MLOpsについて
Slide 10
Slide 10 text
タップルのレコメンドシステムにおけるMLOps - Feature - batch学習 - FeatureStore - Ranker - モデルの学習 - 推論APIの提供 - Candidate Generator Development Developer DSC AILab tapple Intern
Slide 11
Slide 11 text
VertexAI - 2021年5月にリリース - Pipeline - workflowを定義 - FeatureStore - 特徴量ストア - WorkBench(Notebook) - Notebookで簡単にPipelineの設計が可能 VertexAIに関してはサイバーエージェントcam所属の原和希氏による紹介資料が分かり やすい https://speakerdeck.com/cyberagentdevelopers/vertexaidegou-zhu-sitamlopsji-p an-falsequ-rizu-mi
Slide 12
Slide 12 text
構築したシステムの例
Slide 13
Slide 13 text
Vertex Pipelines - Kubeflow Pipelinesをフルマネージドで実行可能 - GCP製品と親和性が高い - BigQureyやCloudStorageとのやり取りが多い - Artifactなど中間生成物も全てGCPで完結できる - Custom JobsはPipeline実行時にインスタンスが立ち上 がる - 運用コストの削減 - 開発者はComponentの繋げ方を定義するPipelineを設 計する - 専門性の横断が可能 - 責任範囲の曖昧さを解消することが重要 BQから学習データを ロードする モデルを学習する
Slide 14
Slide 14 text
構築したPipelineの例 - データセットの準備 - FeatureStore - CloudStorage - BigQuery - モデルの学習 - metricsの設定 - モデル精度のモニタリング - ModelRegistry - モデルの保存庫 - モデルのデプロイ - リリースするモデルの書き換え
Slide 15
Slide 15 text
チュートリアルの設計 - 様々な所属のdeveloperが開発 - 他所属の方や、インターン生など - プロジェクトに入る人が最初に実行するチュートリアルを設計 - Pipelineの設計からデプロイまで - 依存サービスが多くなる - Sparkを使用したい - DataProcを使用 - GCSの扱い方 - Pipelineに関するデータ - 中間生成物 Pipelineの設計のプロセスと、運用ルールをチュートリアルで学ぶ
Slide 16
Slide 16 text
VertexPipelines導入に関して ● 簡単に機械学習ワークフローを 設計可能 ● レビュワーの負担が小さい ● 共通の処理がある場合の汎用 化も容易 ● GCP製品との親和性が高い メリット ● 依存システムが多くなる場合の コード管理 ○ DataProc(spark) ○ カスタムエンドポイントの 設計 ● testが難しい ● componentエラー時の対応 課題