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.
    オンラインテストしようと思った
    その日に開始できる環境を目指して
    MLOps LT大会 2023/7月
    Jul. 12 2023 - Hazumi Ichijo

    View Slide

  2. 自己紹介
    © 2023 Wantedly, Inc.
    一條 端澄 @hazumirr/@rerost
    略歴:
    2018~ : ウォンテッドリー株式会社
    ● 2018/04~ 推薦基盤チーム エンジニア
    ● 2021/09~ 推薦チーム プロジェクトマネージャー
    ● 2022/06~ 推薦チーム リーダー
    趣味: テトリス・旅行

    View Slide

  3. © 2023 Wantedly, Inc.
    プロダクトについて
    © 2023 Wantedly, Inc.
    WHAT| 個人向けサービス / 法人向けサービス
    会社に遊びに行こう
    「カジュアル面談」という仕事探しの新基準

    人とチームを「想い」でマッチング

    「話を聞きに行く」体験を通じてフラットな出会いを創出
    進化を続けるUIと基盤

    コンテンツが映えるモダンでシンプルな UI表現

    より本質的なマッチングを可能にする推薦アルゴリズム

    View Slide

  4. 推薦チームについて
    ● データサイエンティスト(DS)
    ● 4人
    ● 役割: ユーザーと企業のマッチングアルゴリズムの開発
    ● スキル
    ○ 機械学習
    ○ データ分析
    ● 推薦基盤
    ● 2人
    ● 役割: 既存のシステムとDSの橋渡し
    ● スキル
    ○ バックエンド・インフラ
    ○ データ分析基盤(Looker, BigQuery, etc…)
    © 2023 Wantedly, Inc.

    View Slide

  5. 推薦チームについて
    1. プロダクトインパクト
    ● 2022年度は推薦によって主要KPIが+20%改善
    2. オンラインテストの頻度
    ● 最近では、毎月1~3つのテストが開始される
    3. 機械学習での推論方法
    ● 主にバッチ
    © 2023 Wantedly, Inc.

    View Slide

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

    View Slide

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

    View Slide

  8. 仕組み
    © 2023 Wantedly, Inc.
    推論 & 結果
    を保存
    推論結果を
    使い推薦
    募集一覧
    API
    Push通知
    メール送信
    etc..

    View Slide

  9. 旧リリースフロー
    © 2023 Wantedly, Inc.
    作成
    初回のデー
    タを生成
    モニタリング
    ワークフ
    ローの設定
    実装 リリース
    DS
    推薦
    基盤

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  14. 改善 ワークフローの設定
    © 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の設定(マニフェスト
    手書き)
    => 依存関係と実行方法のみに集中

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  19. 改善 実装 before
    © 2023 Wantedly, Inc.
    ● BQに吐かれた推論結果を同期
    ● ヒアリングした情報を元に必要な条件で
    新しいアルゴリズムが利用されるように
    設定

    View Slide

  20. 改善 実装 After
    © 2023 Wantedly, Inc.
    以下の設定を書き自動生成するだけに
    ● 推論結果の保存先
    ● どういう条件で表示する
    ○ オンラインテスト?
    ■ AB?
    ■ Interleaving?
    ○ 表示条件
    ■ 強いアルゴリズムが出尽くした
    ら?
    ■ 新規 or 既存ユーザー?
    ■ …

    View Slide

  21. 改善 実装
    © 2023 Wantedly, Inc.
    https://www.wantedly.com/companies/wantedly/post_articles/309759

    View Slide

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

    View Slide

  23. © 2023 Wantedly, Inc.
    作成
    初回のデー
    タを生成
    モニタリング
    ワークフ
    ローの設定
    実装 リリース
    15分 30分
    半日
    改善 実装

    View Slide

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

    View Slide

  25. 改善 コミュニケーション
    手順は簡潔になったので、残りは人手でチェックしていたことをCIへ
    ● デプロイ前のチェック
    ● マニフェストのバリデーション
    ● 初回データの同期
    ● etc…
    バックエンドの専門知識が必要ない状態に
    © 2023 Wantedly, Inc.

    View Slide

  26. © 2023 Wantedly, Inc.
    作成
    初回のデー
    タを生成
    モニタリング
    ワークフ
    ローの設定
    実装 リリース
    15分 30分
    半日
    改善 実装

    View Slide

  27. © 2023 Wantedly, Inc.
    作成
    初回のデー
    タを生成
    モニタリング
    ワークフ
    ローの設定
    実装 リリース
    15分 30分
    改善 実装
    半日
    DS

    View Slide

  28. 結果
    1. オンラインテスト開始までのリードタイムの向上
    ● 2~3日 => 半日
    2. 実装と設定が分離されたことで、システムの改善がしやすくなる
    ● 例:
    ○ 壊れにくい推薦の実現
    ○ 良いアルゴリズムをより広く早く提供しやすいように
    © 2023 Wantedly, Inc.

    View Slide

  29. © 2023 Wantedly, Inc.

    View Slide