Upgrade to Pro — share decks privately, control downloads, hide ads and more …

オンラインテストしようと思った その日に開始できる環境を目指して

オンラインテストしようと思った その日に開始できる環境を目指して

Hazumi Ichijo

July 12, 2023
Tweet

More Decks by Hazumi Ichijo

Other Decks in Programming

Transcript

  1. 自己紹介 © 2023 Wantedly, Inc. 一條 端澄 @hazumirr/@rerost 略歴: 2018~

    : ウォンテッドリー株式会社 • 2018/04~ 推薦基盤チーム エンジニア • 2021/09~ 推薦チーム プロジェクトマネージャー • 2022/06~ 推薦チーム リーダー 趣味: テトリス・旅行
  2. © 2023 Wantedly, Inc. プロダクトについて © 2023 Wantedly, Inc. WHAT|

    個人向けサービス / 法人向けサービス 会社に遊びに行こう 「カジュアル面談」という仕事探しの新基準 • 人とチームを「想い」でマッチング • 「話を聞きに行く」体験を通じてフラットな出会いを創出 進化を続けるUIと基盤 • コンテンツが映えるモダンでシンプルな UI表現 • より本質的なマッチングを可能にする推薦アルゴリズム
  3. 推薦チームについて • データサイエンティスト(DS) • 4人 • 役割: ユーザーと企業のマッチングアルゴリズムの開発 • スキル

    ◦ 機械学習 ◦ データ分析 • 推薦基盤 • 2人 • 役割: 既存のシステムとDSの橋渡し • スキル ◦ バックエンド・インフラ ◦ データ分析基盤(Looker, BigQuery, etc…) © 2023 Wantedly, Inc.
  4. 推薦基盤チームがプロダクト利用者に提供する価値 • アルゴリズム改善の速度 ◦ リードタイム ◦ 頻度 • 壊れにくい推薦 •

    良いアルゴリズムをより広く早く提供する ◦ 例: メール送信、デバイス(Web, iOS, Android, …) © 2023 Wantedly, Inc.
  5. 推薦基盤チームがプロダクト利用者に提供する価値 • アルゴリズム改善の速度 ◦ リードタイム ◦ 頻度 • 壊れにくい推薦 •

    良いアルゴリズムをより広く早く提供する ◦ 例: メール送信、デバイス(Web, iOS, Android, …) © 2023 Wantedly, Inc.
  6. 仕組み © 2023 Wantedly, Inc. 推論 & 結果 を保存 推論結果を

    使い推薦 募集一覧 API Push通知 メール送信 etc..
  7. 旧リリースフロー © 2023 Wantedly, Inc. 作成 初回のデー タを生成 モニタリング ワークフ

    ローの設定 実装 リリース 1時間 2~3日 半日 ジョブの待ち時間 DS 推薦 基盤
  8. 旧リリースフロー © 2023 Wantedly, Inc. 作成 初回のデー タを生成 モニタリング ワークフ

    ローの設定 実装 リリース 1時間 2~3日 半日 ジョブの待ち時間 人をまたぐコストも高い DS 推薦 基盤
  9. ボトルネック 1. ワークフローの設定 • DBのデータや他の推論結果との依存関係の記述 • Argo Workflowの設定(マニフェスト手書き) 2. 実装

    • 意図を汲み取り実装 • 実装しないといけない箇所がいくつかあり壊さないようにする 3. コミュニケーション • ミスコミュニケーションによる手戻りのリスク • 同じことをしたくとも人に合わせて別々の言葉を使う必要あり • リソース確保 © 2023 Wantedly, Inc.
  10. 改善 1. ワークフローの設定 • DBのデータや他の推論結果との依存関係の記述 • Argo Workflowの設定(マニフェスト手書き) 2. 実装

    • 意図を汲み取り実装 • 実装しないといけない箇所がいくつかあり壊さないようにする 3. コミュニケーション • ミスコミュニケーションによる手戻りのリスク • 同じことをしたくとも人に合わせて別々の言葉を使う必要あり • リソース確保 © 2023 Wantedly, Inc.
  11. 改善 ワークフローの設定 © 2023 Wantedly, Inc. name: sample option: team:

    recommendation jobs: - name: jobA command: "echo A" option: repo: repo - name: jobB command: "echo B" dependencies: [jobA] option: repo: repo https://github.com/rerost/dagg • DBのデータや他の推論結果との依存 関係の記述 • Argo Workflowの設定(マニフェスト 手書き) => 依存関係と実行方法のみに集中
  12. © 2023 Wantedly, Inc. 作成 初回のデー タを生成 モニタリング ワークフ ローの設定

    実装 リリース 1時間 2~3日 半日 改善 ワークフローの設定
  13. © 2023 Wantedly, Inc. 作成 初回のデー タを生成 モニタリング ワークフ ローの設定

    実装 リリース 15分 2~3日 半日 改善 ワークフローの設定
  14. 改善 1. ワークフローの設定 • DBのデータや他の推論結果との依存関係の記述 • Argo Workflowの設定(マニフェスト手書き) 2. 実装

    • 意図を汲み取り実装 • 実装しないといけない箇所がいくつかあり壊さないようにする 3. コミュニケーション • ミスコミュニケーションによる手戻りのリスク • 同じことをしたくとも人に合わせて別々の言葉を使う必要あり • リソース確保 © 2023 Wantedly, Inc.
  15. 改善 実装 before © 2023 Wantedly, Inc. • BQに吐かれた推論結果を同期 •

    ヒアリングした情報を元に必要な条件で 新しいアルゴリズムが利用されるように 設定
  16. 改善 実装 After © 2023 Wantedly, Inc. 以下の設定を書き自動生成するだけに • 推論結果の保存先

    • どういう条件で表示する ◦ オンラインテスト? ▪ AB? ▪ Interleaving? ◦ 表示条件 ▪ 強いアルゴリズムが出尽くした ら? ▪ 新規 or 既存ユーザー? ▪ …
  17. 改善 1. ワークフローの設定 • DBのデータや他の推論結果との依存関係の記述 • Argo Workflowの設定(マニフェスト手書き) 2. 実装

    • 意図を汲み取り実装 • 実装しないといけない箇所がいくつかあり壊さないようにする 3. コミュニケーション • ミスコミュニケーションによる手戻りのリスク • 同じことをしたくとも人に合わせて別々の言葉を使う必要あり • リソース確保 © 2023 Wantedly, Inc.
  18. 結果 1. オンラインテスト開始までのリードタイムの向上 • 2~3日 => 半日 2. 実装と設定が分離されたことで、システムの改善がしやすくなる •

    例: ◦ 壊れにくい推薦の実現 ◦ 良いアルゴリズムをより広く早く提供しやすいように © 2023 Wantedly, Inc.