Slide 1

Slide 1 text

データサイエンスの フルサイクル開発を実現する 機械学習パイプライン 2024-09-28 @PyCon 2024 CARTA MARKETING FIRMの事例から学ぶ 神谷クリスチャン 1

Slide 2

Slide 2 text

Copyright © 2024 CARTA MARKETING FIRM Inc. All rights reserved 自己紹介 神谷 クリスチャン Cristian Kamiya 経歴 ● 2020年CARTA HOLDINGS(当時: VOYAGE GROUP)新卒入社 ● CARTA MARKETING FIRM 開発局DSP部MLチーム所属 ● データサイエンスエンジニア ● 2人の子供がいます(長男、次男) ● ブラジルと日本のハーフ󰎙󰏦 @xcnkx @x2CnK8x 2

Slide 3

Slide 3 text

Copyright © 2024 CARTA MARKETING FIRM Inc. All rights reserved アドテクノロジーとはなにか RTB DSP DSP SSP   オークション アドテクノロジー ユーザ メディア 広告主 DSP: Demand Side Platform SSP: Supply Side Platform 3

Slide 4

Slide 4 text

Copyright © 2024 CARTA MARKETING FIRM Inc. All rights reserved RTB DSP DSP SSP   ユーザ メディア 広告主 私の担当範囲 DSPの入札ロジックの開発と運用を担当 広告主のKPIを 満たすためには いくらで入札をすべきか? 4

Slide 5

Slide 5 text

Copyright © 2024 CARTA MARKETING FIRM Inc. All rights reserved アジェンダ 1. フルサイクルデータサイエンティストとは 2. 課題と理想の機械学習基盤 3. CARTA MARKETING FIRMのデータ分析基盤の歴史 a. Luigiベース基盤 b. SageMakerベース基盤 c. Prefectベース基盤 4. 成果と今後の展望 5

Slide 6

Slide 6 text

1. フルサイクルデータサイエンティスト とは? 6

Slide 7

Slide 7 text

Copyright © 2024 CARTA MARKETING FIRM Inc. All rights reserved 1. フルサイクルデータサイエンティストとは? 一般的なデータサイエンスプロダクトのライフサイクル 計画 プロトタイプ リリース 評価 7

Slide 8

Slide 8 text

Copyright © 2024 CARTA MARKETING FIRM Inc. All rights reserved 1. フルサイクルデータサイエンティストとは? CARTA MARKETING FIRMにおける理想 CMF ML Task Cycle Collect data Clean data Explore data Evaluate Model Build and Train Model Continuou s Traning Continuou s Delivery Monitoring A/B testing ● プロダクトライフサイクル全体に対して 1人ひとりがオーナーシップを持つ ● 価値を届けるすべての過程を 1人で回すことができる 8

Slide 9

Slide 9 text

Copyright © 2024 CARTA MARKETING FIRM Inc. All rights reserved 1. フルサイクルデータサイエンティストとは? CARTA MARKETING FIRMにおける理想 CMF ML Task Cycle Collect data Clean data Explore data Evaluate Model Build and Train Model Continuou s Traning Continuou s Delivery Monitoring A/B testing ● チームメンバー全員が 単独で自律的にサイクルを回せる ● 属人性はツールや責務分離で 改善していく 9

Slide 10

Slide 10 text

Copyright © 2024 CARTA MARKETING FIRM Inc. All rights reserved ● 1人が価値を届けるすべての領域を開発 ● あくまでも技術領域・開発対象範囲 1. 似ている概念 - フルスタック開発 フルスタック開発とは 引用元: https://speakerdeck.com/carta_engineering/42tokyo-special-lecture-231106?slide=23 10

Slide 11

Slide 11 text

フルサイクル フルスタック フルサイクル & フルスタックはスーパーマンしか出来ない CMF ML Task Cycle Collect data Clean data Explore data Evaluate Model Build and Train Model Continuous Traning Continuous Delivery Monitoring A/B testing 11

Slide 12

Slide 12 text

フルサイクル フルスタック ツール / 責務分離を使うことで “属人性”を廃していくことが理想 CMF ML Task Cycle Collect data Clean data Explore data Evaluate Model Build and Train Model Continuous Traning Continuous Delivery Monitoring A/B testing 12

Slide 13

Slide 13 text

Copyright © 2024 CARTA MARKETING FIRM Inc. All rights reserved 1. フルサイクルデータサイエンティストとは? なぜフルサイクル開発なのか? 外的要因をできるだけ減らして データサイエンティストが最も価値が出せる働き方だから 13

Slide 14

Slide 14 text

Copyright © 2024 CARTA MARKETING FIRM Inc. All rights reserved 1. フルサイクルデータサイエンティストとは? なぜなら ● 一つの施策が当たるとは限らない、多くの施策を試す必要がある ● 最速で施策を実装・検証することが重要 ● 試行サイクルを効果的に回す上で、担当領域の区分けはただの障壁 ● 1人で全工程を担当するのが当然ながら、1番高速 14

Slide 15

Slide 15 text

2. 課題と理想の機械学習基盤 15

Slide 16

Slide 16 text

Copyright © 2024 CARTA MARKETING FIRM Inc. All rights reserved 2. フルサイクルデータサイエンティストの課題 ロジックとOpsを同時に管理・運用する必要がある ロジック 施策・改善 Ops層 データ パイプライン モデル学習 モデル サービング ロジック層 16

Slide 17

Slide 17 text

Copyright © 2024 CARTA MARKETING FIRM Inc. All rights reserved 2. フルサイクルデータサイエンティストの課題 ロジックとOpsを同時に管理・運用する必要がある ロジック 施策・改善 Ops層 データ パイプライン モデル学習 モデル サービング ロジック層 データサイエンティスト 17

Slide 18

Slide 18 text

Copyright © 2024 CARTA MARKETING FIRM Inc. All rights reserved 2. フルサイクルデータサイエンティストの課題 ロジックの施策・改善に向き合う時間を確保できない 特徴抽出 コアロジック以外 データ品質管理 データ収集 特徴抽出 サービングインフラ CI/CD モニタリング A/Bテスト基盤 コア ロジック 特徴抽出 18

Slide 19

Slide 19 text

Copyright © 2024 CARTA MARKETING FIRM Inc. All rights reserved 2. 課題と理想の状態 私達が目指すべき理想の状態 ● データサイエンティストが見るべき・管理すべき範囲が狭い ● データサイエンティストがロジック開発やデータ分析に集中できる ● データサイエンティストが持つスキルセットでフルサイクルに開発ができる 19

Slide 20

Slide 20 text

Copyright © 2024 CARTA MARKETING FIRM Inc. All rights reserved ロジック 施策・改善 Ops層 データ パイプライン モデル学習 モデル サービング ロジック層 2. 走り続けて見つけた理想状態 データサイエンティストの仕事の領域が限定されて よりロジック施策・改善に対して高速にサイクルを回せる状態 データ基盤 サービング基盤 学習基盤 データ サイエンティスト 20

Slide 21

Slide 21 text

Copyright © 2024 CARTA MARKETING FIRM Inc. All rights reserved ● シンプル ● マネージドサービス ● カスタマイズ可能 ● Pythonic 2. 理想の状態を支える基盤の技術要件 21

Slide 22

Slide 22 text

Copyright © 2024 CARTA MARKETING FIRM Inc. All rights reserved ● シンプル ○ 理解しやすく、使いやすいそして捨てやすい ● マネージドサービス ○ サーバーレス、ハードウェア管理不要 ○ スケーラビリティの自動化 ● カスタマイズ可能 ○ 基本機能は簡単に利用可能 ○ 高度なニーズにも対応可能 ● Pythonic ○ データサイエンティストに馴染みのある言語 ○ 豊富なライブラリとエコシステム 2. 理想の状態を支える基盤の技術要件 22

Slide 23

Slide 23 text

3. CARTA MARKETING FIRMの データ分析基盤の歴史 23

Slide 24

Slide 24 text

Copyright © 2024 CARTA MARKETING FIRM Inc. All rights reserved 3. CARTA MARKETING FIRMのデータ分析基盤の歴史 2015 2022 2023 Luigiベース基盤 AWS Sagemakerベース基盤 Prefectベース基盤 24

Slide 25

Slide 25 text

Copyright © 2024 CARTA MARKETING FIRM Inc. All rights reserved Luigi時代 2015 2022 2023 Luigiベース基盤 AWS Sagemakerベース基盤 Prefectベース基盤 25

Slide 26

Slide 26 text

Copyright © 2024 CARTA MARKETING FIRM Inc. All rights reserved Luigi時代 - 導入背景 ● 機械学習モデルをプロダクトに初めて導入 ○ 最小の実装で進めたかった ● 学習コストが低い ○ チームがすでにデータパイプラインとしてLuigiの使用に慣れ ていた ● 柔軟性 ○ ETLと機械学習タスクの両方をカバーできる汎用性 26

Slide 27

Slide 27 text

Copyright © 2024 CARTA MARKETING FIRM Inc. All rights reserved Luigi時代 - チーム状況 ● チームメンバー構成 ○ 󰭉シニアデータサイエンティスト(元SE)1人 ○ 󰞵ソフトウェアエンジニア 1人 ● 担当業務 ○ データパイプラインの構築・運用 ○ 機械学習モデルの開発・導入・運用 ○ DSがフルスタックに開発 27

Slide 28

Slide 28 text

Copyright © 2024 CARTA MARKETING FIRM Inc. All rights reserved Luigi時代 - チーム状況 ● チームメンバー構成 ○ 󰭉シニアデータサイエンティスト(元SE)1人 ○ 󰞵ソフトウェアエンジニア 1人 ● 担当業務 ○ データパイプラインの構築・運用 ○ 機械学習モデルの開発・導入・運用 ○ DSがフルスタックに開発 基盤完成後に 私が入社 28

Slide 29

Slide 29 text

Copyright © 2024 CARTA MARKETING FIRM Inc. All rights reserved Luigi時代 - アーキテクチャ図 29

Slide 30

Slide 30 text

Copyright © 2024 CARTA MARKETING FIRM Inc. All rights reserved Luigi時代 - アーキテクチャ図 このときはデータパイプライン・機械学習パイプラインを 同じ基盤で処理していた 30

Slide 31

Slide 31 text

Copyright © 2024 CARTA MARKETING FIRM Inc. All rights reserved Luigi時代 - アーキテクチャ図 データパイプライン 31

Slide 32

Slide 32 text

Copyright © 2024 CARTA MARKETING FIRM Inc. All rights reserved Luigi時代 - アーキテクチャ図 モデル学習 32

Slide 33

Slide 33 text

Copyright © 2024 CARTA MARKETING FIRM Inc. All rights reserved Luigi時代 - 具体的な課題 ● データサイエンティストの対象領域が広い ● A/Bテスト時のオペレーションが複雑 ● 開発体験の問題 33

Slide 34

Slide 34 text

Copyright © 2024 CARTA MARKETING FIRM Inc. All rights reserved Luigi時代 - 具体的な課題 データサイエンティストの対象領域が広い ○ データパイプラインと機械学習パイプラインの両方を担当 ○ ロジック開発・施策の効果検証も実施 結果としてやることが多く、スーパーマン以外は 価値を出すことが難しかった 34

Slide 35

Slide 35 text

Copyright © 2024 CARTA MARKETING FIRM Inc. All rights reserved A/Bテスト時のオペレーションが複雑 ○ 本番環境でのコードの追加・削除が必要 ■ 使ってるかわからないコードが発生 ○ 既存コードへの深い理解が必要 ■ 本番環境をいじるので何がどう影響するのか 心理的安全性が低い Luigi時代 - 具体的な課題 35

Slide 36

Slide 36 text

Copyright © 2024 CARTA MARKETING FIRM Inc. All rights reserved Luigi時代 - 具体的な課題 開発体験の問題 ○ ローカル環境で動作せず、EC2を立ち上げて開発が必要 ○ ステージング環境がない ■ パイプラインのテスト本番環境でしかテストできない 36

Slide 37

Slide 37 text

波乱 37

Slide 38

Slide 38 text

Copyright © 2024 CARTA MARKETING FIRM Inc. All rights reserved この時、データサイエンス領域をリードしていた シニアデータサイエンティストの退職が決定 Luigi時代 - 波乱 38

Slide 39

Slide 39 text

Copyright © 2024 CARTA MARKETING FIRM Inc. All rights reserved Luigi時代 - 波乱 ● 既にいた新卒3名の育成 ● 中途採用が難航 39

Slide 40

Slide 40 text

Copyright © 2024 CARTA MARKETING FIRM Inc. All rights reserved Luigi時代 - 波乱 個人の力に頼らずチームで価値を生み出しやすい 新たな機械学習基盤が必要に 40

Slide 41

Slide 41 text

Copyright © 2024 CARTA MARKETING FIRM Inc. All rights reserved Sagemaker時代 2015 2022 2023 Luigiベース基盤 AWS Sagemakerベース基盤 Prefectベース基盤 41

Slide 42

Slide 42 text

Copyright © 2024 CARTA MARKETING FIRM Inc. All rights reserved Sagemaker時代 - チーム状況 データエンジニアがチームにJoin データ基盤の管理を全て任せることができた 42

Slide 43

Slide 43 text

Copyright © 2024 CARTA MARKETING FIRM Inc. All rights reserved Sagemaker時代 - チーム状況 その結果、機械学習基盤の改善に やっと時間を費すことができる状態に 43

Slide 44

Slide 44 text

Copyright © 2024 CARTA MARKETING FIRM Inc. All rights reserved Sagemaker時代 - チーム状況 ● チームメンバー構成 ■ 󰞲ジュニアデータサイエンティスト:2名 ■ 󰞵新たにデータエンジニア:1名が加入 44 ● 役割分担の再編成 ○ 󰞲データサイエンティスト ■ 施策提案、ロジック開発、機械学習パイプラインの担当 ○ 󰞵データエンジニア ■ データパイプラインの開発・運用を担当

Slide 45

Slide 45 text

Copyright © 2024 CARTA MARKETING FIRM Inc. All rights reserved 次の基盤に求める技術要件 ● 既存システムとの親和性が高い ● 学習コストが低い ● サポートが手厚い 45

Slide 46

Slide 46 text

Copyright © 2024 CARTA MARKETING FIRM Inc. All rights reserved 次の基盤に求める技術要件 既存システムとの親和性が高い ○ BQからSnowflakeに移行したデータウェアハウスと AWSにある配信サーバとの連携が容易 46

Slide 47

Slide 47 text

Copyright © 2024 CARTA MARKETING FIRM Inc. All rights reserved 次の基盤に求める技術要件 学習コストが低い ○ 新しいツールの導入による負担を軽減 ○ ジュニアメンバー主体のチームでも実装可能 47

Slide 48

Slide 48 text

Copyright © 2024 CARTA MARKETING FIRM Inc. All rights reserved 次の基盤に求める技術要件 サポートの手厚い ○ プロトタイピングの容易さ ○ ドキュメントの量 48

Slide 49

Slide 49 text

Copyright © 2024 CARTA MARKETING FIRM Inc. All rights reserved 選ばれたのがAWS SageMaker 49

Slide 50

Slide 50 text

Copyright © 2024 CARTA MARKETING FIRM Inc. All rights reserved 選ばれたのがAWS SageMaker ● 既存システムとの親和性 ○ 既存システムがAWS上で稼働しているため、連携が容易 ○ DWHがBigQueryから Snowflakeへの移行しGoogle依存が減少 ● プロトタイピングプログラムの活用 ○ AWSのプロトタイピングエンジニアの支援を受けられたこと ○ ジュニアメンバー主体のチームでも実装可能 ● 学習コストの削減 ○ 新しいツールの導入による負担を軽減 50

Slide 51

Slide 51 text

Copyright © 2024 CARTA MARKETING FIRM Inc. All rights reserved SageMakerベース基盤のアーキテクチャ図 51

Slide 52

Slide 52 text

Copyright © 2024 CARTA MARKETING FIRM Inc. All rights reserved SageMakerベース基盤のアーキテクチャ図 ● CDKによる一括インフラ管理 ● モデルごとにTrain Stackを 作成 52

Slide 53

Slide 53 text

Copyright © 2024 CARTA MARKETING FIRM Inc. All rights reserved SageMakerベース基盤のアーキテクチャ図 ● PythonスクリプトをSageMakerで コンテナ化しProcessing Jobで実行 ● 本番環境と 開発環境の差分がない状態に ● オーケストレーションツールは Step Functions 53

Slide 54

Slide 54 text

Copyright © 2024 CARTA MARKETING FIRM Inc. All rights reserved 3. CARTA MARKETING FIRMのデータ分析基盤の歴史 2022 2023 AWS Sagemakerベース基盤 Prefectベース基盤 2015 Luigiベース基盤 54

Slide 55

Slide 55 text

Copyright © 2024 CARTA MARKETING FIRM Inc. All rights reserved Prefect時代 - 導入背景 1. インフラ構築の複雑さ ○ 当初は慣れの問題と考えていたが、A/Bテストのような一時的な実装 にも高いコストがかかり、データサイエンティストの負担が増大 2. ワークフローの柔軟性不足 ○ Step Functionsでのタスク間のデータ受け渡しや新規DAGの追加が 簡単ではない ○ すべてCDK上で書く必要があった 55 SageMaker基盤で見えてきた新たな課題

Slide 56

Slide 56 text

Copyright © 2024 CARTA MARKETING FIRM Inc. All rights reserved Prefect時代 - 導入背景 3. ログ監視の困難さ ○ Lambda、SageMaker Processing Jobs、Step Functionsなど、 複数のサービスにまたがるログの確認が必要 ○ 障害時などの認知負荷が高い 4. オーバースペック ○ 私達のシステムに対して機能やスケーラビリティが過剰で、 運用負荷が大きい ○ もっとシンプルなワークフローで十分 56

Slide 57

Slide 57 text

Copyright © 2024 CARTA MARKETING FIRM Inc. All rights reserved Prefect時代 - 次の基盤に求める技術要件 ● インフラ構築の簡素化 ○ データサイエンティストが容易に扱えるシンプルなインフラ管理 ● ワークフローの柔軟性と拡張性 ○ 直感的なワークフロー定義が可能 ● ログ監視とデバッグの効率化 ○ ログの一元管理で効率的な監視が可能 ● シンプル ○ 理解しやすく、使いやすい 57

Slide 58

Slide 58 text

Copyright © 2024 CARTA MARKETING FIRM Inc. All rights reserved 選ばれたのがPrefect ● Pythonエコシステムの統一性 ○ 全工程をPythonで一貫して記述可能 ○ 異なる技術スタックを扱う必要がない ○ インフラからバッチ処理までPythonで完結 ● 直感的なワークフロー構築 ○ タスク間のパラメータ設定が容易 ○ 既存のPython関数にデコレータを追加するだけでタスク定義 58

Slide 59

Slide 59 text

Copyright © 2024 CARTA MARKETING FIRM Inc. All rights reserved Prefectベース基盤のアーキテクチャ図 59

Slide 60

Slide 60 text

Copyright © 2024 CARTA MARKETING FIRM Inc. All rights reserved Prefectベース基盤のアーキテクチャ図 ● ECS ServiceでPrefect Workerを起動 ● WorkerがPrefect CloudにタスクをpollしてECSタスクを起動 ● ECSタスク内でTaskを実行 ● Prefect CloudにDeploymentをdeployするだけ 60

Slide 61

Slide 61 text

Copyright © 2024 CARTA MARKETING FIRM Inc. All rights reserved TaskとFlowの定義例 61 タスクの依存関係を Prefectで記述

Slide 62

Slide 62 text

Copyright © 2024 CARTA MARKETING FIRM Inc. All rights reserved ECSタスクとしてデプロイする例 62 TerraformやCDKで 書いていたものを Pythonで記述可能に デプロイコード

Slide 63

Slide 63 text

Copyright © 2024 CARTA MARKETING FIRM Inc. All rights reserved Prefect Cloud UI 63

Slide 64

Slide 64 text

Copyright © 2024 CARTA MARKETING FIRM Inc. All rights reserved ロジック 施策・改善 Ops層 データ パイプライン モデル学習 モデル サービング ロジック層 Prefect基盤による成果 データサイエンティストの仕事の領域が限定されて よりロジック施策・改善に対して高速にサイクルを回せるように データサイエンティスト 64

Slide 65

Slide 65 text

Copyright © 2024 CARTA MARKETING FIRM Inc. All rights reserved ロジック 施策・改善 Ops層 データ パイプライン モデル学習 モデル サービング ロジック層 Prefect基盤による成果 データサイエンティストの仕事の領域が限定されて よりロジック施策・改善に対して高速にサイクルを回せるように データサイエンティスト データ基盤 65

Slide 66

Slide 66 text

Copyright © 2024 CARTA MARKETING FIRM Inc. All rights reserved 各パイプラインのまとめ Luigiベース基盤 Sagemakerベース基盤 Prefectベース基盤 DSの責務範囲の狭さ ❌ ⭕ ⭕ A/Bテストの容易さ ❌ ⭕ ⭕ 開発体験 ❌ ⭕ ⭕ 実装コスト ⭕ 🔺 IaCの認知負荷が高い ⭕ ワークフローの柔軟性 ⭕ 🔺 StepFunctionでの記述 が困難 ⭕ ログ監視 ⭕ 🔺 リソース別の CloudWatch logsを見る必 要がある ⭕ 費用 ⭕ ⭕ 🔺 ユーザー課金のため 66

Slide 67

Slide 67 text

Copyright © 2024 CARTA MARKETING FIRM Inc. All rights reserved データサイエンティストの対象領域 - Luigiベース基盤 Ops ロジック 67

Slide 68

Slide 68 text

Copyright © 2024 CARTA MARKETING FIRM Inc. All rights reserved データサイエンティストの対象領域 - SageMakerベース基盤 Ops 68 ロジック

Slide 69

Slide 69 text

Copyright © 2024 CARTA MARKETING FIRM Inc. All rights reserved データサイエンティストの対象領域 - Prefectベース基盤 Ops 69 ロジック

Slide 70

Slide 70 text

4. 成果と今後の展望 70

Slide 71

Slide 71 text

Copyright © 2024 CARTA MARKETING FIRM Inc. All rights reserved 4. 得られた成果 データサイエンティストの本質的な価値 を生む時間の増加 ● 現在のPrefectベース基盤により本 質的な部分以外のOpsが減少 ● データサイエンティストが より価値を出せる本質的な部分に集 中することができるように ML code Algorithm Core logic 本質的な部分 減少 非本質的な部分 解決された部分 71

Slide 72

Slide 72 text

Copyright © 2024 CARTA MARKETING FIRM Inc. All rights reserved 4. 現在のチーム構成 現在はML opsエンジニアも採用でき より本質的な価値に向き合える体制に ML ops エンジニア ロジック 施策・改善 Ops層 データ パイプライン モデル学習 モデル サービング ロジック層 データ サイエンティスト データ基盤 72

Slide 73

Slide 73 text

Copyright © 2024 CARTA MARKETING FIRM Inc. All rights reserved 4. 成果と今後の展望 ● 機械学習モデルのバージョン管理の最適化 ● 機械学習モデルのサービング基盤の改善 ● 機械学習モデルのE2Eテスト、リグレッションテストの強化 ● データ品質管理とモニタリングシステムの改善 ● モデルの説明可能性と透明性の向上 ● etc.. 73

Slide 74

Slide 74 text

Copyright © 2024 CARTA MARKETING FIRM Inc. All rights reserved ブースにて参加受付中!ノベルティも! 74

Slide 75

Slide 75 text

Copyright © 2024 CARTA MARKETING FIRM Inc. All rights reserved 実は登壇内容をブログ化しています https://techblog.cartaholdings.co.jp/entry/2024/09/03/144226 75

Slide 76

Slide 76 text

ご清聴ありがとうございました🙇 76

Slide 77

Slide 77 text

Copyright © 2024 CARTA MARKETING FIRM Inc. All rights reserved 参考資料 ● スペシャリスト?フルスタック?whichではないフルサイクル開発者という生 き方 / 42TOKYO-SPECIAL-LECTURE-231106 - Speaker Deck ● Full Cycle Data Science (FCDS): Key to Scaling Data-Driven Organizations | dmarcous ● Hidden Technical Debt in Machine Learning Systems ● 8年間の進化!CARTA MARKETING FIRMが機械学習基盤を刷新した理由とそ の成果 77