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

データサイエンスのフルサイクル開発を実現する機械学習パイプライン

xcnkx
September 27, 2024

 データサイエンスのフルサイクル開発を実現する機械学習パイプライン

PyCon JP 2024での登壇資料です。

xcnkx

September 27, 2024
Tweet

Other Decks in Programming

Transcript

  1. 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
  2. Copyright © 2024 CARTA MARKETING FIRM Inc. All rights reserved

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

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

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

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

    • 1人が価値を届けるすべての領域を開発 • あくまでも技術領域・開発対象範囲 1. 似ている概念 - フルスタック開発 フルスタック開発とは 引用元: https://speakerdeck.com/carta_engineering/42tokyo-special-lecture-231106?slide=23 10
  9. フルサイクル フルスタック フルサイクル & フルスタックはスーパーマンしか出来ない 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
  10. フルサイクル フルスタック ツール / 責務分離を使うことで “属人性”を廃していくことが理想 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
  11. Copyright © 2024 CARTA MARKETING FIRM Inc. All rights reserved

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Prefectベース基盤のアーキテクチャ図 59
  54. 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
  55. Copyright © 2024 CARTA MARKETING FIRM Inc. All rights reserved

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

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

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

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

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

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

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

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

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

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

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

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

    実は登壇内容をブログ化しています https://techblog.cartaholdings.co.jp/entry/2024/09/03/144226 75
  68. 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