Slide 1

Slide 1 text

©2023 Databricks Inc. — All rights reserved Confidential and Proprietary 機械学習モデルの運⽤と 実⽤的なアプローチ 1

Slide 2

Slide 2 text

©2023 Databricks Inc. — All rights reserved Confidential and Proprietary 質問は Slido まで https://app.sli.do/event/nmvxCgircnNSMN85DXJT7e/live/questions 2 #dmm_databricks

Slide 3

Slide 3 text

©2023 Databricks Inc. — All rights reserved Confidential and Proprietary アジェンダ ● はじめに ● 機械学習モデルの運⽤ ○ MLOps ○ 必要な⼈員とプロセス ● 実⽤的なアプローチ ○ 環境 ○ コードとモデル ○ リファレンスアーキテクチャ ● 参考資料 3 #dmm_databricks

Slide 4

Slide 4 text

©2023 Databricks Inc. — All rights reserved Confidential and Proprietary はじめに ● 今⽇話さないこと ○ 特定の機械学習アルゴリズムについて ○ 具体的なツールの使い⽅について ○ 具体的な実装について ● 今⽇ちょっとしか話さないこと ○ Databricks について 4 #dmm_databricks

Slide 5

Slide 5 text

©2023 Databricks Inc. — All rights reserved Confidential and Proprietary 機械学習モデルの運用 5

Slide 6

Slide 6 text

©2023 Databricks Inc. — All rights reserved Confidential and Proprietary ML Code Configuration Data Collection Data Verification Feature Extraction Machine Resource Management Analysis Tools Process Management Tools Serving Infrastructure Monitoring “Hidden Technical Debt in Machine Learning Systems,” Google NIPS 2015 Figure 1: 中央の⼩さなボックスで⽰されているように、実際の ML システムのうち ML コードで構成されて いるのはごく⼀部。必要な周辺インフラストラクチャは広⼤かつ複雑。 MLの最も難しい部分はMLではない

Slide 7

Slide 7 text

©2023 Databricks Inc. — All rights reserved Confidential and Proprietary MLシステムのパフォーマンス、安定性、⻑期的な効率性を改善するためのデータ、コード、 モデルの管理に対する一連のプロセスと自動化処理 MLOps 7 MLOps = DataOps + DevOps + ModelOps #dmm_databricks

Slide 8

Slide 8 text

©2023 Databricks Inc. — All rights reserved Confidential and Proprietary なぜMLOpsが必要なのか リスクの軽減に有⽤ 8 ● 技術的なリスク - 精度の低いモデル、壊れやすいインフラ ● コンプライアンスのリスク - 規制や企業ポリシーの違反 自動化を通じて長期的な効率を改善 ● モデルのプロダクションへのデリバリーを効率化 ● プロダクションでエラーが発生する前に捕捉 ● 手動プロセスによる遅延を回避 #dmm_databricks

Slide 9

Slide 9 text

©2023 Databricks Inc. — All rights reserved Confidential and Proprietary 基本原則 9 モジュール化してMLOpsを実装 プロセスを自動化 機械学習に対するデータ中心アプローチを採用 常にビジネスモデルを念頭に #dmm_databricks

Slide 10

Slide 10 text

©2023 Databricks Inc. — All rights reserved Confidential and Proprietary 10 必要な人員 データパイプラインを構築 モデルのトレーニングとチューニング プロダクションにMLモデルをデプロイ データガバナンスとコンプライアンスに責任を持つ MLソリューションのビジネス価値に責任を持つ #dmm_databricks

Slide 11

Slide 11 text

©2023 Databricks Inc. — All rights reserved Confidential and Proprietary 11 必要なプロセス データ準備 探索的データ分 析 特徴量エンジニ アリング モデル トレーニング モデル評価 デプロイメント モニタリング #dmm_databricks

Slide 12

Slide 12 text

©2023 Databricks Inc. — All rights reserved Confidential and Proprietary 実用的なアプローチ 12

Slide 13

Slide 13 text

©2023 Databricks Inc. — All rights reserved Confidential and Proprietary 環境 ● Dev ○ データサイエンティスト/機械学習エンジニアが ⾃由に開発できる環境 ○ 任意のコードを実⾏可能 ● Staging ○ Dev で開発された機能を本番環境にリリースされる前にテスト ● Prod ○ 本番環境 13 #dmm_databricks

Slide 14

Slide 14 text

©2023 Databricks Inc. — All rights reserved Confidential and Proprietary 環境 ● 環境によって資産を分離 ○ コード ○ モデル ○ データ 14 #dmm_databricks

Slide 15

Slide 15 text

©2023 Databricks Inc. — All rights reserved Confidential and Proprietary 環境 ● 環境によって資産を分離 ○ コード ○ モデル ○ データ 15 MLOps 特有 #dmm_databricks

Slide 16

Slide 16 text

©2023 Databricks Inc. — All rights reserved Confidential and Proprietary モデルとコード 多くの場合、モデルとコードのライフサイクルは⾮同期 • 週次の不正検知モデルの更新 • モデルの更新あり • コードの変更なし • 後処理のアルゴリズムの変更 • モデルの更新なし • コードの変更あり 16 #dmm_databricks

Slide 17

Slide 17 text

©2023 Databricks Inc. — All rights reserved Confidential and Proprietary モデルとコードのライフサイクル モデル中⼼のデプロイパターンとコード中⼼のデプロイパターン 17 #dmm_databricks

Slide 18

Slide 18 text

©2023 Databricks Inc. — All rights reserved Confidential and Proprietary モデルとコードのライフサイクル 18 #dmm_databricks モデルのデプロイ コードのデプロイ Dev ● 学習コードの開発 ● 補助コードの開発 ● プロダクションデータで学習 ● 補助コードとモデルをプロモート ● 学習コードの開発 ● 補助コードの開発 ● Dev データで学習 ● コードをプロモート Staging ● モデルをテスト ● 補助コードをテスト ● 補助コードとモデルをプロモート ● プロダクションデータのサブセットで学習 ● 補助コードをテスト ● コードをプロモート Production ● モデルと補助コードをデプロイ ● プロダクションデータで学習 ● モデルをテスト ● モデルと補助コードをデプロイ

Slide 19

Slide 19 text

©2023 Databricks Inc. — All rights reserved Confidential and Proprietary モデルとコードのライフサイクル 19 #dmm_databricks モデルのデプロイ コードのデプロイ Dev ● 学習コードの開発 ● 補助コードの開発 ● プロダクションデータで学習 ● 補助コードとモデルをプロモート ● 学習コードの開発 ● 補助コードの開発 ● Dev データで学習 ● コードをプロモート Staging ● モデルをテスト ● 補助コードをテスト ● 補助コードとモデルをプロモート ● プロダクションデータのサブセットで学習 ● 補助コードをテスト ● コードをプロモート Production ● モデルと補助コードをデプロイ ● プロダクションデータで学習 ● モデルをテスト ● モデルと補助コードをデプロイ • 1回限りの学習 • 学習に⾮常に時間がかかる場合

Slide 20

Slide 20 text

©2023 Databricks Inc. — All rights reserved Confidential and Proprietary モデルとコードのライフサイクル 20 #dmm_databricks モデルのデプロイ コードのデプロイ Dev ● 学習コードの開発 ● 補助コードの開発 ● プロダクションデータで学習 ● 補助コードとモデルをプロモート ● 学習コードの開発 ● 補助コードの開発 ● Dev データで学習 ● コードをプロモート Staging ● モデルをテスト ● 補助コードをテスト ● 補助コードとモデルをプロモート ● プロダクションデータのサブセットで学習 ● 補助コードをテスト ● コードをプロモート Production ● モデルと補助コードをデプロイ ● プロダクションデータで学習 ● モデルをテスト ● モデルと補助コードをデプロイ RECOMMENDED

Slide 21

Slide 21 text

©2023 Databricks Inc. — All rights reserved Confidential and Proprietary リファレンスーアキテクチャ 21 #dmm_databricks

Slide 22

Slide 22 text

©2023 Databricks Inc. — All rights reserved Confidential and Proprietary Dev Staging Production リファレンスーアキテクチャ 22 #dmm_databricks

Slide 23

Slide 23 text

©2023 Databricks Inc. — All rights reserved Confidential and Proprietary Dev 23 #dmm_databricks

Slide 24

Slide 24 text

©2023 Databricks Inc. — All rights reserved Confidential and Proprietary Dev 24 本番データへのアクセス 読み取り専⽤が望ましい #dmm_databricks

Slide 25

Slide 25 text

©2023 Databricks Inc. — All rights reserved Confidential and Proprietary Dev 25 探索的データ分析 #dmm_databricks

Slide 26

Slide 26 text

©2023 Databricks Inc. — All rights reserved Confidential and Proprietary Dev 26 特徴量‧モデルを保存 出⼒先はDev⽤ストレージ 実験の結果を記録 #dmm_databricks

Slide 27

Slide 27 text

©2023 Databricks Inc. — All rights reserved Confidential and Proprietary Dev 27 コンプライアンスや精度チェック後 Devブランチにコミット #dmm_databricks

Slide 28

Slide 28 text

©2023 Databricks Inc. — All rights reserved Confidential and Proprietary Staging 28 #dmm_databricks

Slide 29

Slide 29 text

©2023 Databricks Inc. — All rights reserved Confidential and Proprietary Staging 29 • CIによる統合テストの⾃動実⾏ • Training • Validation • Deployment • Inference • Monitoring #dmm_databricks

Slide 30

Slide 30 text

©2023 Databricks Inc. — All rights reserved Confidential and Proprietary Production 30 #dmm_databricks

Slide 31

Slide 31 text

©2023 Databricks Inc. — All rights reserved Confidential and Proprietary Production 31 ● 学習後にレジストリに モデルを登録 ● 各種チェック後エイリアスを Challenger に設定 #dmm_databricks

Slide 32

Slide 32 text

©2023 Databricks Inc. — All rights reserved Confidential and Proprietary Production 32 ● Champion と⽐較 ● 精度が勝れば Challenger を Champion に昇格 #dmm_databricks

Slide 33

Slide 33 text

©2023 Databricks Inc. — All rights reserved Confidential and Proprietary Production 33 APIとしてサービング アプリケーションからリクエストを 受け付ける #dmm_databricks

Slide 34

Slide 34 text

©2023 Databricks Inc. — All rights reserved Confidential and Proprietary Production 34 推論を事前計算する場合は バッチ or ストリーミングのパイプラインを作成 #dmm_databricks

Slide 35

Slide 35 text

©2023 Databricks Inc. — All rights reserved Confidential and Proprietary Production 35 推論精度や⼊⼒データのドリフトを モニタリング #dmm_databricks

Slide 36

Slide 36 text

©2023 Databricks Inc. — All rights reserved Confidential and Proprietary 参考資料 ● The Big Book of MLOps https://www.databricks.com/resources/ebook/the-big-book-of-mlops ○ 約80ページの超⼤作 ○ LLM Ops についても記載 ○ 以下のQRコードか「The Big Book of MLOps」で検索🔎 36 #dmm_databricks

Slide 37

Slide 37 text

©2023 Databricks Inc. — All rights reserved Confidential and Proprietary 各種媒体で情報発信中 37 Databricks Japanの情報発信チャンネル (旧 ) @DatabricksJP bit.ly/DatabricksJP ブログ databricks.com /jp/blog #dmm_databricks