SlideShare une entreprise Scribd logo
1  sur  28
Télécharger pour lire hors ligne
エッジデバイスの実利用環境を考慮した
機械学習システム構築のあれこれ
わさらぼ/イーツリーズ・ジャパン
みよし たけふみ ( @miyox )
今日はこういう話ですよね?
エッジデバイス
エッジデバイス
エッジデバイス
エッジで推論
エッジデバイスのあれこれ
エッジで推論 SoC(RISC-V+KPU + uPython)
エッジで推論 SeeDot(Microsoft) + Arduino IDE
学習データ
ProtoNN
/usps10
最大1048576バイトのフラッシュメモリのうち、スケッチが25924バイト
(2%)を使っています。
最大196608バイトのRAMのうち、グローバル変数が1236バイト
(0%)を使っていて、ローカル変数で195372バイト使うことができま
す。
2.8m秒SeeDot
エッジで推論 FPGA
こういう話ですよね?
エッジデバイス
エッジデバイス
エッジデバイス
システムに潜むあれこれ
エッジデバイス
エッジデバイス
エッジデバイス
電源管理
バッテリートラブル
通信トラブル
計算資源の不足
計算資源の不足
本物?
管理コスト
システムに潜むあれこれ
エッジデバイス
エッジデバイス
エッジデバイス
電源管理
バッテリートラブル
通信トラブル
計算資源の不足
計算資源の不足
本物?
管理コスト
キーワードはFPGA
いくつかの取り組みの紹介
● サーバー側の処理の一部をFPGAでアクセラレート
● バッテリに関する話 - 組み込み向け電源マネジメント
● 手軽にFPGA使えるようになるといいな
○ Intel PAC
○ Amazon F1
○ 高位合成
● システムにまとめるために
サーバー側のボトルネックとFPGAによる解決案
● エッジでの機械学習 “推論”だけやります(が多い)
● あらかじめ学習しておく必要がある
● 適宜データを収集して再学習できるとよい
● そもそも最初が収集から,ということもある
   (たくさんの)エッジとサーバーの通信が必須
IEICE RECONF研 2019年1月
三好健文: “非整列ストリームデータ処理向けマルチコアプロセッサシステムの検討と評価”
エッジとサーバーのギャップ
IEICE RECONF研 2019年1月
三好健文: “非整列ストリームデータ処理向けマルチコアプロセッサシステムの検討と評価”
CPUで実行時の負荷
IEICE RECONF研 2019年1月
三好健文: “非整列ストリームデータ処理向けマルチコアプロセッサシステムの検討と評価”
CPUで実行時の負荷
PEを20個くらい並べれば
40Gbpsくらい出せそうだ
バッテリに関する話 - 組み込み向け電源管理
● 要は,必要なときに必要な電力が供給できればいい
● OSやCPUでの電源制御はあるが...
● もっと粗粒度に必要な時だけ電源ONするでもいいのでは?
● 電源をONにするやつの電源をONに...するやつの電源をO...
● 待機電力が小さくてすむFPGAを使ってみるのはいかが?
● FPGAなら電源ONですぐ起動
電源
● 要は,必要なときに必要な電力が供給できればいい
● OSやCPUでの電源制御はあるが...
● もっと粗粒度に必要な時だけ電源ONするでもいいのでは?
● 電源をONにするやつの電源をONに...するやつの電源をO...
● 待機電力が小さくてすむFPGAを使ってみるのはいかが?
● FPGAなら電源ONですぐ起動
バッテリに関する話 - 組み込み向け電源管理
バッテリー/
電気二重層コンデンサ
エネルギー源
太陽光パネルとか
タスクリスト
動作条件
実装・実験中
とりあえずスポーツアクティビティ支援 から
電源
BAYSUN リチウムイオン電池の話
http://www.baysun.net/ionbattery_story/lithium10.html
手軽にFPGAはじめる話
FPGAって面倒ですよね
今なら,
Python や Scala や C++ や Java や Go や Rust
Matlab や Halide や
で,開発できます
サーバーとも割と簡単に連携できるようになってきてます
AWS F1 を 使ってみる なら
AWS F1 を 使ってみる なら - たとえばCAM(ハッシュ)
Intel PAC
高位合成
● Vivado HLS
● Intel High level Synthesis compiler
高位合成
システムにまとめるために
エッジデバイス
エッジデバイス
エッジデバイス
電源管理
バッテリートラブル
通信トラブル
計算資源の不足
計算資源の不足
本物?
管理コスト
システムにまとめるために
エッジデバイス
エッジデバイス
エッジデバイス
電源管理
バッテリートラブル
通信トラブル
計算資源の不足
計算資源の不足
本物?
管理コスト
 エッジデバイスってどこまで面倒みてあげないといけないの?
 こういうサービスは使えたりしないの?提案したら喜ばれる?
 FPGA使ってみたいけど,何からはじめてみたらいい?

Contenu connexe

Tendances

Summercamp2020 group2
Summercamp2020 group2Summercamp2020 group2
Summercamp2020 group2
openrtm
 
2015年度GPGPU実践基礎工学 第7回 シングルコアとマルチコア
2015年度GPGPU実践基礎工学 第7回 シングルコアとマルチコア2015年度GPGPU実践基礎工学 第7回 シングルコアとマルチコア
2015年度GPGPU実践基礎工学 第7回 シングルコアとマルチコア
智啓 出川
 
2015年度GPGPU実践基礎工学 第3回 GPUクラスタ上でのプログラミング(CUDA)
2015年度GPGPU実践基礎工学 第3回 GPUクラスタ上でのプログラミング(CUDA)2015年度GPGPU実践基礎工学 第3回 GPUクラスタ上でのプログラミング(CUDA)
2015年度GPGPU実践基礎工学 第3回 GPUクラスタ上でのプログラミング(CUDA)
智啓 出川
 
2015年度GPGPU実践基礎工学 第13回 GPUのメモリ階層
2015年度GPGPU実践基礎工学 第13回 GPUのメモリ階層2015年度GPGPU実践基礎工学 第13回 GPUのメモリ階層
2015年度GPGPU実践基礎工学 第13回 GPUのメモリ階層
智啓 出川
 

Tendances (11)

141125CITBrains
141125CITBrains141125CITBrains
141125CITBrains
 
130301ロボカップ各チームの技術
130301ロボカップ各チームの技術130301ロボカップ各チームの技術
130301ロボカップ各チームの技術
 
ロボットシステム学2015第3回
ロボットシステム学2015第3回ロボットシステム学2015第3回
ロボットシステム学2015第3回
 
CMSI計算科学技術特論A (2015) 第9回
CMSI計算科学技術特論A (2015) 第9回CMSI計算科学技術特論A (2015) 第9回
CMSI計算科学技術特論A (2015) 第9回
 
Summercamp2020 group2
Summercamp2020 group2Summercamp2020 group2
Summercamp2020 group2
 
2015年度GPGPU実践基礎工学 第7回 シングルコアとマルチコア
2015年度GPGPU実践基礎工学 第7回 シングルコアとマルチコア2015年度GPGPU実践基礎工学 第7回 シングルコアとマルチコア
2015年度GPGPU実践基礎工学 第7回 シングルコアとマルチコア
 
2015年度GPGPU実践基礎工学 第3回 GPUクラスタ上でのプログラミング(CUDA)
2015年度GPGPU実践基礎工学 第3回 GPUクラスタ上でのプログラミング(CUDA)2015年度GPGPU実践基礎工学 第3回 GPUクラスタ上でのプログラミング(CUDA)
2015年度GPGPU実践基礎工学 第3回 GPUクラスタ上でのプログラミング(CUDA)
 
組込みシステムでIoTへの扉を開こう! mruby on LEGO Mindstorms EV3 (R)
組込みシステムでIoTへの扉を開こう! mruby on LEGO Mindstorms EV3 (R)組込みシステムでIoTへの扉を開こう! mruby on LEGO Mindstorms EV3 (R)
組込みシステムでIoTへの扉を開こう! mruby on LEGO Mindstorms EV3 (R)
 
Good Arm FPGA Board Ultra96 and Google AI YOLO
Good Arm FPGA Board Ultra96 and Google AI YOLOGood Arm FPGA Board Ultra96 and Google AI YOLO
Good Arm FPGA Board Ultra96 and Google AI YOLO
 
2015年度GPGPU実践基礎工学 第13回 GPUのメモリ階層
2015年度GPGPU実践基礎工学 第13回 GPUのメモリ階層2015年度GPGPU実践基礎工学 第13回 GPUのメモリ階層
2015年度GPGPU実践基礎工学 第13回 GPUのメモリ階層
 
Ultra96ボードでYOLOを高速化
Ultra96ボードでYOLOを高速化Ultra96ボードでYOLOを高速化
Ultra96ボードでYOLOを高速化
 

Similaire à Misc for edge_devices_with_fpga

Android & Nui & Physical Computing
Android & Nui & Physical ComputingAndroid & Nui & Physical Computing
Android & Nui & Physical Computing
Takahiro KUREBAYASHI
 
Arduinoが拓く「新しいものづくりの世界」120713(robotechセミナー)
Arduinoが拓く「新しいものづくりの世界」120713(robotechセミナー)Arduinoが拓く「新しいものづくりの世界」120713(robotechセミナー)
Arduinoが拓く「新しいものづくりの世界」120713(robotechセミナー)
Takayori Takamoto
 
Androidロボットサミットin名古屋
Androidロボットサミットin名古屋Androidロボットサミットin名古屋
Androidロボットサミットin名古屋
Kenichi Yoshida
 
マルチコアのプログラミング技法 -- OpenCLとWebCL
マルチコアのプログラミング技法 -- OpenCLとWebCLマルチコアのプログラミング技法 -- OpenCLとWebCL
マルチコアのプログラミング技法 -- OpenCLとWebCL
maruyama097
 
seccamp2012 チューター発表
seccamp2012 チューター発表seccamp2012 チューター発表
seccamp2012 チューター発表
Hirotaka Kawata
 

Similaire à Misc for edge_devices_with_fpga (20)

機械学習 / Deep Learning 大全 (6) Library編
機械学習 / Deep Learning 大全 (6) Library編機械学習 / Deep Learning 大全 (6) Library編
機械学習 / Deep Learning 大全 (6) Library編
 
Android & Nui & Physical Computing
Android & Nui & Physical ComputingAndroid & Nui & Physical Computing
Android & Nui & Physical Computing
 
Arduinoが拓く「新しいものづくりの世界」120713(robotechセミナー)
Arduinoが拓く「新しいものづくりの世界」120713(robotechセミナー)Arduinoが拓く「新しいものづくりの世界」120713(robotechセミナー)
Arduinoが拓く「新しいものづくりの世界」120713(robotechセミナー)
 
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会
 
Getting Started with Jetson Nano
Getting Started with Jetson NanoGetting Started with Jetson Nano
Getting Started with Jetson Nano
 
第1回 配信講義 計算科学技術特論A (2021)
第1回 配信講義 計算科学技術特論A (2021)第1回 配信講義 計算科学技術特論A (2021)
第1回 配信講義 計算科学技術特論A (2021)
 
Movidius Neral Compute Stickを使ってみた
Movidius Neral Compute Stickを使ってみたMovidius Neral Compute Stickを使ってみた
Movidius Neral Compute Stickを使ってみた
 
データサイエンティスト協会 木曜勉強会 #02 講演2:『ビッグデータの0次分析手法と適用例のご紹介 ~俯瞰から始まる企業内ビッグデータの活用~』
データサイエンティスト協会 木曜勉強会 #02 講演2:『ビッグデータの0次分析手法と適用例のご紹介 ~俯瞰から始まる企業内ビッグデータの活用~』データサイエンティスト協会 木曜勉強会 #02 講演2:『ビッグデータの0次分析手法と適用例のご紹介 ~俯瞰から始まる企業内ビッグデータの活用~』
データサイエンティスト協会 木曜勉強会 #02 講演2:『ビッグデータの0次分析手法と適用例のご紹介 ~俯瞰から始まる企業内ビッグデータの活用~』
 
ハードウェア進化についていけ 〜 実用化が進む GPU、そして注目が集まる Edge TPU の威力に迫る 〜
ハードウェア進化についていけ 〜 実用化が進む GPU、そして注目が集まる Edge TPU の威力に迫る 〜ハードウェア進化についていけ 〜 実用化が進む GPU、そして注目が集まる Edge TPU の威力に迫る 〜
ハードウェア進化についていけ 〜 実用化が進む GPU、そして注目が集まる Edge TPU の威力に迫る 〜
 
MeeGo Seminar Winter Porting 20101209
MeeGo Seminar Winter Porting 20101209MeeGo Seminar Winter Porting 20101209
MeeGo Seminar Winter Porting 20101209
 
2014 1018 OSC-Fall Tokyo NETMF
2014 1018 OSC-Fall Tokyo NETMF2014 1018 OSC-Fall Tokyo NETMF
2014 1018 OSC-Fall Tokyo NETMF
 
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」
 
Androidロボットサミットin名古屋
Androidロボットサミットin名古屋Androidロボットサミットin名古屋
Androidロボットサミットin名古屋
 
マルチコアのプログラミング技法 -- OpenCLとWebCL
マルチコアのプログラミング技法 -- OpenCLとWebCLマルチコアのプログラミング技法 -- OpenCLとWebCL
マルチコアのプログラミング技法 -- OpenCLとWebCL
 
Intel OpenVINO、 NVIDIA Deepstream対応開発キットから、 エッジサーバー、Azure Data Box Edgeまで、 Az...
Intel OpenVINO、 NVIDIA Deepstream対応開発キットから、 エッジサーバー、Azure Data Box Edgeまで、 Az...Intel OpenVINO、 NVIDIA Deepstream対応開発キットから、 エッジサーバー、Azure Data Box Edgeまで、 Az...
Intel OpenVINO、 NVIDIA Deepstream対応開発キットから、 エッジサーバー、Azure Data Box Edgeまで、 Az...
 
Iot algyan jhirono 20190111
Iot algyan jhirono 20190111Iot algyan jhirono 20190111
Iot algyan jhirono 20190111
 
seccamp2012 チューター発表
seccamp2012 チューター発表seccamp2012 チューター発表
seccamp2012 チューター発表
 
第 1 回 Jetson ユーザー勉強会
第 1 回 Jetson ユーザー勉強会第 1 回 Jetson ユーザー勉強会
第 1 回 Jetson ユーザー勉強会
 
つくってドヤると楽しい
つくってドヤると楽しいつくってドヤると楽しい
つくってドヤると楽しい
 
GTC Japan 2017
GTC Japan 2017GTC Japan 2017
GTC Japan 2017
 

Plus de Takefumi MIYOSHI

Plus de Takefumi MIYOSHI (20)

ACRi_webinar_20220118_miyo
ACRi_webinar_20220118_miyoACRi_webinar_20220118_miyo
ACRi_webinar_20220118_miyo
 
DAS_202109
DAS_202109DAS_202109
DAS_202109
 
ACRiルーム1年間の活動と 新たな取り組み
ACRiルーム1年間の活動と 新たな取り組みACRiルーム1年間の活動と 新たな取り組み
ACRiルーム1年間の活動と 新たな取り組み
 
RISC-V introduction for SIG SDR in CQ 2019.07.29
RISC-V introduction for SIG SDR in CQ 2019.07.29RISC-V introduction for SIG SDR in CQ 2019.07.29
RISC-V introduction for SIG SDR in CQ 2019.07.29
 
Cq off 20190718
Cq off 20190718Cq off 20190718
Cq off 20190718
 
Synthesijer - HLS frineds 20190511
Synthesijer - HLS frineds 20190511Synthesijer - HLS frineds 20190511
Synthesijer - HLS frineds 20190511
 
Reconf 201901
Reconf 201901Reconf 201901
Reconf 201901
 
Hls friends 201803.key
Hls friends 201803.keyHls friends 201803.key
Hls friends 201803.key
 
Abstracts of FPGA2017 papers (Temporary Version)
Abstracts of FPGA2017 papers (Temporary Version)Abstracts of FPGA2017 papers (Temporary Version)
Abstracts of FPGA2017 papers (Temporary Version)
 
Hls friends 20161122.key
Hls friends 20161122.keyHls friends 20161122.key
Hls friends 20161122.key
 
Slide
SlideSlide
Slide
 
Synthesijer and Synthesijer.Scala in HLS-friends 201512
Synthesijer and Synthesijer.Scala in HLS-friends 201512Synthesijer and Synthesijer.Scala in HLS-friends 201512
Synthesijer and Synthesijer.Scala in HLS-friends 201512
 
Das 2015
Das 2015Das 2015
Das 2015
 
Microblaze loader
Microblaze loaderMicroblaze loader
Microblaze loader
 
Reconf 201506
Reconf 201506Reconf 201506
Reconf 201506
 
Synthesijer jjug 201504_01
Synthesijer jjug 201504_01Synthesijer jjug 201504_01
Synthesijer jjug 201504_01
 
Synthesijer zynq qs_20150316
Synthesijer zynq qs_20150316Synthesijer zynq qs_20150316
Synthesijer zynq qs_20150316
 
Synthesijer fpgax 20150201
Synthesijer fpgax 20150201Synthesijer fpgax 20150201
Synthesijer fpgax 20150201
 
Synthesijer hls 20150116
Synthesijer hls 20150116Synthesijer hls 20150116
Synthesijer hls 20150116
 
Synthesijer.Scala (PROSYM 2015)
Synthesijer.Scala (PROSYM 2015)Synthesijer.Scala (PROSYM 2015)
Synthesijer.Scala (PROSYM 2015)
 

Misc for edge_devices_with_fpga