SlideShare a Scribd company logo
Machine Learning Design Patterns
Design
Pattern 27:
Model
Versioning
hei4
図は以下から引用:
Lakshmanan, Valliappa, Sara Robinson, and Michael Munn.
Machine learning design patterns. " O'Reilly Media, Inc.", 2020.
Problem
• 機械学習モデルは環境の変化を反映するように定期的に更新する必要がある。
本番環境でモデルを更新すると、モデルの動作に影響が出ることは避けられない。
ユーザーが以前のバージョンを選択できる仕組みが必要
事例)本の説明文からジャンルを予測して、レコメンドするシステム
新しいデータで再訓練すると、全体の精度は向上するが古い本の精度は落ちる
• 本番環境で新しいモデルの挙動を以前と比較したり、一部のユーザーだけでテス
トするなど、既存のユーザーに迷惑をかけずにモデルを継続的に更新するソリュー
ションが必要
Solution
• 異なるRESTエンドポイント*の複数のバージョンをデプロイする。後方互換性が確
保され、古いバージョンに依存しているユーザーもサービスを利用できる
• 加えて、バージョン管理を行うことでバージョン間のきめ細かなパフォーマンス監視や
分析が可能になる。精度や使用状況の統計から、特定のバージョンをオフラインに
するタイミングを判断することもできる
• モデルをアプリケーションのフロントエンドから切り離せる効果もある。新しいバージョ
ンを追加するには、RESTエンドポイントを変更するだけでよい
* APIにアクセスするためのURL
Solution
• モデルの「エンドユーザー」には2種類存在する
• モデルのエンドポイントを利用する社外のアプリケーション開発者:モデルに依存し
たアプリケーションを構築している。バージョン管理による後方互換性の担保を、最
も重要視する
• デプロイされたモデルを呼び出すアプリケーションの利用者:後方互換性の問題に
直面する可能性は低い。アプリケーションの新機能(=新しいバージョン)を使い
始めるタイミングを自分で選択したい場合がある
Solution
Cloud AI Platform でのバージョン管理の例
• テキストではCloud AI Platformでのバージョン
管理の方法が紹介されている
• モデル自体の変更だけでなく、新しい訓練データ
が利用可能になった場合にもバージョン管理を
行う。そのためには、各バージョンの学習に利用し
たデータの追跡を行えることが重要。データのタイ
ムスタンプの範囲を、モデルのバージョン名に含め
るという方法がある
Trade-Offs and Alternatives (1)
Other serverless versioning tools TensorFlow Serving
• 一般的なサーバーレス製品でも、機械学習モデ
ルのバージョニングは実行できる(Cloud Run
など)
• AI Platform Predictionの長所は、機械学
習モデルのデプロイに特化して構築されていること。
機械学習モデルに最適化されたGPUを使ったデ
プロイのサポート、ライブラリの依存関係の管理
• TensorFlow Servingのようなオープンソース
ツールを使用しても、モデルのバージョニングは行
うことができる
• TensorFlow Serving API にはモデルのバー
ジョニングのサポートが組み込まれている。
SeldonやMLFlowなど、他のオープンソースのモ
デルサービングの選択肢も存在する
Trade-Offs and Alternatives (2)
Multiple serving functions New models versus new model versions
• 複数のバージョンをデプロイする別の方法として、
1つのモデルに対して複数のサービング関数を定
義する方法がありうる
• Model Versioningパターンとの大きな違いは、
モデルは1つだけで、そのモデルがデプロイされると
すべてのバージョンが同時に更新されてしまうとい
うこと
• モデルのタスクが変更された場合は、全く新しいモ
デルを作成することを勧める。新しいタスクではモ
デルの出力形式が異なり、出力を変更すると既
存クライアントを破壊する可能性があるため
• 迷ったときは、既存顧客にアップグレードしてほし
いかどうかを考える。答えがイエスなら、タスクを変
更せずに新しいバージョンを作成すれば十分。
Model Versioning
どんなメリットがある?
• 本番環境のモデルを最新の状態に保ちながら、既存
モデルのユーザーに悪影響を与えないようにできる
• バージョン間での詳細な分析やパフォーマンスの監視
ができる
どうやって解決する?
• 異なるRESTエンドポイントを持つ複数のモデルバー
ジョンをデプロイして、後方互換性を確保する
• モデルをバージョン管理し、バージョン間の比較試験
や分析を行う
どんなときに使う?
• 本番環境でモデルを継続的に更新するとき
トレードオフや関連手法はある?
• 関連手法:新しい学習データが利用可能になったと
きにもバージョニングを行う
• 関連手法:予測タスクが変更された場合はバージョ
ニングではなく新しいモデルリソースを作成する

More Related Content

Similar to Model versioning pattern

(修正)機械学習デザインパターン(ML Design Patterns)の解説
(修正)機械学習デザインパターン(ML Design Patterns)の解説(修正)機械学習デザインパターン(ML Design Patterns)の解説
(修正)機械学習デザインパターン(ML Design Patterns)の解説Hironori Washizaki
 
機械学習デザインパターン: 再現性パターン
機械学習デザインパターン: 再現性パターン機械学習デザインパターン: 再現性パターン
機械学習デザインパターン: 再現性パターンNobukazu Yoshioka
 
平成24年度社会知能情報学専攻修士論文中間発表会(予稿)
平成24年度社会知能情報学専攻修士論文中間発表会(予稿)平成24年度社会知能情報学専攻修士論文中間発表会(予稿)
平成24年度社会知能情報学専攻修士論文中間発表会(予稿)n-yuki
 
世界標準のソフトウェア工学知識体系SWEBOK Guide最新第4版を通じた開発アップデート
世界標準のソフトウェア工学知識体系SWEBOK Guide最新第4版を通じた開発アップデート世界標準のソフトウェア工学知識体系SWEBOK Guide最新第4版を通じた開発アップデート
世界標準のソフトウェア工学知識体系SWEBOK Guide最新第4版を通じた開発アップデートHironori Washizaki
 
要求/ユースケース 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第13回】
要求/ユースケース 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第13回】要求/ユースケース 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第13回】
要求/ユースケース 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第13回】Tomoharu ASAMI
 
設計/原理 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第28回】
設計/原理 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第28回】設計/原理 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第28回】
設計/原理 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第28回】Tomoharu ASAMI
 
機械学習デザインパターンおよび機械学習システムの品質保証の取り組み
機械学習デザインパターンおよび機械学習システムの品質保証の取り組み機械学習デザインパターンおよび機械学習システムの品質保証の取り組み
機械学習デザインパターンおよび機械学習システムの品質保証の取り組みHironori Washizaki
 
静的モデル(1) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第4回】
静的モデル(1) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第4回】静的モデル(1) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第4回】
静的モデル(1) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第4回】Tomoharu ASAMI
 
機械学習応用のためのソフトウェアエンジニアリングパターン
機械学習応用のためのソフトウェアエンジニアリングパターン機械学習応用のためのソフトウェアエンジニアリングパターン
機械学習応用のためのソフトウェアエンジニアリングパターンHironoriTAKEUCHI1
 
効率的学習 / Efficient Training(メタサーベイ)
効率的学習 / Efficient Training(メタサーベイ)効率的学習 / Efficient Training(メタサーベイ)
効率的学習 / Efficient Training(メタサーベイ)cvpaper. challenge
 
Azure Machine Learning getting started
Azure Machine Learning getting startedAzure Machine Learning getting started
Azure Machine Learning getting startedMasayuki Ota
 
オープンソースを利用したモデル駆動トライアル
オープンソースを利用したモデル駆動トライアルオープンソースを利用したモデル駆動トライアル
オープンソースを利用したモデル駆動トライアルAkira Tanaka
 
クラウドアプリケーションのための オブジェクト指向分析設計講座 (1)
クラウドアプリケーションのための オブジェクト指向分析設計講座 (1)クラウドアプリケーションのための オブジェクト指向分析設計講座 (1)
クラウドアプリケーションのための オブジェクト指向分析設計講座 (1)Tomoharu ASAMI
 
【DL輪読会】Transformers are Sample Efficient World Models
【DL輪読会】Transformers are Sample Efficient World Models【DL輪読会】Transformers are Sample Efficient World Models
【DL輪読会】Transformers are Sample Efficient World ModelsDeep Learning JP
 

Similar to Model versioning pattern (15)

(修正)機械学習デザインパターン(ML Design Patterns)の解説
(修正)機械学習デザインパターン(ML Design Patterns)の解説(修正)機械学習デザインパターン(ML Design Patterns)の解説
(修正)機械学習デザインパターン(ML Design Patterns)の解説
 
機械学習デザインパターン: 再現性パターン
機械学習デザインパターン: 再現性パターン機械学習デザインパターン: 再現性パターン
機械学習デザインパターン: 再現性パターン
 
平成24年度社会知能情報学専攻修士論文中間発表会(予稿)
平成24年度社会知能情報学専攻修士論文中間発表会(予稿)平成24年度社会知能情報学専攻修士論文中間発表会(予稿)
平成24年度社会知能情報学専攻修士論文中間発表会(予稿)
 
世界標準のソフトウェア工学知識体系SWEBOK Guide最新第4版を通じた開発アップデート
世界標準のソフトウェア工学知識体系SWEBOK Guide最新第4版を通じた開発アップデート世界標準のソフトウェア工学知識体系SWEBOK Guide最新第4版を通じた開発アップデート
世界標準のソフトウェア工学知識体系SWEBOK Guide最新第4版を通じた開発アップデート
 
要求/ユースケース 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第13回】
要求/ユースケース 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第13回】要求/ユースケース 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第13回】
要求/ユースケース 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第13回】
 
設計/原理 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第28回】
設計/原理 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第28回】設計/原理 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第28回】
設計/原理 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第28回】
 
機械学習デザインパターンおよび機械学習システムの品質保証の取り組み
機械学習デザインパターンおよび機械学習システムの品質保証の取り組み機械学習デザインパターンおよび機械学習システムの品質保証の取り組み
機械学習デザインパターンおよび機械学習システムの品質保証の取り組み
 
静的モデル(1) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第4回】
静的モデル(1) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第4回】静的モデル(1) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第4回】
静的モデル(1) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第4回】
 
機械学習応用のためのソフトウェアエンジニアリングパターン
機械学習応用のためのソフトウェアエンジニアリングパターン機械学習応用のためのソフトウェアエンジニアリングパターン
機械学習応用のためのソフトウェアエンジニアリングパターン
 
効率的学習 / Efficient Training(メタサーベイ)
効率的学習 / Efficient Training(メタサーベイ)効率的学習 / Efficient Training(メタサーベイ)
効率的学習 / Efficient Training(メタサーベイ)
 
Azure Machine Learning getting started
Azure Machine Learning getting startedAzure Machine Learning getting started
Azure Machine Learning getting started
 
強化学習5章
強化学習5章強化学習5章
強化学習5章
 
オープンソースを利用したモデル駆動トライアル
オープンソースを利用したモデル駆動トライアルオープンソースを利用したモデル駆動トライアル
オープンソースを利用したモデル駆動トライアル
 
クラウドアプリケーションのための オブジェクト指向分析設計講座 (1)
クラウドアプリケーションのための オブジェクト指向分析設計講座 (1)クラウドアプリケーションのための オブジェクト指向分析設計講座 (1)
クラウドアプリケーションのための オブジェクト指向分析設計講座 (1)
 
【DL輪読会】Transformers are Sample Efficient World Models
【DL輪読会】Transformers are Sample Efficient World Models【DL輪読会】Transformers are Sample Efficient World Models
【DL輪読会】Transformers are Sample Efficient World Models
 

More from yohei okawa

Keyed predictions pattern
Keyed predictions patternKeyed predictions pattern
Keyed predictions patternyohei okawa
 
Batch serving pattern
Batch serving patternBatch serving pattern
Batch serving patternyohei okawa
 
Distribution Strategy pattern
Distribution Strategy patternDistribution Strategy pattern
Distribution Strategy patternyohei okawa
 
Multilabel pattern
Multilabel patternMultilabel pattern
Multilabel patternyohei okawa
 
はじめての方向け GANチュートリアル
はじめての方向け GANチュートリアルはじめての方向け GANチュートリアル
はじめての方向け GANチュートリアルyohei okawa
 
semantic segmentation サーベイ
semantic segmentation サーベイsemantic segmentation サーベイ
semantic segmentation サーベイyohei okawa
 
Attention-Guided GANについて
Attention-Guided GANについてAttention-Guided GANについて
Attention-Guided GANについてyohei okawa
 
SLAM入門 第2章 SLAMの基礎
SLAM入門 第2章 SLAMの基礎SLAM入門 第2章 SLAMの基礎
SLAM入門 第2章 SLAMの基礎yohei okawa
 
CycleGANについて
CycleGANについてCycleGANについて
CycleGANについてyohei okawa
 

More from yohei okawa (10)

Keyed predictions pattern
Keyed predictions patternKeyed predictions pattern
Keyed predictions pattern
 
Batch serving pattern
Batch serving patternBatch serving pattern
Batch serving pattern
 
Distribution Strategy pattern
Distribution Strategy patternDistribution Strategy pattern
Distribution Strategy pattern
 
Multilabel pattern
Multilabel patternMultilabel pattern
Multilabel pattern
 
20190630_VoVNet
20190630_VoVNet20190630_VoVNet
20190630_VoVNet
 
はじめての方向け GANチュートリアル
はじめての方向け GANチュートリアルはじめての方向け GANチュートリアル
はじめての方向け GANチュートリアル
 
semantic segmentation サーベイ
semantic segmentation サーベイsemantic segmentation サーベイ
semantic segmentation サーベイ
 
Attention-Guided GANについて
Attention-Guided GANについてAttention-Guided GANについて
Attention-Guided GANについて
 
SLAM入門 第2章 SLAMの基礎
SLAM入門 第2章 SLAMの基礎SLAM入門 第2章 SLAMの基礎
SLAM入門 第2章 SLAMの基礎
 
CycleGANについて
CycleGANについてCycleGANについて
CycleGANについて
 

Recently uploaded

Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)keikoitakurag
 
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptxssuserbefd24
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。iPride Co., Ltd.
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptxyassun7010
 
20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdf20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdfAyachika Kitazaki
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)NTT DATA Technology & Innovation
 
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...atsushi061452
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizesatsushi061452
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルCRI Japan, Inc.
 

Recently uploaded (10)

Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
 
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
 
20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdf20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdf
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
 
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 

Model versioning pattern