SlideShare a Scribd company logo
1 of 12
再現性パターン
吉岡信和
早稲田大学
@スマートエスイーセミナー
2021年11月10日
1
『機械学習デザインパターン ―データ準備、モデル構築、MLOpsの実践上の問題と解決』Lakshmananら著, 鷲崎ら訳, オライリージャパン, 2021
再現性パターン • 決定的な出力を得やすく、訓練・開発効率
2
パターン 問題 解決
変換
Transform
訓練時と推論時で前処理に一貫
性がなくなる
変換・前処理の仕方を保存再利用、訓練・
推論時で一貫
繰り返し可能な分割
Repeatable Splitting
ランダムな訓練、検証、テスト
用分割では再現困難
関係を用いたい変数をハッシュ化し剰余に
よりデータ分割
スキーマブリッジ
Bridged Schema
入力データのスキーマが運用後
に変更
古いデータを確率的な方法で新データス
キーマへ変換
ウィンドウ推論
Windowed Inference
訓練・運用間の歪みを避けられ
るよう一定の時間枠ごと集約
モデルの状態を外部記録、時間依存の方法
で集約計算された特徴量の一貫利用
ワークフローパイプラ
イン Workflow Pipeline
単一ファイルではスケールせず 各ステップを分けてサービス化
特徴量ストア
Feature Store
アドホックな特徴量エンジニア
リング
プロジェクトやチームを超えた特徴量共有
モデルバージョニング
Model Versioning
モデル更新時の後方互換性困難 モデルバージョンを異なるエンドポイント
提供、比較
{現金|カード}
{現金|ギフトカード|デビットカード|クレジットカード}
変換 スキーマブリッジ
『機械学習デザインパターン ―データ準備、モデル構築、MLOpsの実践上の問題と解決』Lakshmananら著, 鷲崎ら訳, オライリージャパン, 2021
機械学習ならではの再現性の問題
• 訓練時と運用の一貫性
• ランダム性
• トライアンドエラー
変換(Transform)パターン
3
訓練時 運用時
訓練済みモデル
同じ変換でなければ誤った推論になる
アドホックな記述は訓練・運用間の歪みに!
ライブラリ・環境(言語設定、カレンダ設定)の違いに注意!
水曜
“3”
(月曜始まり)
水曜
“4”
(日曜始まり)
変換(TRANSFORM)を明示的に定義
・訓練のたびに変換 ⇒ 訓練回数が増えるとコスト大
 最初に変換、特徴量として保存
『機械学習デザインパターン ―データ準備、モデル構築、MLOpsの実践上の問題と解決』Lakshmananら著, 鷲崎ら訳, オライリージャパン, 2021
前処理済
みデータ
元データ 訓練
変換
【問題】
【解決】
【トレードオフと代替案】
繰り返し可能な分割
(Repeatable Splitting)パターン
4
訓練
検証
テスト
ランダムに分割
データセット
あとから同じ分割を再現できない!
関連があるデータを分割してしまう
(情報の漏れ)
訓練 検証 テスト
相互に関係のあるカラム(日付など)
をハッシュにより分割
・常に同じ計算結果(同じ分割)
・関連のあるカラム(日付)が同じデータ
セットに入る 訓練 テスト
『機械学習デザインパターン ―データ準備、モデル構築、MLOpsの実践上の問題と解決』Lakshmananら著, 鷲崎ら訳, オライリージャパン, 2021
日付のハッシュ
の剰余で分割
【問題】
【解決】
繰り返し可能な分割
(Repeatable Splitting)パターン
【トレードオフと代替案】
• データ行の間に関連がない場合
行全体のデータを文字列に変換してからハッシュ
• 複数のカラムに関して関係がある場合
• 例)日付と空港の両方が関係
関連があるカラムを連結してハッシュ
• 画像などの非構造化データ
撮影日などをメタデータを利用
5
『機械学習デザインパターン ―データ準備、モデル構築、MLOpsの実践上の問題と解決』Lakshmananら著, 鷲崎ら訳, オライリージャパン, 2021
スキーマブリッジ
(Bridged Schema)パターン
6
機械学習
モデル
チップ額
支払額
種類:{現金,カード}
機械学習
モデル
チップ額
支払額
種類:{現金,
ギフトカード,
デビットカード,
クレジットカード}
決算システムがアップグレード
再訓練のための新しい情報が少ない
古い情報
新しい情報
新しい形式
に変換
(ブリッジ)
カード
訓練
{ギフト|デビット|クレジット}
{ギフト|デビット|クレジット}
10% 30% 60%
出現確率で
書き換え
どれくらいブリッジした
らよい?
【問題】
【解決】
ブリッジする古いデータ数
7
古い情報
新しい情報
ブリッジ
訓練
古いサンプルはできるだけ少なく
新しいサンプルだけでは性能
が悪い!
5,000サンプル
100万サンプル
評価
2,400サンプル
様々な評価サイズで評価指標の変動(標準偏差)
を調べる
性能が安定
グリードサーチで評価指標が安定
する数を探す
2万
2,500
『機械学習デザインパターン ―データ準備、モデル構築、MLOpsの実践上の問題と解決』Lakshmananら著, 鷲崎ら訳, オライリージャパン, 2021
スキーマブリッジ
(Bridged Schema)パターン
【トレードオフと代替案】
• 新しい特徴量が追加された場合、古いデータを以下の方
針で補完
• 新しい特徴量が数値
• 正規分布 ⇒ 平均値
• 分布が偏っている、外れ値が多い ⇒ 中央値
• 新しい特徴量がカテゴ型
• ソートできる場合 ⇒ 中央値
• ソートできない場合 ⇒ 最頻値(モード)
• 新しい特徴量が真偽値 ⇒ 真になる頻度
• 新しいデータで精度が向上した場合
• 浮動小数点の場合は、ブリッジは不要
• 元のデータ:0.3 ⇒ 新しいデータ: 0.30
8
ウィンドウ推論
(Windowed Inference)パターン
9
機械学習
モデル
?
どこまでの履歴を入力とす
ればよいか不明
• 過去のすべての履歴を入力とするのは現実的ではない!
• 運用時に利用できる履歴(データ容量)は限られている!
フライトの異常遅延
の検出
遅延が異常かどうかは
過去の状況に依存
朝は少しの遅延
でも異常
夕方以降は遅延
が通常
『機械学習デザインパターン ―データ準備、モデル構築、MLOpsの実践上の問題と解決』Lakshmananら著, 鷲崎ら訳, オライリージャパン, 2021
【問題】
『機械学習デザインパターン ―データ準備、モデル構築、MLOpsの実践上の問題と解決』Lakshmananら著, 鷲崎ら訳, オライリージャパン, 2021
ウィンドウ推論
(Windowed Inference)パターン
10
機械学習
モデル
スライディングウィンドウ
10分ごとに2時間分のデータを特徴
量に変換
2時間分のフライト履歴を使
って訓練・推論
10分刻み2時間のデータで訓練
フライトごとに推論
過去2時間分
の特徴量
推論パイプライン
特徴量
【解決】
フライトの異常遅延
の検出
遅延が異常かどうかは
過去の状況に依存
ウィンドウ推論
(Windowed Inference)パターン
【トレードオフと代替案】
• ウィンドウ毎に特徴量を計算するのは計算オーバーヘッ
ドが大きい、高スループットが必要
入力データが更新されるたびに特徴量を計算
11
データ更新毎に
計算
特徴量
遅延の平均、データ数、
分散など
機械学習
モデル
高スループットを確保
特徴量計算のための最低限の
情報のみ保持
『機械学習デザインパターン ―データ準備、モデル構築、MLOpsの実践上の問題と解決』Lakshmananら著, 鷲崎ら訳, オライリージャパン, 2021
12
ワークフローパイプライン
(Workflow Pipeline)パターン
• トライアンドエラーの訓練のコードの再利用性・可読性が低い
• 訓練と推論で異なった前処理をしてしまう(訓練・運用間の歪み)
各ステップをコンテナ化
パイプラインで連結してワークフローを定義
ツール:
Cloud AI Platform Piplines, TFX,
KFP, MLflow, Apache Airflow
『機械学習デザインパターン ―データ準備、モデル構築、MLOpsの実践上の問題と解決』Lakshmananら著, 鷲崎ら訳, オライリージャパン, 2021
特徴量ストア
(Feature Store)
パターン
訓練・運用の
一貫性
(運用時)低遅延アクセス
(訓練時)大容量、バッチ処
理アクセス
Forestフレームワークなど

More Related Content

Similar to 機械学習デザインパターン: 再現性パターン

Deep learning勉強会20121214ochi
Deep learning勉強会20121214ochiDeep learning勉強会20121214ochi
Deep learning勉強会20121214ochiOhsawa Goodfellow
 
(修正)機械学習デザインパターン(ML Design Patterns)の解説
(修正)機械学習デザインパターン(ML Design Patterns)の解説(修正)機械学習デザインパターン(ML Design Patterns)の解説
(修正)機械学習デザインパターン(ML Design Patterns)の解説Hironori Washizaki
 
MLデザインパターン入門_Cascade
MLデザインパターン入門_CascadeMLデザインパターン入門_Cascade
MLデザインパターン入門_CascadeMasakazu Shinoda
 
効率的学習 / Efficient Training(メタサーベイ)
効率的学習 / Efficient Training(メタサーベイ)効率的学習 / Efficient Training(メタサーベイ)
効率的学習 / Efficient Training(メタサーベイ)cvpaper. challenge
 
東北大学AIE - 機械学習中級編とAzure紹介
東北大学AIE - 機械学習中級編とAzure紹介東北大学AIE - 機械学習中級編とAzure紹介
東北大学AIE - 機械学習中級編とAzure紹介Daiyu Hatakeyama
 
Model versioning pattern
Model versioning patternModel versioning pattern
Model versioning patternyohei okawa
 
MySQLで学ぶ機械学習ことはじめ.pdf
MySQLで学ぶ機械学習ことはじめ.pdfMySQLで学ぶ機械学習ことはじめ.pdf
MySQLで学ぶ機械学習ことはじめ.pdfMachiko Ikoma
 
非開発者のためのアジャイル開発入門
非開発者のためのアジャイル開発入門非開発者のためのアジャイル開発入門
非開発者のためのアジャイル開発入門Kiro Harada
 
xDB Replication ブローシャー
xDB Replication ブローシャーxDB Replication ブローシャー
xDB Replication ブローシャーYuji Fujita
 
Reframing パターン
Reframing パターンReframing パターン
Reframing パターンyohei okawa
 
機械学習デザインパターン Machine Learning Design Patterns
機械学習デザインパターン Machine Learning Design Patterns機械学習デザインパターン Machine Learning Design Patterns
機械学習デザインパターン Machine Learning Design PatternsHironori Washizaki
 
Jubatusにおける大規模分散オンライン機械学習
Jubatusにおける大規模分散オンライン機械学習Jubatusにおける大規模分散オンライン機械学習
Jubatusにおける大規模分散オンライン機械学習Preferred Networks
 
Feature engineering for predictive modeling using reinforcement learning
Feature engineering for predictive modeling using reinforcement learningFeature engineering for predictive modeling using reinforcement learning
Feature engineering for predictive modeling using reinforcement learningharmonylab
 
LiBRA 07.2020 / ITソリューション塾・第34期・開発と運用
LiBRA 07.2020 / ITソリューション塾・第34期・開発と運用LiBRA 07.2020 / ITソリューション塾・第34期・開発と運用
LiBRA 07.2020 / ITソリューション塾・第34期・開発と運用Masanori Saito
 
機械学習デザインパターンおよび機械学習システムの品質保証の取り組み
機械学習デザインパターンおよび機械学習システムの品質保証の取り組み機械学習デザインパターンおよび機械学習システムの品質保証の取り組み
機械学習デザインパターンおよび機械学習システムの品質保証の取り組みHironori Washizaki
 
5. Big Query Explainable AIの紹介
5. Big Query Explainable AIの紹介5. Big Query Explainable AIの紹介
5. Big Query Explainable AIの紹介幸太朗 岩澤
 

Similar to 機械学習デザインパターン: 再現性パターン (20)

Deep learning勉強会20121214ochi
Deep learning勉強会20121214ochiDeep learning勉強会20121214ochi
Deep learning勉強会20121214ochi
 
(修正)機械学習デザインパターン(ML Design Patterns)の解説
(修正)機械学習デザインパターン(ML Design Patterns)の解説(修正)機械学習デザインパターン(ML Design Patterns)の解説
(修正)機械学習デザインパターン(ML Design Patterns)の解説
 
MLデザインパターン入門_Cascade
MLデザインパターン入門_CascadeMLデザインパターン入門_Cascade
MLデザインパターン入門_Cascade
 
効率的学習 / Efficient Training(メタサーベイ)
効率的学習 / Efficient Training(メタサーベイ)効率的学習 / Efficient Training(メタサーベイ)
効率的学習 / Efficient Training(メタサーベイ)
 
東北大学AIE - 機械学習中級編とAzure紹介
東北大学AIE - 機械学習中級編とAzure紹介東北大学AIE - 機械学習中級編とAzure紹介
東北大学AIE - 機械学習中級編とAzure紹介
 
Model versioning pattern
Model versioning patternModel versioning pattern
Model versioning pattern
 
MySQLで学ぶ機械学習ことはじめ.pdf
MySQLで学ぶ機械学習ことはじめ.pdfMySQLで学ぶ機械学習ことはじめ.pdf
MySQLで学ぶ機械学習ことはじめ.pdf
 
非開発者のためのアジャイル開発入門
非開発者のためのアジャイル開発入門非開発者のためのアジャイル開発入門
非開発者のためのアジャイル開発入門
 
xDB Replication ブローシャー
xDB Replication ブローシャーxDB Replication ブローシャー
xDB Replication ブローシャー
 
Reframing パターン
Reframing パターンReframing パターン
Reframing パターン
 
機械学習デザインパターン Machine Learning Design Patterns
機械学習デザインパターン Machine Learning Design Patterns機械学習デザインパターン Machine Learning Design Patterns
機械学習デザインパターン Machine Learning Design Patterns
 
Jubatusにおける大規模分散オンライン機械学習
Jubatusにおける大規模分散オンライン機械学習Jubatusにおける大規模分散オンライン機械学習
Jubatusにおける大規模分散オンライン機械学習
 
Feature engineering for predictive modeling using reinforcement learning
Feature engineering for predictive modeling using reinforcement learningFeature engineering for predictive modeling using reinforcement learning
Feature engineering for predictive modeling using reinforcement learning
 
SOE-Loc
SOE-LocSOE-Loc
SOE-Loc
 
SOE-LOC
SOE-LOCSOE-LOC
SOE-LOC
 
Localization in SOE
Localization in SOELocalization in SOE
Localization in SOE
 
LiBRA 07.2020 / ITソリューション塾・第34期・開発と運用
LiBRA 07.2020 / ITソリューション塾・第34期・開発と運用LiBRA 07.2020 / ITソリューション塾・第34期・開発と運用
LiBRA 07.2020 / ITソリューション塾・第34期・開発と運用
 
機械学習デザインパターンおよび機械学習システムの品質保証の取り組み
機械学習デザインパターンおよび機械学習システムの品質保証の取り組み機械学習デザインパターンおよび機械学習システムの品質保証の取り組み
機械学習デザインパターンおよび機械学習システムの品質保証の取り組み
 
Overview and Roadmap
Overview and RoadmapOverview and Roadmap
Overview and Roadmap
 
5. Big Query Explainable AIの紹介
5. Big Query Explainable AIの紹介5. Big Query Explainable AIの紹介
5. Big Query Explainable AIの紹介
 

More from Nobukazu Yoshioka

AIシステムの要求とプロジェクトマネジメント-後半:機械学習応用システムのための 要求工学と安全性
AIシステムの要求とプロジェクトマネジメント-後半:機械学習応用システムのための要求工学と安全性AIシステムの要求とプロジェクトマネジメント-後半:機械学習応用システムのための要求工学と安全性
AIシステムの要求とプロジェクトマネジメント-後半:機械学習応用システムのための 要求工学と安全性Nobukazu Yoshioka
 
AIシステムの要求とプロジェクトマネジメント-前半:機械学習工学概論
AIシステムの要求とプロジェクトマネジメント-前半:機械学習工学概論AIシステムの要求とプロジェクトマネジメント-前半:機械学習工学概論
AIシステムの要求とプロジェクトマネジメント-前半:機械学習工学概論Nobukazu Yoshioka
 
ソフトウェア工学国際会議におけるAI倫理と公平性の研究動向
ソフトウェア工学国際会議におけるAI倫理と公平性の研究動向ソフトウェア工学国際会議におけるAI倫理と公平性の研究動向
ソフトウェア工学国際会議におけるAI倫理と公平性の研究動向Nobukazu Yoshioka
 
機械学習応用システムのための要求工学
機械学習応用システムのための要求工学機械学習応用システムのための要求工学
機械学習応用システムのための要求工学Nobukazu Yoshioka
 
プロジェクトマネージャのための機械学習工学入門
プロジェクトマネージャのための機械学習工学入門プロジェクトマネージャのための機械学習工学入門
プロジェクトマネージャのための機械学習工学入門Nobukazu Yoshioka
 
機械学習応用システムセキュリティガイドライン―背景と公開について
機械学習応用システムセキュリティガイドライン―背景と公開について機械学習応用システムセキュリティガイドライン―背景と公開について
機械学習応用システムセキュリティガイドライン―背景と公開についてNobukazu Yoshioka
 
機械学習応用システムのためのセキュリティリスク分析手法
機械学習応用システムのためのセキュリティリスク分析手法機械学習応用システムのためのセキュリティリスク分析手法
機械学習応用システムのためのセキュリティリスク分析手法Nobukazu Yoshioka
 
機械学習工学と機械学習応用システムの開発@SmartSEセミナー(2021/3/30)
機械学習工学と機械学習応用システムの開発@SmartSEセミナー(2021/3/30)機械学習工学と機械学習応用システムの開発@SmartSEセミナー(2021/3/30)
機械学習工学と機械学習応用システムの開発@SmartSEセミナー(2021/3/30)Nobukazu Yoshioka
 
機械学習応用システムの安全性の研究動向と今後の展望
機械学習応用システムの安全性の研究動向と今後の展望機械学習応用システムの安全性の研究動向と今後の展望
機械学習応用システムの安全性の研究動向と今後の展望Nobukazu Yoshioka
 
機械学習応用システムの開発技術 (機械学習工学) の現状と今後の展望
機械学習応用システムの開発技術(機械学習工学)の現状と今後の展望機械学習応用システムの開発技術(機械学習工学)の現状と今後の展望
機械学習応用システムの開発技術 (機械学習工学) の現状と今後の展望 Nobukazu Yoshioka
 
セキュリティの知識を共有する セキュリティパターン(2018/6/15)
セキュリティの知識を共有するセキュリティパターン(2018/6/15)セキュリティの知識を共有するセキュリティパターン(2018/6/15)
セキュリティの知識を共有する セキュリティパターン(2018/6/15)Nobukazu Yoshioka
 
WM2SP16 Keynote: Current and Future challenge of Model and Modelling on Secur...
WM2SP16 Keynote: Current and Future challenge of Model and Modelling on Secur...WM2SP16 Keynote: Current and Future challenge of Model and Modelling on Secur...
WM2SP16 Keynote: Current and Future challenge of Model and Modelling on Secur...Nobukazu Yoshioka
 
A Survery of Approaches to Adaptive Securityの紹介
A Survery of Approaches to Adaptive Securityの紹介A Survery of Approaches to Adaptive Securityの紹介
A Survery of Approaches to Adaptive Securityの紹介Nobukazu Yoshioka
 

More from Nobukazu Yoshioka (14)

AIシステムの要求とプロジェクトマネジメント-後半:機械学習応用システムのための 要求工学と安全性
AIシステムの要求とプロジェクトマネジメント-後半:機械学習応用システムのための要求工学と安全性AIシステムの要求とプロジェクトマネジメント-後半:機械学習応用システムのための要求工学と安全性
AIシステムの要求とプロジェクトマネジメント-後半:機械学習応用システムのための 要求工学と安全性
 
AIシステムの要求とプロジェクトマネジメント-前半:機械学習工学概論
AIシステムの要求とプロジェクトマネジメント-前半:機械学習工学概論AIシステムの要求とプロジェクトマネジメント-前半:機械学習工学概論
AIシステムの要求とプロジェクトマネジメント-前半:機械学習工学概論
 
ソフトウェア工学国際会議におけるAI倫理と公平性の研究動向
ソフトウェア工学国際会議におけるAI倫理と公平性の研究動向ソフトウェア工学国際会議におけるAI倫理と公平性の研究動向
ソフトウェア工学国際会議におけるAI倫理と公平性の研究動向
 
機械学習応用システムのための要求工学
機械学習応用システムのための要求工学機械学習応用システムのための要求工学
機械学習応用システムのための要求工学
 
プロジェクトマネージャのための機械学習工学入門
プロジェクトマネージャのための機械学習工学入門プロジェクトマネージャのための機械学習工学入門
プロジェクトマネージャのための機械学習工学入門
 
機械学習応用システムセキュリティガイドライン―背景と公開について
機械学習応用システムセキュリティガイドライン―背景と公開について機械学習応用システムセキュリティガイドライン―背景と公開について
機械学習応用システムセキュリティガイドライン―背景と公開について
 
機械学習応用システムのためのセキュリティリスク分析手法
機械学習応用システムのためのセキュリティリスク分析手法機械学習応用システムのためのセキュリティリスク分析手法
機械学習応用システムのためのセキュリティリスク分析手法
 
機械学習工学と機械学習応用システムの開発@SmartSEセミナー(2021/3/30)
機械学習工学と機械学習応用システムの開発@SmartSEセミナー(2021/3/30)機械学習工学と機械学習応用システムの開発@SmartSEセミナー(2021/3/30)
機械学習工学と機械学習応用システムの開発@SmartSEセミナー(2021/3/30)
 
機械学習応用システムの安全性の研究動向と今後の展望
機械学習応用システムの安全性の研究動向と今後の展望機械学習応用システムの安全性の研究動向と今後の展望
機械学習応用システムの安全性の研究動向と今後の展望
 
機械学習応用システムの開発技術 (機械学習工学) の現状と今後の展望
機械学習応用システムの開発技術(機械学習工学)の現状と今後の展望機械学習応用システムの開発技術(機械学習工学)の現状と今後の展望
機械学習応用システムの開発技術 (機械学習工学) の現状と今後の展望
 
セキュリティの知識を共有する セキュリティパターン(2018/6/15)
セキュリティの知識を共有するセキュリティパターン(2018/6/15)セキュリティの知識を共有するセキュリティパターン(2018/6/15)
セキュリティの知識を共有する セキュリティパターン(2018/6/15)
 
WM2SP16 Keynote: Current and Future challenge of Model and Modelling on Secur...
WM2SP16 Keynote: Current and Future challenge of Model and Modelling on Secur...WM2SP16 Keynote: Current and Future challenge of Model and Modelling on Secur...
WM2SP16 Keynote: Current and Future challenge of Model and Modelling on Secur...
 
A Survery of Approaches to Adaptive Securityの紹介
A Survery of Approaches to Adaptive Securityの紹介A Survery of Approaches to Adaptive Securityの紹介
A Survery of Approaches to Adaptive Securityの紹介
 
CCGrid2012 参加報告
CCGrid2012 参加報告CCGrid2012 参加報告
CCGrid2012 参加報告
 

機械学習デザインパターン: 再現性パターン