SlideShare a Scribd company logo
1 of 43
DeLTA-Liteを支える技術
~ システム構成編 ~
藤原 健利
2018.08.31
LeapMind, Inc. © 2018 2
自己紹介
藤原 健利
LeapMind株式会社
Product Unit, Leader,
Software Division
東京工業大学 工学部 卒業。
同大学院 機械宇宙システム専攻修了。
数値シミュレーションを用いた流体力学の研究。
人材系ベンチャー企業でWebサービス・社内シス
テムの開発を担当。
LeapMindにジョイン。組込みDeep Learningモデ
ル構築ソリューション「DeLTA-Lite」の開発に従
事。
LeapMind, Inc. © 2018 3
機械学習システム
✕
マイクロサービスアーキテクチャ
LeapMind, Inc. © 2018 4
機械学習システム
クライアント
Web
アプリケーシ
ョン
学習サーバ
(GPU)
推論サーバ
(GPU)
学習データ
学習済み
モデル
LeapMind, Inc. © 2018 5
機械学習システム
クライアント
Web
アプリケーシ
ョン
学習サーバ
(GPU)
推論サーバ
(GPU)
学習データ
学習済み
モデル
学習データをアップロードし
モデルを学習
新しいデータで
推論を実行
推論結果をアプリ
ケーションで利用
学習時のみ
インスタンスを起動
必要に応じて
スケーリング
LeapMind, Inc. © 2018
機械学習ライブラリ
● Python
● TensorFlow、PyTorch
● CUDA、GPU
● ...
6
機械学習システムの困りごと
構成要素ごとに異なる技術や手法を選択したい!
Webアプリケーション
● PHP、Ruby、Python、Java
● Node.js、npm
● Nginx、Apache
● RDBMS
● NoSQL、KVS
● ...
LeapMind, Inc. © 2018 7
機械学習システムの困りごと
構成要素ごとにスペックをスケーリングしたい!
Web
Web
Train
Train
Train
Train
Train
Predict
Predict
Predict
LeapMind, Inc. © 2018 8
機械学習システムの困りごと
構成要素ごとにリリースタイミングが異なる!
別々の開発チームがそれぞれの
構成要素を開発し、リリース管
理をしている。
残りの要素は稼働させたまま、
目的の要素のみリリースしたい
。
LeapMind, Inc. © 2018 9
機械学習システムは、
マイクロサービスアーキテクチャの
利点が活かせる
LeapMind, Inc. © 2018
モノリシックアーキテクチャ
マイクロサービスアーキテクチャ
10
LeapMind, Inc. © 2018
Webアプリケーション
認証処理
11
モノリシックアーキテクチャ
決済処理
メール通知処理
クライアント コントローラ
LeapMind, Inc. © 2018 12
マイクロサービスアーキテクチャ
認証サービス
12
決済サービス
メール通知
サービス
クライアント API
API
API
Web
アプリケーション
サービス
LeapMind, Inc. © 2018
● マイクロサービスでは、最大公約数的になることが多い標準
化された汎用的な手段を選ぶのではなく、ジョブごとに適し
たツールを選ぶことができる。
● マイクロサービスは、スケーリングが必要なサービスだけを
スケールでき、システムの他の部分を非力なハードウェアで
動作させることができる。
● マイクロサービスはそれぞれが独立して変更でき、コンシュ
ーマを変更する必要なく単独でデプロイできる。
● マイクロサービスでは、システムのあるコンポーネントに障
害が発生しても、システムの残りの部分は機能し続けること
ができる。
(O’Reilly “マイクロサービスアーキテクチャ”より)
13
マイクロサービスアーキテクチャのいいところ
LeapMind, Inc. © 2018 14
DeLTA-Liteのシステム構成
LeapMind, Inc. © 2018
Converted
models
Trained
models
Train
Queue
15
システム構成
Train queue
consumer
Datasets
Convert
Queue
Convert queue
consumer
Web API
Server
Training
Library
Converting
Tools
Client App
LeapMind, Inc. © 2018
Webアプリケーション
FPGAモデル出力
トレーニング管理
Converted
models
Trained
models
Train
Queue
16
システム構成
Train queue
consumer
Datasets
Convert
Queue
Convert queue
consumer
Web API
Server
Training
Library
Converting
Tools
Client App
LeapMind, Inc. © 2018
Webアプリケーション
Converted
models
Trained
models
Train
Queue
17
Webアプリケーション
Train queue
consumer
Datasets
Convert
Queue
Convert queue
consumer
Web API
Server
Training
Library
Converting
Tools
Client App
LeapMind, Inc. © 2018 18
Webアプリケーション
● React.js + Redux による Single Page Application
● サーバー側のデータとユーザーの間のインタフェース
● Gulp + webpackでトランスパイル
LeapMind, Inc. © 2018
Converted
models
Trained
models
Train
Queue
19
トレーニング管理
Train queue
consumer
Datasets
Convert
Queue
Convert queue
consumer
Web API
Server
Training
Library
Converting
Tools
Client App
トレーニング管理
LeapMind, Inc. © 2018 20
トレーニング管理
● AzureSDKによるGPUサーバー起動・停止管理
● TensorFlowをベースとした学習ライブラリを開発
● 自社開発のDNN: “LMNet”シリーズ
LeapMind, Inc. © 2018
Converted
models
Trained
models
Train
Queue
21
FPGAモデル出力
Train queue
consumer
Datasets
Convert
Queue
Convert queue
consumer
Web API
Server
Training
Library
Converting
Tools
Client App
FPGAモデル出力
LeapMind, Inc. © 2018 22
FPGAモデル出力
● Pythonで動作するモデルをFPGAで動作するモデルに変換
● モデルはC++で記述され目的の環境に合わせてコンパイル
● 現在のターゲットデバイスは Intel® Cyclone® V FPGA
LeapMind, Inc. © 2018
Converted
models
Trained
models
Train
Queue
23
システム構成
Train queue
consumer
Datasets
Convert
Queue
Convert queue
consumer
Web API
Server
Training
Library
Converting
Tools
Client App
LeapMind, Inc. © 2018 24
インフラ構成
File StorageBLOB StorageMySQL
Application
Gateway
Train VMManage VM
Web API VM Convert VM
LeapMind, Inc. © 2018 25
開発体制
LeapMind, Inc. © 2018
Converted
models
Trained
models
Train
Queue
26
役割分担
Train queue
consumer
Datasets
Convert
Queue
Convert queue
consumer
Web API
Server
Training
Library
Converting
Tools
Client App
LeapMind, Inc. © 2018
ハードウェア
機械学習
バックエンド
フロントエンド
Converted
models
Trained
models
Train
Queue
27
役割分担
Train queue
consumer
Datasets
Convert
Queue
Convert queue
consumer
Web API
Server
Training
Library
Converting
Tools
Client App
LeapMind, Inc. © 2018
Core Libraries
28
依存関係
DeLTA-Lite
Training Library Converting Tools
Unit Tests Unit Tests
Integration Tests
LeapMind, Inc. © 2018
Core Libraries
29
バージョンアップ
DeLTA-Lite
Training Library Converting Tools
Unit Tests Unit Tests
Integration Tests
v1.0 v1.0
LeapMind, Inc. © 2018
Core Libraries
30
バージョンアップ
DeLTA-Lite
Training Library Converting Tools
Unit Tests Unit Tests
Integration Tests
v1.0 v1.0
v1.0
LeapMind, Inc. © 2018
Core Libraries
31
バージョンアップ
DeLTA-Lite
Training Library Converting Tools
Unit Tests Unit Tests
Integration Tests
v1.0 v1.0
v1.0
v1.0
LeapMind, Inc. © 2018 32
一部の構成要素を
独立してデプロイする作業の例
LeapMind, Inc. © 2018
Trained
models
Train
Queue
33
トレーニングライブラリのデプロイ作業
Train queue
consumer
Datasets
Web API
Server
Training
Library
Client App
待機中のトレーニング 実行中のトレーニング
LeapMind, Inc. © 2018
Trained
models
Train
Queue
34
トレーニングライブラリのデプロイ作業
Train queue
consumer
Datasets
Web API
Server
Training
Library
Client App
トレーニングキューを
停止
実行中のトレーニングが
終了するまで待機
LeapMind, Inc. © 2018
Trained
models
Train
Queue
35
トレーニングライブラリのデプロイ作業
Train queue
consumer
Datasets
Web API
Server
Training
Library
Client App
トレーニングの依頼は
受け続けられる
LeapMind, Inc. © 2018
Trained
models
Train
Queue
36
トレーニングライブラリのデプロイ作業
Train queue
consumer
Datasets
Web API
Server
Training
Library
Client App
実行中のトレーニングが
すべて終了
トレーニング
ライブラリを更新
LeapMind, Inc. © 2018
Trained
models
Train
Queue
37
トレーニングライブラリのデプロイ作業
Train queue
consumer
Datasets
Web API
Server
Training
Library
Client App
トレーニングキューを
再開
LeapMind, Inc. © 2018
Trained
models
Train
Queue
38
トレーニングライブラリのデプロイ作業
Train queue
consumer
Datasets
Web API
Server
Training
Library
Client App
この間、クライアントアプリや
WebAPIは稼働したままなので、
通常通り使用できる。
LeapMind, Inc. © 2018
DeLTA-Liteではこれらの作業を
Fabricのタスクとして定義
Trained
models
Train
Queue
39
トレーニングライブラリのデプロイ作業
Train queue
consumer
Datasets
Web API
Server
Training
Library
Client App
LeapMind, Inc. © 2018 40
その他にも、
インフラ構成管理、
サービス死活監視、ログ収集など、
考えることはいろいろ
LeapMind, Inc. © 2018
まとめ
41
LeapMind, Inc. © 2018 42
まとめ
機械学習システムは、
マイクロサービスアーキテクチャの
利点が活かせる
LeapMind, Inc. © 2018 43
まとめ
機械学習システムは、
マイクロサービスアーキテクチャの
利点が活かせる
サービスごとに独立したデプロイ
サービスごとに最適な技術選択
サービスごとのスケーリングが容易

More Related Content

What's hot

3万人が利用するリクルートのワイヤレス環境 ~リアクティブからプロアクティブへ~
3万人が利用するリクルートのワイヤレス環境 ~リアクティブからプロアクティブへ~3万人が利用するリクルートのワイヤレス環境 ~リアクティブからプロアクティブへ~
3万人が利用するリクルートのワイヤレス環境 ~リアクティブからプロアクティブへ~Recruit Technologies
 
エッジヘビーコンピューティングと機械学習
エッジヘビーコンピューティングと機械学習エッジヘビーコンピューティングと機械学習
エッジヘビーコンピューティングと機械学習Preferred Networks
 
リクルートにおけるマルチモーダル Deep Learning Web API 開発事例
リクルートにおけるマルチモーダル Deep Learning Web API 開発事例リクルートにおけるマルチモーダル Deep Learning Web API 開発事例
リクルートにおけるマルチモーダル Deep Learning Web API 開発事例Recruit Technologies
 
Struggle against cross-domain data complexity in Recruit group
Struggle against cross-domain data complexity in Recruit groupStruggle against cross-domain data complexity in Recruit group
Struggle against cross-domain data complexity in Recruit groupRecruit Technologies
 
第四回 関西放送機器展 - メディア業界におけるデジタルトランスフォーメーション
第四回 関西放送機器展 - メディア業界におけるデジタルトランスフォーメーション第四回 関西放送機器展 - メディア業界におけるデジタルトランスフォーメーション
第四回 関西放送機器展 - メディア業界におけるデジタルトランスフォーメーションDaiyu Hatakeyama
 
2015東京プレゼン(ベルデザイン)
2015東京プレゼン(ベルデザイン)2015東京プレゼン(ベルデザイン)
2015東京プレゼン(ベルデザイン)Naohito Yamashita
 
DRIVE CHARTを支えるAI技術
DRIVE CHARTを支えるAI技術DRIVE CHARTを支えるAI技術
DRIVE CHARTを支えるAI技術Yusuke Uchida
 
20210528_ACRi-panel_ksano_r2_submit
20210528_ACRi-panel_ksano_r2_submit20210528_ACRi-panel_ksano_r2_submit
20210528_ACRi-panel_ksano_r2_submit直久 住川
 
DataRobot活用状況@リクルートテクノロジーズ
DataRobot活用状況@リクルートテクノロジーズDataRobot活用状況@リクルートテクノロジーズ
DataRobot活用状況@リクルートテクノロジーズRecruit Technologies
 
リクルートにおけるFirefox OSアプリへの取り組み ~0.8人月でできるアプリ!?~
リクルートにおけるFirefox OSアプリへの取り組み ~0.8人月でできるアプリ!?~リクルートにおけるFirefox OSアプリへの取り組み ~0.8人月でできるアプリ!?~
リクルートにおけるFirefox OSアプリへの取り組み ~0.8人月でできるアプリ!?~Recruit Technologies
 
リクルートにおけるPaaS活用事例
リクルートにおけるPaaS活用事例リクルートにおけるPaaS活用事例
リクルートにおけるPaaS活用事例Recruit Technologies
 
運用で泣かないアーキテクチャで動く原稿作成支援システム ~リクルートにおけるDeepLearning活用事例~
運用で泣かないアーキテクチャで動く原稿作成支援システム ~リクルートにおけるDeepLearning活用事例~運用で泣かないアーキテクチャで動く原稿作成支援システム ~リクルートにおけるDeepLearning活用事例~
運用で泣かないアーキテクチャで動く原稿作成支援システム ~リクルートにおけるDeepLearning活用事例~Recruit Technologies
 
リクルートはいかにして、ディープラーニング(深層学習)の導入を成功させたか
リクルートはいかにして、ディープラーニング(深層学習)の導入を成功させたかリクルートはいかにして、ディープラーニング(深層学習)の導入を成功させたか
リクルートはいかにして、ディープラーニング(深層学習)の導入を成功させたかRecruit Technologies
 
Kubernetesによる機械学習基盤への挑戦
Kubernetesによる機械学習基盤への挑戦Kubernetesによる機械学習基盤への挑戦
Kubernetesによる機械学習基盤への挑戦Preferred Networks
 
オートモーティブ事業におけるMLOps / ShibuyaSynapse #4
オートモーティブ事業におけるMLOps / ShibuyaSynapse #4オートモーティブ事業におけるMLOps / ShibuyaSynapse #4
オートモーティブ事業におけるMLOps / ShibuyaSynapse #4Shota Suzuki
 

What's hot (20)

3万人が利用するリクルートのワイヤレス環境 ~リアクティブからプロアクティブへ~
3万人が利用するリクルートのワイヤレス環境 ~リアクティブからプロアクティブへ~3万人が利用するリクルートのワイヤレス環境 ~リアクティブからプロアクティブへ~
3万人が利用するリクルートのワイヤレス環境 ~リアクティブからプロアクティブへ~
 
エッジヘビーコンピューティングと機械学習
エッジヘビーコンピューティングと機械学習エッジヘビーコンピューティングと機械学習
エッジヘビーコンピューティングと機械学習
 
リクルートにおけるマルチモーダル Deep Learning Web API 開発事例
リクルートにおけるマルチモーダル Deep Learning Web API 開発事例リクルートにおけるマルチモーダル Deep Learning Web API 開発事例
リクルートにおけるマルチモーダル Deep Learning Web API 開発事例
 
Struggle against cross-domain data complexity in Recruit group
Struggle against cross-domain data complexity in Recruit groupStruggle against cross-domain data complexity in Recruit group
Struggle against cross-domain data complexity in Recruit group
 
第四回 関西放送機器展 - メディア業界におけるデジタルトランスフォーメーション
第四回 関西放送機器展 - メディア業界におけるデジタルトランスフォーメーション第四回 関西放送機器展 - メディア業界におけるデジタルトランスフォーメーション
第四回 関西放送機器展 - メディア業界におけるデジタルトランスフォーメーション
 
2015東京プレゼン(ベルデザイン)
2015東京プレゼン(ベルデザイン)2015東京プレゼン(ベルデザイン)
2015東京プレゼン(ベルデザイン)
 
DRIVE CHARTを支えるAI技術
DRIVE CHARTを支えるAI技術DRIVE CHARTを支えるAI技術
DRIVE CHARTを支えるAI技術
 
Rakuten20181027
Rakuten20181027Rakuten20181027
Rakuten20181027
 
20210528_ACRi-panel_ksano_r2_submit
20210528_ACRi-panel_ksano_r2_submit20210528_ACRi-panel_ksano_r2_submit
20210528_ACRi-panel_ksano_r2_submit
 
Spring “BigData”
Spring “BigData”Spring “BigData”
Spring “BigData”
 
LT(自由)
LT(自由)LT(自由)
LT(自由)
 
DataRobot活用状況@リクルートテクノロジーズ
DataRobot活用状況@リクルートテクノロジーズDataRobot活用状況@リクルートテクノロジーズ
DataRobot活用状況@リクルートテクノロジーズ
 
リクルートにおけるFirefox OSアプリへの取り組み ~0.8人月でできるアプリ!?~
リクルートにおけるFirefox OSアプリへの取り組み ~0.8人月でできるアプリ!?~リクルートにおけるFirefox OSアプリへの取り組み ~0.8人月でできるアプリ!?~
リクルートにおけるFirefox OSアプリへの取り組み ~0.8人月でできるアプリ!?~
 
Pepper+独自会話エンジン
Pepper+独自会話エンジンPepper+独自会話エンジン
Pepper+独自会話エンジン
 
リクルートにおけるPaaS活用事例
リクルートにおけるPaaS活用事例リクルートにおけるPaaS活用事例
リクルートにおけるPaaS活用事例
 
運用で泣かないアーキテクチャで動く原稿作成支援システム ~リクルートにおけるDeepLearning活用事例~
運用で泣かないアーキテクチャで動く原稿作成支援システム ~リクルートにおけるDeepLearning活用事例~運用で泣かないアーキテクチャで動く原稿作成支援システム ~リクルートにおけるDeepLearning活用事例~
運用で泣かないアーキテクチャで動く原稿作成支援システム ~リクルートにおけるDeepLearning活用事例~
 
リクルートはいかにして、ディープラーニング(深層学習)の導入を成功させたか
リクルートはいかにして、ディープラーニング(深層学習)の導入を成功させたかリクルートはいかにして、ディープラーニング(深層学習)の導入を成功させたか
リクルートはいかにして、ディープラーニング(深層学習)の導入を成功させたか
 
Kubernetesによる機械学習基盤への挑戦
Kubernetesによる機械学習基盤への挑戦Kubernetesによる機械学習基盤への挑戦
Kubernetesによる機械学習基盤への挑戦
 
オートモーティブ事業におけるMLOps / ShibuyaSynapse #4
オートモーティブ事業におけるMLOps / ShibuyaSynapse #4オートモーティブ事業におけるMLOps / ShibuyaSynapse #4
オートモーティブ事業におけるMLOps / ShibuyaSynapse #4
 
リクルート式AIの活用法
リクルート式AIの活用法リクルート式AIの活用法
リクルート式AIの活用法
 

Similar to 20180831 [DeLTA TECH] DeLTA-Liteを支える技術(システム構成編)

タクシーxAIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて [SRE NEXT 2020]
タクシーxAIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて [SRE NEXT 2020]タクシーxAIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて [SRE NEXT 2020]
タクシーxAIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて [SRE NEXT 2020]DeNA
 
たった1時間でシステム構築!“激速”環境構築を実現する“パターン技術”の秘密とは
たった1時間でシステム構築!“激速”環境構築を実現する“パターン技術”の秘密とはたった1時間でシステム構築!“激速”環境構築を実現する“パターン技術”の秘密とは
たった1時間でシステム構築!“激速”環境構築を実現する“パターン技術”の秘密とはRina Owaki
 
2018年度新入社員研修実績紹介
2018年度新入社員研修実績紹介2018年度新入社員研修実績紹介
2018年度新入社員研修実績紹介CASAREAL, Inc.
 
リクルートのビッグデータ活用基盤とデータ活用に向けた取組み
リクルートのビッグデータ活用基盤とデータ活用に向けた取組みリクルートのビッグデータ活用基盤とデータ活用に向けた取組み
リクルートのビッグデータ活用基盤とデータ活用に向けた取組みRecruit Technologies
 
【17-D-1】今どきのアーキテクチャを現場の立場で斬る
【17-D-1】今どきのアーキテクチャを現場の立場で斬る【17-D-1】今どきのアーキテクチャを現場の立場で斬る
【17-D-1】今どきのアーキテクチャを現場の立場で斬るDevelopers Summit
 
patterns & practices "Project Silk" に見る HTML5 とモダンブラウザのための Web 開発の今後
patterns & practices "Project Silk" に見る HTML5 とモダンブラウザのための Web 開発の今後patterns & practices "Project Silk" に見る HTML5 とモダンブラウザのための Web 開発の今後
patterns & practices "Project Silk" に見る HTML5 とモダンブラウザのための Web 開発の今後Akira Inoue
 
技術選択とアーキテクトの役割
技術選択とアーキテクトの役割技術選択とアーキテクトの役割
技術選択とアーキテクトの役割Toru Yamaguchi
 
タクシー×AIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて
タクシー×AIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについてタクシー×AIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて
タクシー×AIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについてTakashi Suzuki
 
AWS における Microservices Architecture と DevOps を推進する組織と人とツール
AWS における Microservices Architecture と DevOps を推進する組織と人とツールAWS における Microservices Architecture と DevOps を推進する組織と人とツール
AWS における Microservices Architecture と DevOps を推進する組織と人とツールAmazon Web Services Japan
 
Spring Fest 2017 「エンタープライズで利用するSpring Boot」#jsug #sf_h1
Spring Fest 2017 「エンタープライズで利用するSpring Boot」#jsug #sf_h1Spring Fest 2017 「エンタープライズで利用するSpring Boot」#jsug #sf_h1
Spring Fest 2017 「エンタープライズで利用するSpring Boot」#jsug #sf_h1Takeshi Hirosue
 
Java で開発する Azure Web Apps アプリケーション
Java で開発する Azure Web Apps アプリケーションJava で開発する Azure Web Apps アプリケーション
Java で開発する Azure Web Apps アプリケーション彰 村地
 
変わる!? リクルートグループのデータ解析基盤
変わる!? リクルートグループのデータ解析基盤変わる!? リクルートグループのデータ解析基盤
変わる!? リクルートグループのデータ解析基盤Recruit Technologies
 
cndjp: 「Microclimate」by capsmalt
cndjp: 「Microclimate」by capsmaltcndjp: 「Microclimate」by capsmalt
cndjp: 「Microclimate」by capsmaltcapsmalt
 
Azure Application Insights とか
Azure Application Insights とかAzure Application Insights とか
Azure Application Insights とかTakekazu Omi
 
Microsoft open tech night 2020 feb18
Microsoft open tech night 2020 feb18Microsoft open tech night 2020 feb18
Microsoft open tech night 2020 feb18Masatomo Ito
 

Similar to 20180831 [DeLTA TECH] DeLTA-Liteを支える技術(システム構成編) (20)

Innovation and Startups Today
Innovation and Startups TodayInnovation and Startups Today
Innovation and Startups Today
 
タクシーxAIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて [SRE NEXT 2020]
タクシーxAIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて [SRE NEXT 2020]タクシーxAIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて [SRE NEXT 2020]
タクシーxAIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて [SRE NEXT 2020]
 
たった1時間でシステム構築!“激速”環境構築を実現する“パターン技術”の秘密とは
たった1時間でシステム構築!“激速”環境構築を実現する“パターン技術”の秘密とはたった1時間でシステム構築!“激速”環境構築を実現する“パターン技術”の秘密とは
たった1時間でシステム構築!“激速”環境構築を実現する“パターン技術”の秘密とは
 
2018年度新入社員研修実績紹介
2018年度新入社員研修実績紹介2018年度新入社員研修実績紹介
2018年度新入社員研修実績紹介
 
リクルートのビッグデータ活用基盤とデータ活用に向けた取組み
リクルートのビッグデータ活用基盤とデータ活用に向けた取組みリクルートのビッグデータ活用基盤とデータ活用に向けた取組み
リクルートのビッグデータ活用基盤とデータ活用に向けた取組み
 
【17-D-1】今どきのアーキテクチャを現場の立場で斬る
【17-D-1】今どきのアーキテクチャを現場の立場で斬る【17-D-1】今どきのアーキテクチャを現場の立場で斬る
【17-D-1】今どきのアーキテクチャを現場の立場で斬る
 
patterns & practices "Project Silk" に見る HTML5 とモダンブラウザのための Web 開発の今後
patterns & practices "Project Silk" に見る HTML5 とモダンブラウザのための Web 開発の今後patterns & practices "Project Silk" に見る HTML5 とモダンブラウザのための Web 開発の今後
patterns & practices "Project Silk" に見る HTML5 とモダンブラウザのための Web 開発の今後
 
CData Drivers HandsOn 20180326
CData Drivers HandsOn 20180326CData Drivers HandsOn 20180326
CData Drivers HandsOn 20180326
 
技術選択とアーキテクトの役割
技術選択とアーキテクトの役割技術選択とアーキテクトの役割
技術選択とアーキテクトの役割
 
タクシー×AIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて
タクシー×AIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについてタクシー×AIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて
タクシー×AIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて
 
AWS における Microservices Architecture と DevOps を推進する組織と人とツール
AWS における Microservices Architecture と DevOps を推進する組織と人とツールAWS における Microservices Architecture と DevOps を推進する組織と人とツール
AWS における Microservices Architecture と DevOps を推進する組織と人とツール
 
Spring Fest 2017 「エンタープライズで利用するSpring Boot」#jsug #sf_h1
Spring Fest 2017 「エンタープライズで利用するSpring Boot」#jsug #sf_h1Spring Fest 2017 「エンタープライズで利用するSpring Boot」#jsug #sf_h1
Spring Fest 2017 「エンタープライズで利用するSpring Boot」#jsug #sf_h1
 
Java で開発する Azure Web Apps アプリケーション
Java で開発する Azure Web Apps アプリケーションJava で開発する Azure Web Apps アプリケーション
Java で開発する Azure Web Apps アプリケーション
 
変わる!? リクルートグループのデータ解析基盤
変わる!? リクルートグループのデータ解析基盤変わる!? リクルートグループのデータ解析基盤
変わる!? リクルートグループのデータ解析基盤
 
CData General Proposal
CData General ProposalCData General Proposal
CData General Proposal
 
Only Logic Apps
Only Logic AppsOnly Logic Apps
Only Logic Apps
 
cndjp: 「Microclimate」by capsmalt
cndjp: 「Microclimate」by capsmaltcndjp: 「Microclimate」by capsmalt
cndjp: 「Microclimate」by capsmalt
 
Azure Application Insights とか
Azure Application Insights とかAzure Application Insights とか
Azure Application Insights とか
 
Microsoft open tech night 2020 feb18
Microsoft open tech night 2020 feb18Microsoft open tech night 2020 feb18
Microsoft open tech night 2020 feb18
 
Angularreflex20141210
Angularreflex20141210Angularreflex20141210
Angularreflex20141210
 

More from LeapMind Inc

Final presentation optical flow estimation with DL
Final presentation  optical flow estimation with DLFinal presentation  optical flow estimation with DL
Final presentation optical flow estimation with DLLeapMind Inc
 
Survey on optical flow estimation with DL
Survey on optical flow estimation with DLSurvey on optical flow estimation with DL
Survey on optical flow estimation with DLLeapMind Inc
 
[Icml2019] mix hop higher-order graph convolutional architectures via spars...
[Icml2019]  mix hop  higher-order graph convolutional architectures via spars...[Icml2019]  mix hop  higher-order graph convolutional architectures via spars...
[Icml2019] mix hop higher-order graph convolutional architectures via spars...LeapMind Inc
 
[Icml2019]LIT: Learned Intermediate Representation Training for Model Compres...
[Icml2019]LIT: Learned Intermediate Representation Training for Model Compres...[Icml2019]LIT: Learned Intermediate Representation Training for Model Compres...
[Icml2019]LIT: Learned Intermediate Representation Training for Model Compres...LeapMind Inc
 
[Icml2019] parameter efficient training of deep convolutional neural network...
[Icml2019] parameter efficient training of  deep convolutional neural network...[Icml2019] parameter efficient training of  deep convolutional neural network...
[Icml2019] parameter efficient training of deep convolutional neural network...LeapMind Inc
 
エッジ向けDeepLearningプロジェクトで必要なこと
エッジ向けDeepLearningプロジェクトで必要なことエッジ向けDeepLearningプロジェクトで必要なこと
エッジ向けDeepLearningプロジェクトで必要なことLeapMind Inc
 
20190227[EDLS]JAL's INNOVATION エアラインのAI活用
20190227[EDLS]JAL's INNOVATION エアラインのAI活用20190227[EDLS]JAL's INNOVATION エアラインのAI活用
20190227[EDLS]JAL's INNOVATION エアラインのAI活用LeapMind Inc
 
E20190227[EDLS]インテル®︎FPGAによるエッジAI
E20190227[EDLS]インテル®︎FPGAによるエッジAIE20190227[EDLS]インテル®︎FPGAによるエッジAI
E20190227[EDLS]インテル®︎FPGAによるエッジAILeapMind Inc
 
20190227[EDLS]進化するAI on Edge 〜 CloudとEdgeの最適な関係
20190227[EDLS]進化するAI on Edge 〜 CloudとEdgeの最適な関係20190227[EDLS]進化するAI on Edge 〜 CloudとEdgeの最適な関係
20190227[EDLS]進化するAI on Edge 〜 CloudとEdgeの最適な関係LeapMind Inc
 
20180831 [DeLTA TECH] 深く青い脂
20180831 [DeLTA TECH] 深く青い脂20180831 [DeLTA TECH] 深く青い脂
20180831 [DeLTA TECH] 深く青い脂LeapMind Inc
 
20180613 [TensorFlow分散学習] Horovodによる分散学習の実装方法と解説
20180613 [TensorFlow分散学習] Horovodによる分散学習の実装方法と解説20180613 [TensorFlow分散学習] Horovodによる分散学習の実装方法と解説
20180613 [TensorFlow分散学習] Horovodによる分散学習の実装方法と解説LeapMind Inc
 
An Introduction of DNN Compression Technology and Hardware Acceleration on FPGA
An Introduction of DNN Compression Technology and Hardware Acceleration on FPGAAn Introduction of DNN Compression Technology and Hardware Acceleration on FPGA
An Introduction of DNN Compression Technology and Hardware Acceleration on FPGALeapMind Inc
 
2018年1月19日開催 IoTビジネス共創ラボ 第6回勉強会
2018年1月19日開催 IoTビジネス共創ラボ 第6回勉強会2018年1月19日開催 IoTビジネス共創ラボ 第6回勉強会
2018年1月19日開催 IoTビジネス共創ラボ 第6回勉強会LeapMind Inc
 
JUIZ DLK 組込み向けDeep Learningコンパイラ
JUIZ DLK 組込み向けDeep LearningコンパイラJUIZ DLK 組込み向けDeep Learningコンパイラ
JUIZ DLK 組込み向けDeep LearningコンパイラLeapMind Inc
 

More from LeapMind Inc (15)

Final presentation optical flow estimation with DL
Final presentation  optical flow estimation with DLFinal presentation  optical flow estimation with DL
Final presentation optical flow estimation with DL
 
Survey on optical flow estimation with DL
Survey on optical flow estimation with DLSurvey on optical flow estimation with DL
Survey on optical flow estimation with DL
 
[Icml2019] mix hop higher-order graph convolutional architectures via spars...
[Icml2019]  mix hop  higher-order graph convolutional architectures via spars...[Icml2019]  mix hop  higher-order graph convolutional architectures via spars...
[Icml2019] mix hop higher-order graph convolutional architectures via spars...
 
[Icml2019]LIT: Learned Intermediate Representation Training for Model Compres...
[Icml2019]LIT: Learned Intermediate Representation Training for Model Compres...[Icml2019]LIT: Learned Intermediate Representation Training for Model Compres...
[Icml2019]LIT: Learned Intermediate Representation Training for Model Compres...
 
[Icml2019] parameter efficient training of deep convolutional neural network...
[Icml2019] parameter efficient training of  deep convolutional neural network...[Icml2019] parameter efficient training of  deep convolutional neural network...
[Icml2019] parameter efficient training of deep convolutional neural network...
 
エッジ向けDeepLearningプロジェクトで必要なこと
エッジ向けDeepLearningプロジェクトで必要なことエッジ向けDeepLearningプロジェクトで必要なこと
エッジ向けDeepLearningプロジェクトで必要なこと
 
20190227[EDLS]JAL's INNOVATION エアラインのAI活用
20190227[EDLS]JAL's INNOVATION エアラインのAI活用20190227[EDLS]JAL's INNOVATION エアラインのAI活用
20190227[EDLS]JAL's INNOVATION エアラインのAI活用
 
E20190227[EDLS]インテル®︎FPGAによるエッジAI
E20190227[EDLS]インテル®︎FPGAによるエッジAIE20190227[EDLS]インテル®︎FPGAによるエッジAI
E20190227[EDLS]インテル®︎FPGAによるエッジAI
 
20190227[EDLS]進化するAI on Edge 〜 CloudとEdgeの最適な関係
20190227[EDLS]進化するAI on Edge 〜 CloudとEdgeの最適な関係20190227[EDLS]進化するAI on Edge 〜 CloudとEdgeの最適な関係
20190227[EDLS]進化するAI on Edge 〜 CloudとEdgeの最適な関係
 
20180831 [DeLTA TECH] 深く青い脂
20180831 [DeLTA TECH] 深く青い脂20180831 [DeLTA TECH] 深く青い脂
20180831 [DeLTA TECH] 深く青い脂
 
20180613 [TensorFlow分散学習] Horovodによる分散学習の実装方法と解説
20180613 [TensorFlow分散学習] Horovodによる分散学習の実装方法と解説20180613 [TensorFlow分散学習] Horovodによる分散学習の実装方法と解説
20180613 [TensorFlow分散学習] Horovodによる分散学習の実装方法と解説
 
An Introduction of DNN Compression Technology and Hardware Acceleration on FPGA
An Introduction of DNN Compression Technology and Hardware Acceleration on FPGAAn Introduction of DNN Compression Technology and Hardware Acceleration on FPGA
An Introduction of DNN Compression Technology and Hardware Acceleration on FPGA
 
2018年1月19日開催 IoTビジネス共創ラボ 第6回勉強会
2018年1月19日開催 IoTビジネス共創ラボ 第6回勉強会2018年1月19日開催 IoTビジネス共創ラボ 第6回勉強会
2018年1月19日開催 IoTビジネス共創ラボ 第6回勉強会
 
Pitch v2.2
Pitch v2.2Pitch v2.2
Pitch v2.2
 
JUIZ DLK 組込み向けDeep Learningコンパイラ
JUIZ DLK 組込み向けDeep LearningコンパイラJUIZ DLK 組込み向けDeep Learningコンパイラ
JUIZ DLK 組込み向けDeep Learningコンパイラ
 

20180831 [DeLTA TECH] DeLTA-Liteを支える技術(システム構成編)

  • 2. LeapMind, Inc. © 2018 2 自己紹介 藤原 健利 LeapMind株式会社 Product Unit, Leader, Software Division 東京工業大学 工学部 卒業。 同大学院 機械宇宙システム専攻修了。 数値シミュレーションを用いた流体力学の研究。 人材系ベンチャー企業でWebサービス・社内シス テムの開発を担当。 LeapMindにジョイン。組込みDeep Learningモデ ル構築ソリューション「DeLTA-Lite」の開発に従 事。
  • 3. LeapMind, Inc. © 2018 3 機械学習システム ✕ マイクロサービスアーキテクチャ
  • 4. LeapMind, Inc. © 2018 4 機械学習システム クライアント Web アプリケーシ ョン 学習サーバ (GPU) 推論サーバ (GPU) 学習データ 学習済み モデル
  • 5. LeapMind, Inc. © 2018 5 機械学習システム クライアント Web アプリケーシ ョン 学習サーバ (GPU) 推論サーバ (GPU) 学習データ 学習済み モデル 学習データをアップロードし モデルを学習 新しいデータで 推論を実行 推論結果をアプリ ケーションで利用 学習時のみ インスタンスを起動 必要に応じて スケーリング
  • 6. LeapMind, Inc. © 2018 機械学習ライブラリ ● Python ● TensorFlow、PyTorch ● CUDA、GPU ● ... 6 機械学習システムの困りごと 構成要素ごとに異なる技術や手法を選択したい! Webアプリケーション ● PHP、Ruby、Python、Java ● Node.js、npm ● Nginx、Apache ● RDBMS ● NoSQL、KVS ● ...
  • 7. LeapMind, Inc. © 2018 7 機械学習システムの困りごと 構成要素ごとにスペックをスケーリングしたい! Web Web Train Train Train Train Train Predict Predict Predict
  • 8. LeapMind, Inc. © 2018 8 機械学習システムの困りごと 構成要素ごとにリリースタイミングが異なる! 別々の開発チームがそれぞれの 構成要素を開発し、リリース管 理をしている。 残りの要素は稼働させたまま、 目的の要素のみリリースしたい 。
  • 9. LeapMind, Inc. © 2018 9 機械学習システムは、 マイクロサービスアーキテクチャの 利点が活かせる
  • 10. LeapMind, Inc. © 2018 モノリシックアーキテクチャ マイクロサービスアーキテクチャ 10
  • 11. LeapMind, Inc. © 2018 Webアプリケーション 認証処理 11 モノリシックアーキテクチャ 決済処理 メール通知処理 クライアント コントローラ
  • 12. LeapMind, Inc. © 2018 12 マイクロサービスアーキテクチャ 認証サービス 12 決済サービス メール通知 サービス クライアント API API API Web アプリケーション サービス
  • 13. LeapMind, Inc. © 2018 ● マイクロサービスでは、最大公約数的になることが多い標準 化された汎用的な手段を選ぶのではなく、ジョブごとに適し たツールを選ぶことができる。 ● マイクロサービスは、スケーリングが必要なサービスだけを スケールでき、システムの他の部分を非力なハードウェアで 動作させることができる。 ● マイクロサービスはそれぞれが独立して変更でき、コンシュ ーマを変更する必要なく単独でデプロイできる。 ● マイクロサービスでは、システムのあるコンポーネントに障 害が発生しても、システムの残りの部分は機能し続けること ができる。 (O’Reilly “マイクロサービスアーキテクチャ”より) 13 マイクロサービスアーキテクチャのいいところ
  • 14. LeapMind, Inc. © 2018 14 DeLTA-Liteのシステム構成
  • 15. LeapMind, Inc. © 2018 Converted models Trained models Train Queue 15 システム構成 Train queue consumer Datasets Convert Queue Convert queue consumer Web API Server Training Library Converting Tools Client App
  • 16. LeapMind, Inc. © 2018 Webアプリケーション FPGAモデル出力 トレーニング管理 Converted models Trained models Train Queue 16 システム構成 Train queue consumer Datasets Convert Queue Convert queue consumer Web API Server Training Library Converting Tools Client App
  • 17. LeapMind, Inc. © 2018 Webアプリケーション Converted models Trained models Train Queue 17 Webアプリケーション Train queue consumer Datasets Convert Queue Convert queue consumer Web API Server Training Library Converting Tools Client App
  • 18. LeapMind, Inc. © 2018 18 Webアプリケーション ● React.js + Redux による Single Page Application ● サーバー側のデータとユーザーの間のインタフェース ● Gulp + webpackでトランスパイル
  • 19. LeapMind, Inc. © 2018 Converted models Trained models Train Queue 19 トレーニング管理 Train queue consumer Datasets Convert Queue Convert queue consumer Web API Server Training Library Converting Tools Client App トレーニング管理
  • 20. LeapMind, Inc. © 2018 20 トレーニング管理 ● AzureSDKによるGPUサーバー起動・停止管理 ● TensorFlowをベースとした学習ライブラリを開発 ● 自社開発のDNN: “LMNet”シリーズ
  • 21. LeapMind, Inc. © 2018 Converted models Trained models Train Queue 21 FPGAモデル出力 Train queue consumer Datasets Convert Queue Convert queue consumer Web API Server Training Library Converting Tools Client App FPGAモデル出力
  • 22. LeapMind, Inc. © 2018 22 FPGAモデル出力 ● Pythonで動作するモデルをFPGAで動作するモデルに変換 ● モデルはC++で記述され目的の環境に合わせてコンパイル ● 現在のターゲットデバイスは Intel® Cyclone® V FPGA
  • 23. LeapMind, Inc. © 2018 Converted models Trained models Train Queue 23 システム構成 Train queue consumer Datasets Convert Queue Convert queue consumer Web API Server Training Library Converting Tools Client App
  • 24. LeapMind, Inc. © 2018 24 インフラ構成 File StorageBLOB StorageMySQL Application Gateway Train VMManage VM Web API VM Convert VM
  • 25. LeapMind, Inc. © 2018 25 開発体制
  • 26. LeapMind, Inc. © 2018 Converted models Trained models Train Queue 26 役割分担 Train queue consumer Datasets Convert Queue Convert queue consumer Web API Server Training Library Converting Tools Client App
  • 27. LeapMind, Inc. © 2018 ハードウェア 機械学習 バックエンド フロントエンド Converted models Trained models Train Queue 27 役割分担 Train queue consumer Datasets Convert Queue Convert queue consumer Web API Server Training Library Converting Tools Client App
  • 28. LeapMind, Inc. © 2018 Core Libraries 28 依存関係 DeLTA-Lite Training Library Converting Tools Unit Tests Unit Tests Integration Tests
  • 29. LeapMind, Inc. © 2018 Core Libraries 29 バージョンアップ DeLTA-Lite Training Library Converting Tools Unit Tests Unit Tests Integration Tests v1.0 v1.0
  • 30. LeapMind, Inc. © 2018 Core Libraries 30 バージョンアップ DeLTA-Lite Training Library Converting Tools Unit Tests Unit Tests Integration Tests v1.0 v1.0 v1.0
  • 31. LeapMind, Inc. © 2018 Core Libraries 31 バージョンアップ DeLTA-Lite Training Library Converting Tools Unit Tests Unit Tests Integration Tests v1.0 v1.0 v1.0 v1.0
  • 32. LeapMind, Inc. © 2018 32 一部の構成要素を 独立してデプロイする作業の例
  • 33. LeapMind, Inc. © 2018 Trained models Train Queue 33 トレーニングライブラリのデプロイ作業 Train queue consumer Datasets Web API Server Training Library Client App 待機中のトレーニング 実行中のトレーニング
  • 34. LeapMind, Inc. © 2018 Trained models Train Queue 34 トレーニングライブラリのデプロイ作業 Train queue consumer Datasets Web API Server Training Library Client App トレーニングキューを 停止 実行中のトレーニングが 終了するまで待機
  • 35. LeapMind, Inc. © 2018 Trained models Train Queue 35 トレーニングライブラリのデプロイ作業 Train queue consumer Datasets Web API Server Training Library Client App トレーニングの依頼は 受け続けられる
  • 36. LeapMind, Inc. © 2018 Trained models Train Queue 36 トレーニングライブラリのデプロイ作業 Train queue consumer Datasets Web API Server Training Library Client App 実行中のトレーニングが すべて終了 トレーニング ライブラリを更新
  • 37. LeapMind, Inc. © 2018 Trained models Train Queue 37 トレーニングライブラリのデプロイ作業 Train queue consumer Datasets Web API Server Training Library Client App トレーニングキューを 再開
  • 38. LeapMind, Inc. © 2018 Trained models Train Queue 38 トレーニングライブラリのデプロイ作業 Train queue consumer Datasets Web API Server Training Library Client App この間、クライアントアプリや WebAPIは稼働したままなので、 通常通り使用できる。
  • 39. LeapMind, Inc. © 2018 DeLTA-Liteではこれらの作業を Fabricのタスクとして定義 Trained models Train Queue 39 トレーニングライブラリのデプロイ作業 Train queue consumer Datasets Web API Server Training Library Client App
  • 40. LeapMind, Inc. © 2018 40 その他にも、 インフラ構成管理、 サービス死活監視、ログ収集など、 考えることはいろいろ
  • 41. LeapMind, Inc. © 2018 まとめ 41
  • 42. LeapMind, Inc. © 2018 42 まとめ 機械学習システムは、 マイクロサービスアーキテクチャの 利点が活かせる
  • 43. LeapMind, Inc. © 2018 43 まとめ 機械学習システムは、 マイクロサービスアーキテクチャの 利点が活かせる サービスごとに独立したデプロイ サービスごとに最適な技術選択 サービスごとのスケーリングが容易