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
ウォンテッドリーの推薦システム開発を支える評価とデプロイの仕組み
Search
chimuichimu
October 30, 2024
1
580
ウォンテッドリーの推薦システム開発を支える評価とデプロイの仕組み
chimuichimu
October 30, 2024
Tweet
Share
More Decks by chimuichimu
See All by chimuichimu
PydanticAI × Logfire ではじめる LLM エージェントのモニタリング
chimuichimu
2
320
進化計算ライブラリ DEAP の紹介
chimuichimu
2
58
Spotify Web API を使った分析で新しいお気に入りアーティストを発見する
chimuichimu
3
150
非競プロ勢によるUSPTOコンペ参加記
chimuichimu
2
1.2k
ウォンテッドリーのプロダクト開発における Python の開発・運用環境
chimuichimu
4
1.3k
会社訪問アプリ Wantedly Visit における 相互推薦システムの活用事例
chimuichimu
3
590
アウトプットを頑張り始めたデータサイエンティストの話
chimuichimu
7
1.2k
ざっくり理解するベクトル検索
chimuichimu
3
890
PolarsとPanderaで実現する高速でロバストなデータ処理
chimuichimu
6
2.8k
Featured
See All Featured
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
45
2.2k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
How to Think Like a Performance Engineer
csswizardry
22
1.2k
Building Applications with DynamoDB
mza
91
6.1k
The Invisible Side of Design
smashingmag
298
50k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
1.2k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
2
290
Measuring & Analyzing Core Web Vitals
bluesmoon
4
170
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Optimizing for Happiness
mojombo
376
70k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
247
1.3M
Transcript
© 2024 Wantedly, Inc. ウォンテッドリーの推薦システム開発を支え る評価とデプロイの仕組み Recommendation Industry Talks #4
Oct. 30 2024 - Chiaki Ichimura
自己紹介 © 2024 Wantedly, Inc. 名前: 市村 千晃 所属と役割: •
ウォンテッドリー株式会社 • データサイエンティスト • 推薦システムの開発、運用に従事 @chimuichimu1
会社・プロダクト紹介 © 2024 Wantedly, Inc.
© 2023 Wantedly, Inc. 究極の適材適所により、 シゴトでココロオドルひとをふやす © 2024 Wantedly, Inc.
私たちのミッション
© 2024 Wantedly, Inc. iOS, Android and Web 気軽に会社訪問 ミッションや価値観への共感でマッチング
• 給与や福利厚生などの条件ではなく、想いがあれば会社の規 模にとらわれない まず「話を聞きに行く」という新しい体験 • 個人と企業がフラットな目線で出会えることで、より魅力的な場 所を見つけることが可能に Wantedly Visit
Wantedly Visit - プラットフォーム構造 仕事を探すユーザーと人材を探す企業がであい、つながる ツーサイドのプラットフォーム
© 2024 Wantedly, Inc. Wantedly Visit - グロースサイクル プロダクトの成長にはマッチングの促進が必要不可欠
マッチングを実現する推薦システム マッチングの実現のため 推薦システムを最も重要な技術領域の一つとして開発に注力
ウォンテッドリーにおける 推薦システム開発 © 2024 Wantedly, Inc.
© 2024 Wantedly, Inc. どこで推薦システムが活用されているか? 機械学習を活用することで、 ユーザーの仕事に関する嗜好を捉え、 ユーザーがココロオドル仕事に出会える体験を実現 ユーザーが見る募集の一覧
どのように推薦システムを開発しているか? © 2024 Wantedly, Inc. • 問題発見から運用まで、データサイエンティストが一気通貫で担当 • 推薦ロジックの改善や、新しい推薦体験の開発を実施 問題発見
課題定義 解決策の 実装 オフライン評 価 デプロイ オンライン評 価 運用 データサイエンティストの開発スコープ
推薦システム開発において大事にしていること © 2024 Wantedly, Inc. 実験主義であること 「最終的な答えを持つのはユーザーのみである」という姿勢のもと 延々と議論するよりも、ユーザーの反応を見ることを重視し そこから得た学びを次の行動に繋げる
「実験主義」であるために必要なことは? © 2024 Wantedly, Inc. 実験の効率性 実装→評価→ユーザーへの提示のサイクルを高速に回し、 仮説検証とユーザーへの価値提供をクイックに実施すること 実験の品質 検証したいことを正しく検証することで、1つの実験から得られる学びを最大化
すること
「実験主義」を支える仕組み © 2024 Wantedly, Inc. 問題発見 課題定義 解決策の 実装 オフライン評
価 デプロイ オンライン評 価 運用 「実験主義」を実現するための オフライン評価とデプロイの仕組みを紹介
オフライン評価の仕組みの紹介 © 2024 Wantedly, Inc.
前提:なぜオフライン評価をするのか? © 2024 Wantedly, Inc. 試行錯誤のサイクルを高速に回すため ログデータを使った評価は、オンライン評価に比べ時間的コストが低い 意図せぬユーザー体験の毀損を防ぐため オンライン評価前に、ユーザー体験悪化のリスクを最小化する 意図した変化が実現できているかを確認するため
問題が解決した状態を作れているか?をユーザーに出す前に確認
過去に起きていた課題① 実験の効率性に関する課題 © 2024 Wantedly, Inc. 施策のたびにオフライン評価を準備するのに時間がかかる • 施策ごとに担当者が基本的にスクラッチで評価コードを実装 •
実装やレビューにかかるコストが大きかった
過去に起きていた課題② 実験の品質に関する課題 © 2024 Wantedly, Inc. オフライン評価とオンライン評価の結果の乖離 • オフラインで指標が改善 →
オンラインで指標が悪化、というケース • 要因の一つ:ユーザーが見るものとは異なる推薦を評価していた 推薦モデル ランキング データ 推論サーバー による処理 ユーザーが 見るリスト 評価していたもの 本来評価すべきもの • ユーザー指定のフィルタ • ルールベースの後処理 • etc.
取り組んだこと © 2024 Wantedly, Inc. オフライン評価用ライブラリを内製し、評価プロセスに活用 DataLoader 旧ランキング 新ランキング Reproducer
旧ランキング 新ランキング Evaluator 評価結果 Config
取り組んだこと © 2024 Wantedly, Inc. オフライン評価用ライブラリを内製し、評価プロセスに活用 DataLoader 旧ランキング 新ランキング Reproducer
旧ランキング 新ランキング Evaluator 評価結果 Config 使い回す処理を関数化したうえ Config ベースで評価を設定できるように
取り組んだこと © 2024 Wantedly, Inc. オフライン評価用ライブラリを内製し、評価プロセスに活用 DataLoader 旧ランキング 新ランキング Reproducer
旧ランキング 新ランキング Evaluator 評価結果 Config 評価をするだけでなく、推薦結果を再現する ためのコンポーネントを実現
得られた成果 © 2024 Wantedly, Inc. 施策にかかる時間の短縮 🎉 実装・レビューのコスト減により、施策にかかる時間が半日~2日短縮 オンラインテスト結果が従来より想定に近くなった 🎉
オフライン評価とオンライン評価の指標の相関が向上し、オンライン評価に移 行する意思決定の品質が改善
デプロイの仕組みの紹介 © 2024 Wantedly, Inc.
前提:推薦結果がユーザーに届くまで © 2024 Wantedly, Inc. 推薦結果を基に、検索・表示の制御やA/Bテ ストの適用を行う
従来のリリースフロー © 2024 Wantedly, Inc. DS 推薦基盤 エンジニア ロジック実装 ランキングデータを
BQに作成 新しいデータを 利用する実装 リリース モニタリング
過去に起きていた課題 © 2024 Wantedly, Inc. デプロイまでのリードタイム 推薦基盤の推論サーバーの実装に2-3日程度必要 リリースに DS と推薦基盤エンジニアの2人が必要
コミュニケーションロスによるリスク 推薦基盤エンジニアが DS 側の意図を汲み取り、実装する必要あり コミュニケーションロスにより、意図せぬリリースやオンラインテストが行われ るリスク
取り組んだこと © 2024 Wantedly, Inc. ランキングリリース用のインターフェースの定義 DS 推薦基盤 エンジニア XXの条件下で〇〇のランキン
グデータを出して、テスト方法 は△△で... DS 従来 スキーマファイルに 必要な情報を記述 現在
取り組んだこと © 2024 Wantedly, Inc. スキーマファイルからプログラムの自動生成 スキーマファイルの情報 • ランキングの条件分岐 •
テスト形式(AB or Interleaving) から推論コード(+フロー図)を自動生成 .go
得られた成果 © 2024 Wantedly, Inc. デプロイのリードタイム短縮 🎉 デプロイにかかる時間が 2-3日 →
半日 まで短縮 オンラインテストを始めよう、と思ったその日に開始できる環境に データサイエンティスト単独でのデプロイが可能に 🎉 設定と実装が分離されたことで、DS 単独でも正確なデプロイが可能に
まとめ © 2024 Wantedly, Inc.
まとめ © 2024 Wantedly, Inc. • ウォンテッドリーでは「実験を重視する文化」を大事にして推薦シ ステムの開発に取り組んでいる • オフライン評価とデプロイの仕組み化により、実験の効率と品質
を高め、理想的なマッチングの実現を目指している
もっと詳しく知りたい人へ © 2024 Wantedly, Inc. • 開発プロセス全般 ◦ ウォンテッドリーにおける推薦システム開発の流れ •
オフライン評価 ◦ ウォンテッドリーにおける推薦システムのオフライン評価の仕組み • デプロイ ◦ オンラインテストしようと思った その日に開始できる環境を目指して ◦ データサイエンティストと効果的にコラボレーションするためのインター フェースづくり
We are Hiring !!! © 2024 Wantedly, Inc. データの力で理想的なマッチングを実現する仲間を募集中! カジュアル面談ページ