SlideShare a Scribd company logo
機械学習応⽤システムパターンの例
⽵内広宜(武蔵⼤学, eAIプロセスパターンチーム)
1
スマートエスイーシリーズ「ポスト・コロナ時代のソフトウェアエンジニアリングを考える」(価値・エッセンス・国際標準・アジャイル・IoT・機械学習)
第2回︓第2回 IoT・機械学習応⽤ソフトウェアの設計とパターン
JST未来社会 未来社会創造事業 機械学習を⽤いたシステムの⾼品質化・実⽤化を加速する”Engineerable AI”(eAI)プロセスパターンチーム
鷲崎弘宜、内平直志、奥⽥聡、塩浦尚久、⽵内広宜、⼟肥拓⽣、名取直毅、本⽥澄
eAIプロセスパターンチームで整理したパターンの⼀覧
2
番号 パターン名
01 a04 Separation of Concerns and Modularization of ML Components
02 g02a Federated Learning
03 g02b Secure Aggregation
04 g10 Deployable Canary Model
05 g15b Microservice Architecture
06 g16 Data Lake
07 g17 Kappa Architecture
08 g18 Lambda Architecture
09 s02f Discard PoC code
10 s02h Parameter-Server Abstraction
11 s03a Isolate Data Workload and Training Workload to Different Machines
12 s03b ML Versioning
13 s05 Encapsulate ML models within rule-base safeguards
14 s10a Distinguish Business Logic from ML Models
15 s10b ML Gateway Routing Architecture
パターンの説明資料
n SlideShareでドラフト版を公開
3
https://www.slideshare.net/HironoriTAKEUCHI1/202007-236844365
本セミナー後に、講演資料とともにURLをお知らせします
アーキテクチャ・デザインパターンの全体像
4
Separation of Concerns and
Modularization of ML Components
Federated Learning
Secure
Aggregation
Deployable
Canary
Model
Microservice Architecture
Data Lake
Kappa Architecture
Discard PoC code
Parameter-Server
AbstractionIsolate Data Workload and Training
Workload to Different Machines
ML Versioning Encapsulate ML models
within rule-base
safeguards
Distinguish Business
Logic from ML Models
ML Gateway Routing
Architecture
ビジネスロジックとの分離関係 Web・マイクロサービス関係
分散・エッジ関係
Lambda Architecture
保守性関係
ビッグデータ・ストリーム基盤関係
説明性・安全性関係
s10a: Distinguish Business Logic from ML Models
n ビジネスロジック⽤のコンポーネントと機械学習⽤のコンポーネントを分離
5 Haruki Yokoyama, Machine Learning System Architectural Pattern for Improving Operational Stability. ICSA Companion 2019: 267-274
g15b: Microservice Architecture
n 複雑なアプリケーション間でのやり取りを無くして、標準的なインターフェースで通信を⾏う
6
DANIEL SMITH, Exploring Development Patterns in Data Science. https://www.theorylane.com/2017/10/20/some-development-patterns-in-data-science/
Azure Machine Learning とは. https://docs.microsoft.com/ja-jp/azure/machine-learning/overview-what-is-azure-ml
実現例
n Wantedly People
Øアプリケーションはフロントサーバとのみ通信を⾏う
Øフロントサーバでサービスを実装
ü 画像を整形するサービス
ü 画像からプロフィールを作成するサービス
など
Øフロントサーバのサービスは機能に応じてMLサーバとAPI通信
7 https://codezine.jp/article/detail/10533
G18: Lambda Architecture
① ストリーミングデータをバッチレイヤーとスピードレイヤー両⽅に送る
② バッチレイヤーで⽣データを保存し、バッチを定期的に実⾏し、サービングレイヤーのバッチビューによりビューを⽣成
③ スピードレイヤーでリアルタイムビューを計算しビューを⽣成。バッチレイヤーを補完する情報として活⽤。
④ クエリ内容によりバッチレイヤー・スピードレイヤーの情報を組み合わせて表⽰
8
①
②
ストリーミングデータ
バッチレイヤー サービングレイヤー
スピードレイヤー
⽣データ
バッチ
プロセス
バッチ
ビュー クエリ
クエリ
ストリーム
プロセス
リアルタイム
ビュー
バッチ
ビュー
リアルタイム
ビュー
③
④
④
実現例
n スマートフォン向けアプリ提供会社
500万⼈を超える利⽤者がおり、⼤量のスマホアプリのログや操作情報があり、障害やログ情報集約に
おいて効率化を実現
①データ受信キューによりデータを受信
②スピードレイヤーとバッチレイヤーに情報を送出
③スピード層で最新データに対して即時性のある分析を実施
④バッチ層で全データを対象に⼤規模処理演算を実施
⑤GUIダッシュボード(kibana)でデータ操作の実施
9
https://www.hitachi-solutions.co.jp/iot-spf/
s03a: Isolate Data Workload and Training Workload
to Different Machines
n 異なるワークロードを異なるマシンに物理的に分離し柔軟性とスケーラビリティを実現
Ø ストレージからデータを読み取り凝縮するデータワークロード
Ø 迅速かつ効率的に訓練する訓練ワークロード
n ワークロードの内容や規模、ネットワーク使⽤量に合わせ圧縮、スケジューリング、データ/計算機配置・構成最適化
10 Kim M. Hazelwood, et al. : Applied Machine Learning at Facebook: A Datacenter Infrastructure Perspective. HPCA 2018: 620-629
実現例
n Facebook ニュースフィードランキングアルゴリズム
Ø様々なユーザーや環境要因に基づきランキングを決定するようにモデルを訓練
ØFacebookを訪問すると、モデルは何千もの候補の中から表⽰すべきベストな投稿、画像、その他の
コンテンツのパーソナライズされたセットを⽣成し、選択されたコンテンツのベストなランキングを決定
11
Facebookのサービスごとのオフライン訓練の計算機環境
Kim M. Hazelwood, et al. : Applied Machine Learning at Facebook: A Datacenter Infrastructure Perspective. HPCA 2018: 620-629
G02a: Federated Learning
① 共有モデル(訓練済みモデル)をローカルデバイスに配置
② ローカルデバイスで収集された利⽤データを元に共有モデルを再訓練
③ 各ローカルデバイスから提供された共有モデルからの差分を⽤いて、共有モデルを改良
12
①
①
②
②
③再訓練に⽤いる
利⽤データ
実現例
n Android端末上のGboard (Googleキーボード)
① 各端末に共有モデルを配置
② 利⽤者の変換データを⽤いて再訓練
③ モデルの差分を抽出
④ 各端末からの差分を収集
⑤ 共有モデルへ反映するものを抽出
⑥ 共有モデルの更新
13
https://webbigdata.jp/ai/post-1915
①②
③
④
⑤
⑥
S02f: Discard PoC code
① PoCのために作成したコードは破棄し、PoCで得た知⾒に基づき保守性の⾼い
コードを再構築する
② ⼀般的に、PoCのために作成したコードでは、試⾏錯誤を効率的に実施するた
めの保守性を犠牲にしたコードや、最終的には不要なったコードが含まれることが
多い。
③ このPoCのために作成したコードを、プロダクトコードに組み込むと、プロダクトの品
質を低下させてしまうため、PoCで検証した事実に基づき、全体的に再設計した
ものを、プロダクトコードに組み込む。
14
G10: Canary Model for Explainability
15
① 外部条件を含め完全な⼊⼒データをアーカイブ
② 説明可能なカナリアモデルと説明不可能な本番モデルをランデブー
③ モデル出⼒の異変を検知して、再現や再学習
⼊⼒
デコイモデル データレイク
①
カナリアモデル
(決定⽊等)
本番モデル
(DNN等)
モニタリング・⽐較
(t-digest等)②
モデル
出⼒
モデル
出⼒
再現・再学習
カメラ画像
天気
気温
地理季節
⽇付・時刻
③
実現例(1)
n ParallelM(is now part of DataRobot)社のMLOps(MCenter)
16
https://www.parallelm.com/a-design-pattern-for-explainability-and-reproducibility-in-production-ml/
実現例 (2)
17
n 製造業︓省⼒化向けMLベース画像検査システム
光学系
(カメラ等)
トランスポート(物の流れ)
画像処理
ユニット1
バッファ 画像処理
ユニットn
各
種
#
$
%
各
種
#
$
%
各
種
#
$
%
データバス(情報の流れ)
ピックアップ
OK
NG
Reject
ディスパッチ
ストレージ
オフライン
再現・再学習環境
メイン
ユニット
外
部
条
件
*
+
,
-
.
/
⼊
⼒
*
+
,
出⼒・エラー
データ
出⼒
更新モデル
⾃
⼰
診
断
(
6
7
8
9
)
検
査
9
<
=
(
>
?
.
@
8
)
A
B
C
D
⽐
較
G
*
<
⽐
較
まとめ
n eAIプロセス・パターンチームで整理・検討しているパターンの⼀部を紹介
18
Separation of Concerns and
Modularization of ML Components
Federated Learning
Secure
Aggregation
Deployable
Canary
Model
Microservice Architecture
Data Lake
Kappa Architecture
Discard PoC code
Parameter-Server
AbstractionIsolate Data Workload and Training
Workload to Different Machines
ML Versioning Encapsulate ML models
within rule-base
safeguards
Distinguish Business
Logic from ML Models
ML Gateway Routing
Architecture
ビジネスロジックとの分離関係 Web・マイクロサービス関係
分散・エッジ関係
Lambda Architecture
保守性関係
ビッグデータ・ストリーム基盤関係
説明性・安全性関係

More Related Content

PDF
機械学習応用アーキテクチャ・デザインパターン概観
Hironori Washizaki
 
PDF
ソフトウェアパターン概論およびパターンを活用したアーキテクチャ設計
Hironori Washizaki
 
PDF
機械学習応用システムのアーキテクチャ・デザイパターン(2020-07 ドラフトバージョン))
HironoriTAKEUCHI1
 
PDF
IoTアーキテクチャ・デザインパターン概観
Hironori Washizaki
 
PDF
機械学習工学と機械学習応用システムの開発@SmartSEセミナー(2021/3/30)
Nobukazu Yoshioka
 
PPTX
機械学習応用のためのソフトウェアエンジニアリングパターン
HironoriTAKEUCHI1
 
PDF
パターン(ランゲージ)によるKnow Why/What/How の言語化・文書化と発展, MLSE夏合宿
Hironori Washizaki
 
PDF
ソフトウェアエンジニアリングとEssenceの広がり
Hironori Washizaki
 
機械学習応用アーキテクチャ・デザインパターン概観
Hironori Washizaki
 
ソフトウェアパターン概論およびパターンを活用したアーキテクチャ設計
Hironori Washizaki
 
機械学習応用システムのアーキテクチャ・デザイパターン(2020-07 ドラフトバージョン))
HironoriTAKEUCHI1
 
IoTアーキテクチャ・デザインパターン概観
Hironori Washizaki
 
機械学習工学と機械学習応用システムの開発@SmartSEセミナー(2021/3/30)
Nobukazu Yoshioka
 
機械学習応用のためのソフトウェアエンジニアリングパターン
HironoriTAKEUCHI1
 
パターン(ランゲージ)によるKnow Why/What/How の言語化・文書化と発展, MLSE夏合宿
Hironori Washizaki
 
ソフトウェアエンジニアリングとEssenceの広がり
Hironori Washizaki
 

What's hot (19)

PDF
青山幹雄先生を偲んで(開拓、理論、実践、コミュニティ&国際)
Hironori Washizaki
 
PDF
機械学習システムの33のアーキテクチャパターンおよびデザインパターン
Hironori Washizaki
 
PDF
新しいソフトウェアエンジニアリングのためのパターンランゲージに向けて
Hironori Washizaki
 
PDF
DX 時代の新たなソフトウェア工学に向けて: SWEBOK と SE4BS の挑戦
Hironori Washizaki
 
PDF
社会やビジネスに新たな価値を生み出すソフトウェア工学 SE4BS(Software Engineering for Business and Society)
Hironori Washizaki
 
PDF
ソフトウェアエンジニアリングとEssenceの広がり
Hironori Washizaki
 
PDF
第3回SEMAT勉強会 SEMATエッセンス解説
Hironori Washizaki
 
PPTX
機械学習応用システムの開発技術 (機械学習工学) の現状と今後の展望
Nobukazu Yoshioka
 
PDF
ソフトウェアエンジニアリング知識体系SWEBOK最新動向
Hironori Washizaki
 
PDF
NeurIPS2021から見るメタ学習の研究動向 - 第83回人工知能セミナー (2022.3.7)「AIトレンド・トップカンファレンス報告会(NeurI...
DeepEyeVision, Inc.
 
PDF
(修正)機械学習デザインパターン(ML Design Patterns)の解説
Hironori Washizaki
 
PDF
Smart SE: コロナ時代のAI・IoTの社会人オン・オフライン教育
Hironori Washizaki
 
PPTX
東北大学AIE - 機械学習入門編
Daiyu Hatakeyama
 
PDF
機械学習デザインパターン Machine Learning Design Patterns
Hironori Washizaki
 
PDF
メルペイの与信モデリングで安全・安心のために実践していること
Yuhi Kawakami
 
PDF
機械学習モデルのサービングとは?
Sho Tanaka
 
PDF
ソフトウェア工学における問題提起と機械学習の新たなあり方
MLSE
 
PDF
機械学習デザインパターンおよび機械学習システムの品質保証の取り組み
Hironori Washizaki
 
PDF
機械学習システムのアーキテクチャアラカルト
BrainPad Inc.
 
青山幹雄先生を偲んで(開拓、理論、実践、コミュニティ&国際)
Hironori Washizaki
 
機械学習システムの33のアーキテクチャパターンおよびデザインパターン
Hironori Washizaki
 
新しいソフトウェアエンジニアリングのためのパターンランゲージに向けて
Hironori Washizaki
 
DX 時代の新たなソフトウェア工学に向けて: SWEBOK と SE4BS の挑戦
Hironori Washizaki
 
社会やビジネスに新たな価値を生み出すソフトウェア工学 SE4BS(Software Engineering for Business and Society)
Hironori Washizaki
 
ソフトウェアエンジニアリングとEssenceの広がり
Hironori Washizaki
 
第3回SEMAT勉強会 SEMATエッセンス解説
Hironori Washizaki
 
機械学習応用システムの開発技術 (機械学習工学) の現状と今後の展望
Nobukazu Yoshioka
 
ソフトウェアエンジニアリング知識体系SWEBOK最新動向
Hironori Washizaki
 
NeurIPS2021から見るメタ学習の研究動向 - 第83回人工知能セミナー (2022.3.7)「AIトレンド・トップカンファレンス報告会(NeurI...
DeepEyeVision, Inc.
 
(修正)機械学習デザインパターン(ML Design Patterns)の解説
Hironori Washizaki
 
Smart SE: コロナ時代のAI・IoTの社会人オン・オフライン教育
Hironori Washizaki
 
東北大学AIE - 機械学習入門編
Daiyu Hatakeyama
 
機械学習デザインパターン Machine Learning Design Patterns
Hironori Washizaki
 
メルペイの与信モデリングで安全・安心のために実践していること
Yuhi Kawakami
 
機械学習モデルのサービングとは?
Sho Tanaka
 
ソフトウェア工学における問題提起と機械学習の新たなあり方
MLSE
 
機械学習デザインパターンおよび機械学習システムの品質保証の取り組み
Hironori Washizaki
 
機械学習システムのアーキテクチャアラカルト
BrainPad Inc.
 
Ad

Similar to スマートエスイーセミナー:機外学習応用システムパターンの例 (20)

PDF
機械学習アーキテクチャ・デザインパターン
Hironori Washizaki
 
PDF
ML system design_pattern
yusuke shibui
 
PDF
AIビジネスクリエーションワークショップ@東京
Deep Learning Lab(ディープラーニング・ラボ)
 
PPTX
MLOps NYC 2019 and Strata Data Conference NY 2019 report nttdata
NTT DATA Technology & Innovation
 
PDF
Deep learning reading club @ nimiri for SWEST
Kiyoshi Ogawa
 
PDF
Machine Learning Operations (MLOps): Overview, Definition, and Architecture
Takuya Minagawa
 
PDF
実装(1) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第30回】
Tomoharu ASAMI
 
PDF
Iot algyan jhirono 20190111
Hirono Jumpei
 
PPTX
Microsoft AI セミナー - Microsoft AI Platform
Daiyu Hatakeyama
 
PDF
JAZUG_TOHOKU_modeki_20230324_共有版.pdf
Yuya Modeki
 
PPTX
Qiita x Microsoft - 機械学習セミナー Microsoft AI Platform
Daiyu Hatakeyama
 
PDF
[Microsoft Cognitive Toolkit (CNTK) on Azure ハンズオン] Microsoft Azure の AI 関連サービス
Naoki (Neo) SATO
 
PPTX
東北大学AIE - 機械学習中級編とAzure紹介
Daiyu Hatakeyama
 
PDF
[Developers Festa Sapporo 2018] Azure AI ~Microsoft AzureでのAI開発のイマ~
Naoki (Neo) SATO
 
PDF
Part 3: サーバーレスとシステム間連携基盤 (製造リファレンス・アーキテクチャ勉強会)
Takeshi Fukuhara
 
PDF
次世代AI時代のトレンドと高信頼AIソフトウェアシステム開発に向けたフレームワーク&パターン
Hironori Washizaki
 
PDF
『機械学習 (AI/ML) の基礎と Microsoft の AI | 2019/04/02 Global AI Nights Fukui
Fujio Kojima
 
PDF
Ml system in_python
yusuke shibui
 
PDF
[Developers Summit 2017] MicrosoftのAI開発機能/サービス
Naoki (Neo) SATO
 
PPTX
BrainPad - Doors - A-1 - Microsoft Data and AI
Daiyu Hatakeyama
 
機械学習アーキテクチャ・デザインパターン
Hironori Washizaki
 
ML system design_pattern
yusuke shibui
 
AIビジネスクリエーションワークショップ@東京
Deep Learning Lab(ディープラーニング・ラボ)
 
MLOps NYC 2019 and Strata Data Conference NY 2019 report nttdata
NTT DATA Technology & Innovation
 
Deep learning reading club @ nimiri for SWEST
Kiyoshi Ogawa
 
Machine Learning Operations (MLOps): Overview, Definition, and Architecture
Takuya Minagawa
 
実装(1) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第30回】
Tomoharu ASAMI
 
Iot algyan jhirono 20190111
Hirono Jumpei
 
Microsoft AI セミナー - Microsoft AI Platform
Daiyu Hatakeyama
 
JAZUG_TOHOKU_modeki_20230324_共有版.pdf
Yuya Modeki
 
Qiita x Microsoft - 機械学習セミナー Microsoft AI Platform
Daiyu Hatakeyama
 
[Microsoft Cognitive Toolkit (CNTK) on Azure ハンズオン] Microsoft Azure の AI 関連サービス
Naoki (Neo) SATO
 
東北大学AIE - 機械学習中級編とAzure紹介
Daiyu Hatakeyama
 
[Developers Festa Sapporo 2018] Azure AI ~Microsoft AzureでのAI開発のイマ~
Naoki (Neo) SATO
 
Part 3: サーバーレスとシステム間連携基盤 (製造リファレンス・アーキテクチャ勉強会)
Takeshi Fukuhara
 
次世代AI時代のトレンドと高信頼AIソフトウェアシステム開発に向けたフレームワーク&パターン
Hironori Washizaki
 
『機械学習 (AI/ML) の基礎と Microsoft の AI | 2019/04/02 Global AI Nights Fukui
Fujio Kojima
 
Ml system in_python
yusuke shibui
 
[Developers Summit 2017] MicrosoftのAI開発機能/サービス
Naoki (Neo) SATO
 
BrainPad - Doors - A-1 - Microsoft Data and AI
Daiyu Hatakeyama
 
Ad

スマートエスイーセミナー:機外学習応用システムパターンの例