Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

© 2023 Wantedly, Inc. プロダクトについて © 2023 Wantedly, Inc. WHAT| 個人向けサービス / 法人向けサービス 会社に遊びに行こう 「カジュアル面談」という仕事探しの新基準 • 人とチームを「想い」でマッチング • 「話を聞きに行く」体験を通じてフラットな出会いを創出 進化を続けるUIと基盤 • コンテンツが映えるモダンでシンプルな UI表現 • より本質的なマッチングを可能にする推薦アルゴリズム

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

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

Slide 29

Slide 29 text

© 2023 Wantedly, Inc.