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
Hazumi Ichijo
July 12, 2023
Programming
0
820
オンラインテストしようと思った その日に開始できる環境を目指して
https://mlops.connpass.com/event/286716/
Hazumi Ichijo
July 12, 2023
Tweet
Share
More Decks by Hazumi Ichijo
See All by Hazumi Ichijo
Rubyのコード削除したい時 僕がやること
hazumirr
0
120
テーブル駆動テストと状態
hazumirr
4
1.8k
推薦によるプロダクト改善とマイクロサービスが噛み合った話
hazumirr
2
3.6k
ChatGPTで僕が知っていることまとめ
hazumirr
3
2.9k
プロダクトチームとどう 協業し分析環境を改善するか
hazumirr
2
1.3k
bqv速習会
hazumirr
6
6.3k
Protobuf on Rails Tips
hazumirr
1
870
Before Chaos Engineering
hazumirr
1
740
推薦のためのdata pipelineのモニタリングとロギング
hazumirr
3
5.1k
Other Decks in Programming
See All in Programming
ドメイン駆動設計の実践
masuda220
PRO
19
5.2k
Folding Cheat Sheet #7
philipschwarz
PRO
0
150
Architectures with Lightweight Stores: New Rules and Options
manfredsteyer
PRO
0
100
最近追加した型の紹介とその振り返り
aki19035vc
0
180
Exploring the Gradually Lost Technical Skills in the Cloud Native Era
hwchiu
2
3.9k
Jetpack for KMP
fornewid
1
290
Play Billing Library 7.0.0 変更点まとめ@potatotips#88
kako351
0
160
ぼっちを避けて楽しむためのアノテコノテ / Various Tips and Tricks to Avoid Loneliness and Have Fun
nrslib
3
1.7k
企業向け生成AIアプリの 開発から得られた知見
takaakikakei
0
310
Findy - エンジニア向け会社紹介 / Findy Letter for Engineers
findyinc
2
81k
Activities at Cairo Library
cairolibrary720
0
1.2k
実用的かつリーズナブルな 「Azure × Gemini × LINE」~キャラクターBot 実装ライブデモ~
tomodo_ysys
1
170
Featured
See All Featured
Code Review Best Practice
trishagee
58
16k
Art, The Web, and Tiny UX
lynnandtonic
291
20k
Fashionably flexible responsive web design (full day workshop)
malarkey
399
65k
A Tale of Four Properties
chriscoyier
155
22k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
90
47k
Infographics Made Easy
chrislema
238
18k
Scaling GitHub
holman
458
140k
A Philosophy of Restraint
colly
200
16k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
353
29k
5 minutes of I Can Smell Your CMS
philhawksworth
200
19k
Stop Working from a Prison Cell
hatefulcrawdad
266
20k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
155
14k
Transcript
© 2023 Wantedly, Inc. オンラインテストしようと思った その日に開始できる環境を目指して MLOps LT大会 2023/7月 Jul.
12 2023 - Hazumi Ichijo
自己紹介 © 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.
推薦基盤チームがプロダクト利用者に提供する価値 • アルゴリズム改善の速度 ◦ リードタイム ◦ 頻度 • 壊れにくい推薦 •
良いアルゴリズムをより広く早く提供する ◦ 例: メール送信、デバイス(Web, iOS, Android, …) © 2023 Wantedly, Inc.
仕組み © 2023 Wantedly, Inc. 推論 & 結果 を保存 推論結果を
使い推薦 募集一覧 API Push通知 メール送信 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: 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の設定(マニフェスト 手書き) => 依存関係と実行方法のみに集中
© 2023 Wantedly, Inc. 作成 初回のデー タを生成 モニタリング ワークフ ローの設定
実装 リリース 1時間 2~3日 半日 改善 ワークフローの設定
© 2023 Wantedly, Inc. 作成 初回のデー タを生成 モニタリング ワークフ ローの設定
実装 リリース 15分 2~3日 半日 改善 ワークフローの設定
改善 1. ワークフローの設定 • DBのデータや他の推論結果との依存関係の記述 • Argo Workflowの設定(マニフェスト手書き) 2. 実装
• 意図を汲み取り実装 • 実装しないといけない箇所がいくつかあり壊さないようにする 3. コミュニケーション • ミスコミュニケーションによる手戻りのリスク • 同じことをしたくとも人に合わせて別々の言葉を使う必要あり • リソース確保 © 2023 Wantedly, Inc.
© 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分 2~3日 半日 改善 実装
© 2023 Wantedly, Inc. 作成 初回のデー タを生成 モニタリング ワークフ ローの設定
実装 リリース 15分 30分 半日 改善 実装
改善 1. ワークフローの設定 • DBのデータや他の推論結果との依存関係の記述 • Argo Workflowの設定(マニフェスト手書き) 2. 実装
• 意図を汲み取り実装 • 実装しないといけない箇所がいくつかあり壊さないようにする 3. コミュニケーション • ミスコミュニケーションによる手戻りのリスク • 同じことをしたくとも人に合わせて別々の言葉を使う必要あり • リソース確保 © 2023 Wantedly, Inc.
改善 コミュニケーション 手順は簡潔になったので、残りは人手でチェックしていたことをCIへ • デプロイ前のチェック • マニフェストのバリデーション • 初回データの同期 •
etc… バックエンドの専門知識が必要ない状態に © 2023 Wantedly, Inc.
© 2023 Wantedly, Inc. 作成 初回のデー タを生成 モニタリング ワークフ ローの設定
実装 リリース 15分 30分 半日 改善 実装
© 2023 Wantedly, Inc. 作成 初回のデー タを生成 モニタリング ワークフ ローの設定
実装 リリース 15分 30分 改善 実装 半日 DS
結果 1. オンラインテスト開始までのリードタイムの向上 • 2~3日 => 半日 2. 実装と設定が分離されたことで、システムの改善がしやすくなる •
例: ◦ 壊れにくい推薦の実現 ◦ 良いアルゴリズムをより広く早く提供しやすいように © 2023 Wantedly, Inc.
© 2023 Wantedly, Inc.