Slide 1

Slide 1 text

©2024 CyberAgent Inc. Distribution prohibited Dynalyst 長江 五月 MLOps基礎編

Slide 2

Slide 2 text

©2024 CyberAgent Inc. Distribution prohibited 本講義のゴール 2 機械学習を運用する技術を知る

Slide 3

Slide 3 text

©2024 CyberAgent Inc. Distribution prohibited 自己紹介 3 Dynalyst Data Scientist/Manager 長江 五月 業務 MLモデリング データ分析 MLOps 保有AWS認定証 @nsakki55

Slide 4

Slide 4 text

©2024 CyberAgent Inc. Distribution prohibited アジェンダ 4 1. MLOpsとは 2. MLOpsの要素 3. MLOpsの段階

Slide 5

Slide 5 text

©2024 CyberAgent Inc. Distribution prohibited 本発表の結論 5 1. MLOpsとは DevOps for ML 2. MLOpsの要素 実験基盤・学習パイプライン・推論サービス・ バージョン管理・CI/CD・継続的学習・監視 3. MLOpsの段階 MLOps成熟度モデル・ML Test Score

Slide 6

Slide 6 text

©2024 CyberAgent Inc. Distribution prohibited 01 MLOpとは 6

Slide 7

Slide 7 text

©2024 CyberAgent Inc. Distribution prohibited MLOpsとは 7 Machine Learning Operations 機械学習 運用 を する技術 ×

Slide 8

Slide 8 text

©2024 CyberAgent Inc. Distribution prohibited MLOpsのGoogle Trends 8 2019年以降、MLOpsの検索数が上昇している

Slide 9

Slide 9 text

©2024 CyberAgent Inc. Distribution prohibited MLOpsの歴史 9 MLOpsが誕生した経緯を MLOpsの歴史に着目して説明します

Slide 10

Slide 10 text

©2024 CyberAgent Inc. Distribution prohibited MLOpsの歴史 10 DevOpsの登場 2008年 2012年 第3次AIブーム到来 MLOpsの象徴論文公開 MLOpsの登場 生成AIブーム到来 2015年 2018年 2022年

Slide 11

Slide 11 text

©2024 CyberAgent Inc. Distribution prohibited 関連ワードのGoogle Trends 11 機械学習・DevOps・MLOpsのGoogle Trends Google Trendsの変化と重要イベントの関係を見ます 機械学習 DevOps MLOps

Slide 12

Slide 12 text

©2024 CyberAgent Inc. Distribution prohibited DevOpsの登場 12 機械学習 DevOps MLOps 2008年 ・DevOpsの登場

Slide 13

Slide 13 text

©2024 CyberAgent Inc. Distribution prohibited DevOpsとは 13 DEV OPS 開発(Development)と運用(Operations) を合わせたソフトウェア開発手法 以下の手法を組み合わせる ・CI/CD ・マイクロサービス ・IaC ・モニタリングとロギング ・コミュニケーションとコラボレーション 参考: DevOps (デブオプス)とは? - DevOps と AWS | AWS

Slide 14

Slide 14 text

©2024 CyberAgent Inc. Distribution prohibited 第3次AIブームの到来 14 機械学習 DevOps MLOps 2012年 ・AlexNet登場 ・第3次AIブームの到来

Slide 15

Slide 15 text

©2024 CyberAgent Inc. Distribution prohibited AlexNet: ディープラーニングの火付け役 15 ・8層CNN(Convolutional Nerural Network)のImageNetの画像分類モデル ・画像認識コンペILSVRCで性能を大きく向上させた ・2000年代からのAIブームの火付け役と呼ばれることが多い 参考: ImageNet Classification with Deep Convolutional Neural Networks

Slide 16

Slide 16 text

©2024 CyberAgent Inc. Distribution prohibited MLOpsの象徴論文 16 機械学習 DevOps MLOps 2015年 「機械学習システムの 隠れた技術的負債」論文の公開

Slide 17

Slide 17 text

©2024 CyberAgent Inc. Distribution prohibited 機械学習システムの隠れた技術的負債 17 ・NeurlPS2015で採択された論文 ・ML特有のリスク要素を紹介 参考: Hidden Technical Debt in Machine Learning Systems

Slide 18

Slide 18 text

©2024 CyberAgent Inc. Distribution prohibited 機械学習システムの隠れた技術的負債 18 引用: Hidden Technical Debt in Machine Learning Systems. Figure 1. ・MLシステムの中でMLコードはごく一部でしかない

Slide 19

Slide 19 text

©2024 CyberAgent Inc. Distribution prohibited MLOpsという言葉が登場 19 機械学習 DevOps MLOps 2018年 Google Cloud Nextで初めて MLOpsという言葉が使われる

Slide 20

Slide 20 text

©2024 CyberAgent Inc. Distribution prohibited MLOpsという言葉が登場 20 ・What is ML Ops? Best Practices for DevOps for ML (Cloud Next '18) でMLOpsという言葉が初めて使われる ・MLのためのDevOpsと表現される 引用: What is ML Ops? Best Practices for DevOps for ML (Cloud Next '18)のYouTube動画サムネイル

Slide 21

Slide 21 text

©2024 CyberAgent Inc. Distribution prohibited 生成AIブームの到来 21 機械学習 DevOps MLOps 2022年 ・ChatGPTがリリース ・生成AIブームの到来

Slide 22

Slide 22 text

©2024 CyberAgent Inc. Distribution prohibited LLMのOpsが注目 22 ・LLMを活用するための技術が注目を集めている ・LLMOpsという言葉も誕生 引用: MLOps Community JP. LLM(GPT, PaLM等) with MLOps LT大会!!!

Slide 23

Slide 23 text

©2024 CyberAgent Inc. Distribution prohibited MLOpsの歴史(再掲) 23 DevOpsの登場 2008年 2012年 第3次AIブーム到来 MLOpsの象徴論文公開 MLOpsの登場 生成AIブーム到来 2015年 2018年 2022年

Slide 24

Slide 24 text

©2024 CyberAgent Inc. Distribution prohibited DevOpsとMLOpsの関係 24 DevOps for ML 歴史的には がMLOpsの立ち位置

Slide 25

Slide 25 text

©2024 CyberAgent Inc. Distribution prohibited 引用: MLOps: 機械学習における継続的デリバリーと自動化のパイプライン 3大クラウドベンダーのMLOpsの説明 25 MLOpsはMLシステム開発(Dev)とMLシステムオペレーション(Ops) の統合を目的とするMLエンジニアリングの文化と手法です。 Google Microsoft MLOpsはワークフローの効率を高める DevOpsの原則と実践に基づいています。 引用: MLOps:Azure Machine Learning を使用したモデル管理、デプロイ、および監視 Amazon MLOpsはMLアプリケーション開発(Dev)とMLシステムのデプロイ および運用(Ops)を統合するMLカルチャーとプラクティスです。 引用: MLOps とは何ですか? - 機械学習オペレーションの説明 -AWS

Slide 26

Slide 26 text

©2024 CyberAgent Inc. Distribution prohibited MLOpsの定義 26 ・MLOpsとは何?のリサーチクエスチョンに答えた論文 機械学習・ソフトウェアエンジニアリング(特にDevOps)・ データエンジニアリングの3つの分野を活用するエンジニアリングプラクティス 参考: Machine Learning Operations (MLOps): Overview, Definition, and Architecture

Slide 27

Slide 27 text

©2024 CyberAgent Inc. Distribution prohibited MLシステムの障害の原因 27 引用: How ML Breaks: A Decade of Outages for One Large ML Pipeline Googleの15年間で起きた 機械学習パイプラインの 障害原因の調査結果 96件中60件が機械学習と 関係ない原因によって発生

Slide 28

Slide 28 text

©2024 CyberAgent Inc. Distribution prohibited MLシステムとソフトウェアエンジニアリング 28 機械学習システムの10%は機械学習 90%はソフトウェアエンジニアリング

Slide 29

Slide 29 text

©2024 CyberAgent Inc. Distribution prohibited MLシステムとソフトウェアエンジニアリング 29 機械学習システムの10%は機械学習 90%はソフトウェアエンジニアリング

Slide 30

Slide 30 text

©2024 CyberAgent Inc. Distribution prohibited ここまでの話 30 何が言いたいかというと

Slide 31

Slide 31 text

©2024 CyberAgent Inc. Distribution prohibited ここまでの話 31 機械学習システムを運用するには ソフトウェアエンジニアリングのスキルが必須

Slide 32

Slide 32 text

©2024 CyberAgent Inc. Distribution prohibited 02 MLOpsの要素 32

Slide 33

Slide 33 text

©2024 CyberAgent Inc. Distribution prohibited MLOpsの要素 33 Figure 4. End-to-end MLOps architecture and workflow with functional components and roles MLOpsを体系的に調査した論文 Machine Learning Operations (MLOps): Overview, Definition, and Architecture

Slide 34

Slide 34 text

©2024 CyberAgent Inc. Distribution prohibited MLOpsの要素 34 実験基盤 CI/CD 推論サービス 監視 学習パイプライン 継続的学習 バージョン管理 実験基盤 学習パイプライン 推論サービス バージョン管理 CI/CD 継続的学習 監視

Slide 35

Slide 35 text

©2024 CyberAgent Inc. Distribution prohibited MLOpsの要素 35 実験基盤 実験基盤 学習パイプライン 推論サービス バージョン管理 CI/CD 継続的学習 監視

Slide 36

Slide 36 text

©2024 CyberAgent Inc. Distribution prohibited MLの研究で起こりうる悲劇 36 大学院生降下法 ※ ※ 大学院生がモデルが動作するまでハイパーパラメータをいじくり回す手法 参考: How do people come up with all these crazy deep learning architectures? 先人が残したコード モデル改善 コードは 秘伝のタレ化

Slide 37

Slide 37 text

©2024 CyberAgent Inc. Distribution prohibited 実験基盤が整備されてないと 37 ・再現性の低下 ・バグの頻発 ・データサイエンティストのサイロ化

Slide 38

Slide 38 text

©2024 CyberAgent Inc. Distribution prohibited 開発環境の標準化 38 ・開発効率化ツールの活用 ・共通のpythonパッケージ管理 ・実行環境のコンテナ化 ・実験用インフラストラクチャの提供 ・外部データ・サービスとの統合機能提供

Slide 39

Slide 39 text

©2024 CyberAgent Inc. Distribution prohibited 実験管理 39 ・損失曲線 ・モデルのパフォーマンス指標 ・推論レイテンシー ・システムパフォーマンス ・ハイパーパラメーター モデルの学習実験ごと以下の値を管理する 引用:https://www.wandb.jp/

Slide 40

Slide 40 text

©2024 CyberAgent Inc. Distribution prohibited MLOpsの要素 40 学習パイプライン 実験基盤 学習パイプライン 推論サービス バージョン管理 CI/CD 継続的学習 監視

Slide 41

Slide 41 text

©2024 CyberAgent Inc. Distribution prohibited NotebookからScriptへ 41 notebookのMLコードの記述は DS界隈でポピュラーな方法 引用: https://www.kaggle.com/ 再利用・バージョン管理のため プロダクションコードはscript で記述

Slide 42

Slide 42 text

©2024 CyberAgent Inc. Distribution prohibited 学習パイプライン 42 データ取得 データ前処理・検証 モデル学習 モデル検証 モデル保存 モデル登録

Slide 43

Slide 43 text

©2024 CyberAgent Inc. Distribution prohibited 保守運用可能なコード設計の技術が必要 43

Slide 44

Slide 44 text

©2024 CyberAgent Inc. Distribution prohibited MLOpsの要素 44 推論サービス 実験基盤 学習パイプライン 推論サービス バージョン管理 CI/CD 継続的学習 監視

Slide 45

Slide 45 text

©2024 CyberAgent Inc. Distribution prohibited 推論パターン 45 ・オンライン推論 ・バッチ推論

Slide 46

Slide 46 text

©2024 CyberAgent Inc. Distribution prohibited 推論パターン 46 アプリケーション モデル 推論エンドポイント オンライン推論 request 推論リクエストの度に予測値を計算

Slide 47

Slide 47 text

©2024 CyberAgent Inc. Distribution prohibited 推論パターン 47 アプリケーション モデル バッチ推論 予測値保管 Query 事前に予測値をバッチ計算

Slide 48

Slide 48 text

©2024 CyberAgent Inc. Distribution prohibited 推論パターン 48 リクエストごと 定期的 データ生成と同時 に予測が必要 すぐに結果が 必要でない場合 低レイテンシー 高スループット 推論間隔 ユースケース 最適化 オンライン推論 バッチ推論

Slide 49

Slide 49 text

©2024 CyberAgent Inc. Distribution prohibited モデルデプロイ方法 49 ・ABテスト ・カナリアデプロイ ・シャドウデプロイ

Slide 50

Slide 50 text

©2024 CyberAgent Inc. Distribution prohibited ABテスト 50 旧モデル 新モデル ユーザーをランダム分割

Slide 51

Slide 51 text

©2024 CyberAgent Inc. Distribution prohibited カナリアデプロイ 51 旧モデル 新モデル 新・旧モデルでトラフィック分割 Load Balancer 90% 10%

Slide 52

Slide 52 text

©2024 CyberAgent Inc. Distribution prohibited シャドウデプロイ 52 引用: Shadow variants - Amazon SageMaker ・旧モデルと一緒に 新モデルで推論 ・推論結果を検証

Slide 53

Slide 53 text

©2024 CyberAgent Inc. Distribution prohibited MLOpsの要素 53 バージョン管理 実験基盤 学習パイプライン 推論サービス バージョン管理 CI/CD 継続的学習 監視

Slide 54

Slide 54 text

©2024 CyberAgent Inc. Distribution prohibited バージョン管理対象 54 ・コード ・データ (Feature Store) ・モデル (Model Store) 機械学習システム特有

Slide 55

Slide 55 text

©2024 CyberAgent Inc. Distribution prohibited Feature Store 55 引用: What is a Feature Store? Components of a Feature Store オンライン・バッチ提供 特徴量を一元管理

Slide 56

Slide 56 text

©2024 CyberAgent Inc. Distribution prohibited Feature Storeのメリット 56 特徴の管理 特徴の計算 特徴の一貫性 チームが特徴を再利用・共有できる 特徴量エンジニアリングの定義を管理 学習・推論時に同じデータを使用

Slide 57

Slide 57 text

©2024 CyberAgent Inc. Distribution prohibited Model Store (Model Registry) 57 Code Data Meta Data Config Env Artifacts Model 推論サービス 監視 実験 Model Store

Slide 58

Slide 58 text

©2024 CyberAgent Inc. Distribution prohibited Model Storeのメリット 58 再現性 追跡可能性 モデルの状態を再現できる モデルに関わる生成物が分かる

Slide 59

Slide 59 text

©2024 CyberAgent Inc. Distribution prohibited MLOpsの要素 59 CI/CD 実験基盤 学習パイプライン 推論サービス バージョン管理 CI/CD 継続的学習 監視

Slide 60

Slide 60 text

©2024 CyberAgent Inc. Distribution prohibited CI/CD 60 引用: Practitioners Guide to Machine Learning Operations (MLOps). Figure 9. A complex CI/CD system for the model deployment process

Slide 61

Slide 61 text

©2024 CyberAgent Inc. Distribution prohibited CI 61 テスト コードの静的解析 基本的なユニットテスト Linterによるコード整形 パッケージ化 MLコードを提供する形にまとめる 通常のソフトウェアシステムと同じように扱う

Slide 62

Slide 62 text

©2024 CyberAgent Inc. Distribution prohibited CD 62 受け入れテスト 段階的デプロイ モデルパフォーマンスに基づく判定 徐々に新モデルを適応 問題のあるモデルが本番環境に入るのを 未然に防ぐ

Slide 63

Slide 63 text

©2024 CyberAgent Inc. Distribution prohibited MLOpsの要素 63 継続的学習 実験基盤 学習パイプライン 推論サービス バージョン管理 CI/CD 継続的学習 監視

Slide 64

Slide 64 text

©2024 CyberAgent Inc. Distribution prohibited CI/CD/CT 64 CT (Continuous Training) DevOpsのCI/CDになぞらえ と呼ばれること多い

Slide 65

Slide 65 text

©2024 CyberAgent Inc. Distribution prohibited 既存のソフトウェアの問題 65 ソフトウェアの腐敗 (Software rot) ・ソフトウェアの品質が時間が経つと低下する現象 ・ソフトウェアが外的環境の変化に追従できず  更新されないと起きる現象

Slide 66

Slide 66 text

©2024 CyberAgent Inc. Distribution prohibited MLシステムの問題 66 データ モデル ・モデル性能がデータに密接に関わる ・データが変化した場合、モデルを再学習させる必要がある

Slide 67

Slide 67 text

©2024 CyberAgent Inc. Distribution prohibited データ鮮度の価値 67 Meta社(旧 Facebook)がCTR予測モデルの学習を 7日→1日に変更後、モデルの損失を1%削減できた※ ※ Practical Lessons from Predicting Clicks on Ads at Facebook ユーザー嗜好の移り変わりが早いインターネット広告では データ鮮度が価値を生む可能性がある

Slide 68

Slide 68 text

©2024 CyberAgent Inc. Distribution prohibited 学習実行トリガー 68 スケジュール 手動実行 cronなどで指定した時刻に実行 任意のタイミングで実行 イベント駆動 データの更新・モデル精度悪化を 検知し実行

Slide 69

Slide 69 text

©2024 CyberAgent Inc. Distribution prohibited MLOpsの要素 69 監視 実験基盤 学習パイプライン 推論サービス バージョン管理 CI/CD 継続的学習 監視

Slide 70

Slide 70 text

©2024 CyberAgent Inc. Distribution prohibited ソフトウェアシステムの監視指標 70 ・システムパフォーマンス 推論リクエスト数・レイテンシー・CPU・メモリ使用率 ...etc ・コスト

Slide 71

Slide 71 text

©2024 CyberAgent Inc. Distribution prohibited MLシステム特有の監視指標 71 大分類 小分類 項目 データ データ品質 データの欠損・型チェック データドリフト 連続・カテゴリ特徴のデータ距離指標 外れ値監視 大きなデータドリフト検知 モデル モデルドリフト 過去と現在の予測値のデータ分布距離 モデル設定 学習時のメタデータ 予測 モデル評価指標 本番環境の予測値に対する評価指標 予測ドリフト 予測値の分布変化 引用: A Comprehensive Guide on How to Monitor Your Models in Production

Slide 72

Slide 72 text

©2024 CyberAgent Inc. Distribution prohibited データドリフト 72 引用: Model Monitoring explained in one minute (20210718)

Slide 73

Slide 73 text

©2024 CyberAgent Inc. Distribution prohibited 監視の順序 73 システムパフォーマンス システムコスト モデル設定 入力データ 予測値 ビジネス指標 モデル指標 情報量: 多 情報量: 少 導入: 難 導入: 易

Slide 74

Slide 74 text

©2024 CyberAgent Inc. Distribution prohibited MLOpsの要素 74 実験基盤 CI/CD 推論サービス 監視 学習パイプライン 継続的学習 バージョン管理 実験基盤 学習パイプライン 推論サービス バージョン管理 CI/CD 継続的学習 監視

Slide 75

Slide 75 text

©2024 CyberAgent Inc. Distribution prohibited 03 MLOpsの段階 75

Slide 76

Slide 76 text

©2024 CyberAgent Inc. Distribution prohibited MLOpsを育てる 76 全部やる必要はない 段階的に取り組んでいく

Slide 77

Slide 77 text

©2024 CyberAgent Inc. Distribution prohibited DevOps成熟度モデル 77 引用: DevOps maturity model: types, steps, and evaluation metrics 組織の DevOpsのレベル を5段階で表す

Slide 78

Slide 78 text

©2024 CyberAgent Inc. Distribution prohibited MLOps成熟度モデル 78 引用: Amazon SageMakerを利用したエンタープライズのためのMLOps基盤ロードマップ MLOpsのフェーズを 段階的に表す

Slide 79

Slide 79 text

©2024 CyberAgent Inc. Distribution prohibited 3大クラウドベンダーのMLOps成熟度モデル 79 Amazon Google Microsoft 初期フェーズ Level 0 手動プロセス Level 0 MLOps なし 反復可能フェーズ Level 1 MLパイプライン自動化 Level 1 DevOps はあるが MLOps なし 信頼可能フェーズ Level 2 CI/CDパイプライン自動化 Level 2 学習自動化 スケーラブル フェーズ Level 3 モデルデプロイ自動化 Level 4 フルMLOps自動化 参考: 3大クラウド各社の MLOps 成熟度モデルの比較

Slide 80

Slide 80 text

©2024 CyberAgent Inc. Distribution prohibited GoogleのMLOps成熟度モデル 80 レベル 0: 手動プロセス レベル 1: MLパイプラインの自動化 レベル 2: CI/CDパイプラインの自動化

Slide 81

Slide 81 text

©2024 CyberAgent Inc. Distribution prohibited レベル 0: 手動プロセス 81 引用: MLOps: 機械学習における継続的デリバリーと自動化のパイプライン,MLOps レベル 0: 手動プロセス ・各作業を手動で実施 ・低頻度のリリース ・CI/CDなし ・デプロイは予測  サービスのみ ・監視なし

Slide 82

Slide 82 text

©2024 CyberAgent Inc. Distribution prohibited レベル 1: MLパイプラインの自動化 82 引用: MLOps: 機械学習における継続的デリバリーと自動化のパイプライン,MLOps レベル 1: ML パイプラインの自動化 ・統合テスト ・継続的学習 ・開発と本番環境の実装同質化 ・コードのコンポーネント化 ・データとモデルの評価 ・Feature Store ・Model Store

Slide 83

Slide 83 text

©2024 CyberAgent Inc. Distribution prohibited レベル 2: CI/CDパイプラインの自動化 83 引用: MLOps: 機械学習における継続的デリバリーと自動化のパイプライン,MLOps レベル 2: CI / CD パイプラインの自動化 ・新モデル検証環境 ・パイプラインのCI/CD ・CTの自動化 ・モデルのCD ・監視

Slide 84

Slide 84 text

©2024 CyberAgent Inc. Distribution prohibited MLOpsの定量化 84 引用: Figure 1. ML Systems Require Extensive Testing and Monitoring. The ML Test Score: A Rubric for ML Production Readiness and Technical Debt Reduction 既存のソフトウェアシステムになかった MLシステムがテスト・監視する項目を取り上げた論文

Slide 85

Slide 85 text

©2024 CyberAgent Inc. Distribution prohibited ML Test Score 85 引用: Figure 4. Average scores for interviewed teams. MLシステムを4つの観点でスコア化 7問×4軸の28問 ・特徴量 (0~7点) ・モデル (0~7点) ・インフラ (0~7点) ・モニタリング (0~7点) ・結果をドキュメント化し、テストを手動実行してる: 0.5ポイント ・テストを自動的に繰り返し実行できるシステムがある: 1.0ポイント ・4軸の各合計(0~7点)の最小値が ML Test Score

Slide 86

Slide 86 text

©2024 CyberAgent Inc. Distribution prohibited ML Test Score 86 ポイント 解釈 0 プロダクションシステムというよりは研究プロジェクト (0, 1] 総合的にテストはされていないが,可能な限り信頼性向上に努めている (1, 2] 基礎的なプロジェクトの要求事項は通過した.しかし,信頼性向上のためのさらなる投資が必要とされる (2, 3] 適切なテストがされている,だが更に自動化の余地が残っている (3, 5] 信頼性の高い自動化されたテストとモニタリングレベル.ミッションクリティカルな状況でも問題はない > 5 卓越したレベルの機械学習システム 引用: [抄訳] What’s your ML test score? A rubric for ML production systems

Slide 87

Slide 87 text

©2024 CyberAgent Inc. Distribution prohibited ここまでの話 87 何が言いたいかというと

Slide 88

Slide 88 text

©2024 CyberAgent Inc. Distribution prohibited 88 ML/DS以外の職種の人がMLOpsで 活躍できるチャンスが沢山あります

Slide 89

Slide 89 text

©2024 CyberAgent Inc. Distribution prohibited まとめ 89 1. MLOpsとは DevOps for ML 2. MLOpsの要素 実験基盤・学習パイプライン・推論サービス・ バージョン管理・CI/CD・継続的学習・監視 3. MLOpsの段階 MLOps成熟度モデル・ML Test Score

Slide 90

Slide 90 text

©2024 CyberAgent Inc. Distribution prohibited 90 MLOps基礎編は以上で終わりです お疲れ様でした

Slide 91

Slide 91 text

©2024 CyberAgent Inc. Distribution prohibited