https://mlops.connpass.com/event/286716/
© 2023 Wantedly, Inc.オンラインテストしようと思ったその日に開始できる環境を目指してMLOps LT大会 2023/7月Jul. 12 2023 - Hazumi Ichijo
View Slide
自己紹介© 2023 Wantedly, Inc.一條 端澄 @hazumirr/@rerost略歴:2018~ : ウォンテッドリー株式会社● 2018/04~ 推薦基盤チーム エンジニア● 2021/09~ 推薦チーム プロジェクトマネージャー● 2022/06~ 推薦チーム リーダー趣味: テトリス・旅行
© 2023 Wantedly, Inc.プロダクトについて© 2023 Wantedly, Inc.WHAT| 個人向けサービス / 法人向けサービス会社に遊びに行こう「カジュアル面談」という仕事探しの新基準•人とチームを「想い」でマッチング•「話を聞きに行く」体験を通じてフラットな出会いを創出進化を続けるUIと基盤•コンテンツが映えるモダンでシンプルな UI表現•より本質的なマッチングを可能にする推薦アルゴリズム
推薦チームについて● データサイエンティスト(DS)● 4人● 役割: ユーザーと企業のマッチングアルゴリズムの開発● スキル○ 機械学習○ データ分析● 推薦基盤● 2人● 役割: 既存のシステムとDSの橋渡し● スキル○ バックエンド・インフラ○ データ分析基盤(Looker, BigQuery, etc…)© 2023 Wantedly, Inc.
推薦チームについて1. プロダクトインパクト● 2022年度は推薦によって主要KPIが+20%改善2. オンラインテストの頻度● 最近では、毎月1~3つのテストが開始される3. 機械学習での推論方法● 主にバッチ© 2023 Wantedly, Inc.
推薦基盤チームがプロダクト利用者に提供する価値● アルゴリズム改善の速度○ リードタイム○ 頻度● 壊れにくい推薦● 良いアルゴリズムをより広く早く提供する○ 例: メール送信、デバイス(Web, iOS, Android, …)© 2023 Wantedly, Inc.
仕組み© 2023 Wantedly, Inc.推論 & 結果を保存推論結果を使い推薦募集一覧APIPush通知メール送信etc..
旧リリースフロー© 2023 Wantedly, Inc.作成初回のデータを生成モニタリングワークフローの設定実装 リリースDS推薦基盤
旧リリースフロー© 2023 Wantedly, Inc.作成初回のデータを生成モニタリングワークフローの設定実装 リリース1時間 2~3日半日 ジョブの待ち時間DS推薦基盤
旧リリースフロー© 2023 Wantedly, Inc.作成初回のデータを生成モニタリングワークフローの設定実装 リリース1時間 2~3日半日 ジョブの待ち時間人をまたぐコストも高いDS推薦基盤
ボトルネック1. ワークフローの設定● DBのデータや他の推論結果との依存関係の記述● Argo Workflowの設定(マニフェスト手書き)2. 実装● 意図を汲み取り実装● 実装しないといけない箇所がいくつかあり壊さないようにする3. コミュニケーション● ミスコミュニケーションによる手戻りのリスク● 同じことをしたくとも人に合わせて別々の言葉を使う必要あり● リソース確保© 2023 Wantedly, Inc.
改善1. ワークフローの設定● DBのデータや他の推論結果との依存関係の記述● Argo Workflowの設定(マニフェスト手書き)2. 実装● 意図を汲み取り実装● 実装しないといけない箇所がいくつかあり壊さないようにする3. コミュニケーション● ミスコミュニケーションによる手戻りのリスク● 同じことをしたくとも人に合わせて別々の言葉を使う必要あり● リソース確保© 2023 Wantedly, Inc.
改善 ワークフローの設定© 2023 Wantedly, Inc.name: sampleoption:team: recommendationjobs:- name: jobAcommand: "echo A"option:repo: repo- name: jobBcommand: "echo B"dependencies: [jobA]option:repo: repohttps://github.com/rerost/dagg● DBのデータや他の推論結果との依存関係の記述● Argo Workflowの設定(マニフェスト手書き)=> 依存関係と実行方法のみに集中
© 2023 Wantedly, Inc.作成初回のデータを生成モニタリングワークフローの設定実装 リリース1時間 2~3日半日改善 ワークフローの設定
© 2023 Wantedly, Inc.作成初回のデータを生成モニタリングワークフローの設定実装 リリース15分 2~3日半日改善 ワークフローの設定
© 2023 Wantedly, Inc.作成初回のデータを生成モニタリングワークフローの設定実装 リリース15分 2~3日半日改善 実装
改善 実装 before© 2023 Wantedly, Inc.● BQに吐かれた推論結果を同期● ヒアリングした情報を元に必要な条件で新しいアルゴリズムが利用されるように設定
改善 実装 After© 2023 Wantedly, Inc.以下の設定を書き自動生成するだけに● 推論結果の保存先● どういう条件で表示する○ オンラインテスト?■ AB?■ Interleaving?○ 表示条件■ 強いアルゴリズムが出尽くしたら?■ 新規 or 既存ユーザー?■ …
改善 実装© 2023 Wantedly, Inc.https://www.wantedly.com/companies/wantedly/post_articles/309759
© 2023 Wantedly, Inc.作成初回のデータを生成モニタリングワークフローの設定実装 リリース15分 30分半日改善 実装
改善 コミュニケーション手順は簡潔になったので、残りは人手でチェックしていたことをCIへ● デプロイ前のチェック● マニフェストのバリデーション● 初回データの同期● etc…バックエンドの専門知識が必要ない状態に© 2023 Wantedly, Inc.
© 2023 Wantedly, Inc.作成初回のデータを生成モニタリングワークフローの設定実装 リリース15分 30分改善 実装半日DS
結果1. オンラインテスト開始までのリードタイムの向上● 2~3日 => 半日2. 実装と設定が分離されたことで、システムの改善がしやすくなる● 例:○ 壊れにくい推薦の実現○ 良いアルゴリズムをより広く早く提供しやすいように© 2023 Wantedly, Inc.
© 2023 Wantedly, Inc.