SlideShare una empresa de Scribd logo
1 de 42
©2019 Pasona Tech, Inc. All Rights Reserved.
AutoMLとQumicoを使って、ラズパイでディープラーニングを動かす
話
株式会社パソナテック
IoEソリューション事業部 AIプロダクトグループ
Qumicoプロダクトマネージャ
夏谷
2019/11/8
©2019 Pasona Tech, Inc. All Rights Reserved.
2
目次
自己紹介
AIのトレンド
エッジAI
Qumicoの紹介
アーキテクチャ
AutoMLからエッジAIへ
会社紹介
ONNX
AutoML
量子化の実装
©2019 Pasona Tech, Inc. All Rights Reserved.
自己紹介
3
©2019 Pasona Tech, Inc. All Rights Reserved.
自己紹介
4
株式会社パソナテック
IoEソリューション事業部 AIプロダクトグループ
Qumico Product Manager
夏谷 実
FPGAやLSIの画像処理から、Deep Learningの世界に入る。プログラミングが好き
昨年よりQumicoのプロダクトマネージャに就任。大阪と東京と半々くらいで、昨年は名古屋にも通う
TensorFlow Users Group KANSAIHatena id: natsutan Qiita id: natsutan
2019/9/25
https://qiita.com/natsutan
2019/9/25
https://tfug-kansai.connpass.com/event/146442/2019/9/25
http://natsutan.hatenablog.com/
©2019 Pasona Tech, Inc. All Rights Reserved.
AIのトレンド
5
エッジAI, ONNX, AutoML
©2019 Pasona Tech, Inc. All Rights Reserved.
エッジAIとは
6
よくあるAIを使ったサービス例
どこかにあるGPU搭載サーバー
日:エッジAIの技術に注目しています。
英:We are focusing on edge AI technology.
AI
同じようなアーキテクチャ
・画像の仕分け
・商品の推薦
・買い取り価格の見積もり
・商品のカテゴリー分け
©2019 Pasona Tech, Inc. All Rights Reserved.
エッジAIとは
7
https://www.irasutoya.com/2014/10/blog-post_185.html
https://www.irasutoya.com/2013/01/blog-post_7571.html
エッジAIのイメージ
AI AI
不審者
を発見
部屋に人が多いから
出力を上げよう
AIを処理するサーバーが無く、それぞれの装置がAIを搭載する。
誰もいないから風
力を落として節電
©2019 Pasona Tech, Inc. All Rights Reserved.
なぜエッジAIが必要なのか
8
物体検出
https://www.irasutoya.com/2014/10/blog-post_185.html
VS
サーバー AI
全ての映像をサーバーに送るアーキテクチャ
AI
エッジAIを使ったアーキテクチャ
AI AI
・・・・・
AI
・・・・・
物体検出 物体検出 物体検出
物体検出
物体検出した結
果だけを送信
・レイテンシー ◎
・通信量 ◎
・消費電力 〇
©2019 Pasona Tech, Inc. All Rights Reserved.
エッジAIを使う理由
・自動運転等、応答速度が非常に重要なケース
・コストが重要なケース
・通信環境が悪くても動く必要があるケース
・プライバシーを守りたいケース
9
世の中にAIが普及するにつれ、エッジAIの重要性も増えていく
©2019 Pasona Tech, Inc. All Rights Reserved.
業界標準フォーマットONNX
10
Open Neural Network Exchange(ONNX)
Microsoftの資料から引用
https://static.sched.com/hosted_files/linaroconnectsandiego/83/O
NNX%20%26%20ONNX%20Runtime%20-%20SAN19-211.pdf
2019/9/25
それぞれのフレームワークが、ONNXファイル
の入出力をサポート
ONNXの実行(推論)環境
ONNX runtime
©2019 Pasona Tech, Inc. All Rights Reserved.
ONNXフォーマット
11
Netronで可視化
• Model
• Version info
• Metadata
• Graph
• Graph
• Inputs and Outputs
• Graph name
• Computational nodes
• Computational Graph
• Operator
• Operator Parameter
• Inputs and Outputs
中身はProtocol Buffers
APIが用意されているPythonだけでなくRust等でも操作可能
©2019 Pasona Tech, Inc. All Rights Reserved.
Auto MLとは
12
・Automated Machine Learningの略
・自動的に機械学習のハイパーパラ
メータを設定しパフォーマンスを上
げる技術。NAS(Neural
Architecture Search)と呼ばれるNN
アーキテクチャの探索も含む。
・GoogleがCloud上でAuto MLを使え
るようにしたのが「Cloud AutoML」
と呼ばれるサービス。Auto MLと言
った時にCloud AutoMLを指すことが
多い。
NASの例
input
output
input
output
input
output
CELL
CELL
©2019 Pasona Tech, Inc. All Rights Reserved.
Could AutoMLの実力
13
https://developers-jp.googleblog.com/2019/07/efficientnet-automl-
google.html
画像の識別に関しては、素人では絶対に勝てない
識別
物体検出
だいたい6万円くらいで、2016年末の最先端
(YOLO v2)に近い数字
Cloud AutoMLが対応しているタスクならAutoMLを使いたい。
©2019 Pasona Tech, Inc. All Rights Reserved.
AutoML
14
2019/9/30
https://research.preferred.jp/2018/12/optuna-
release/
PFN Optuna
Sony Prediction One
Amazon Forecast
2019/9/30
https://aws.amazon.com/jp/forecast/
2019/9/30
https://predictionone.sony.biz/about/feature/
©2019 Pasona Tech, Inc. All Rights Reserved.
Qumicoの紹介
15
©2019 Pasona Tech, Inc. All Rights Reserved.
Qumicoとは
16
• 目的
– ディープラーニングの学習結果をエッジデバイス向けにC言語変換
• OSレス環境での利用も想定
– 出力:標準C(その他依存のライブラリなし)
– IR:ONNXに準拠
• 弊社内製
• オープンソースとして公開(MITライセンス)
– https://github.com/PasonaTech-Inc/Qumico
©2019 Pasona Tech, Inc. All Rights Reserved.
Qumico Architecture
17
ONNX
Qumico Frontend Qumico Backend
Tensorflow
TFLite
Keras
C Source
- Neon support
- OpenMP
・Convert
・Graph Optimize
・Weight Extract
・Check
・Memory Allocate
・Control Flow
・API function
・Device Specific
Optimize
Intermediate Representation
IR
• フロントエンド
– 各種DLフレームワークの学習モデルをONNXに変換する
– 例:TensorFlowの学習済みモデルをONNXに変換
• バックエンド
– ONNXをC言語に変換する
©2019 Pasona Tech, Inc. All Rights Reserved.
Three Stage Compiler
18
2019/10/5
https://en.wikipedia.org/wiki/Compiler
スタンダードな3stage コンパイラの構成を踏襲
Wikipediaより
文法チェック
IRへ変換 IRの最適化 ターゲット向け最適化
Intermediate Representation
IR
©2019 Pasona Tech, Inc. All Rights Reserved.
Idein
19
Practical Developers
――機械学習時代のソフトウェア開発
[ゲームアプリ/インフラ/エッジ編]
P91 図3
©2019 Pasona Tech, Inc. All Rights Reserved.
PFN Chainer-compiler
20
2019/10/1
https://www.slideshare.net/pfi/da2019traininginferencehwsw-hare
DAシンポジウム2019招待講
演「深層学習モデルの高速な
Training/Inferenceのための
HW/SW技術」
P44
©2019 Pasona Tech, Inc. All Rights Reserved.
Qumicoの特徴
21
©2019 Pasona Tech, Inc. All Rights Reserved.
開発の流れ(例)
22
Qumicoフロントエンド Qumicoバックエンド
本スライドの写真 の作成者 不明な作成者 は CC BY-SA のライセンスを許諾されています
エッジデバイス
2.変換
1.学習
3.チューニング
4.デプロイ
チューニング
・CPUコア
・SIMD
・GPU
・メモリアライメント
等
学習済みモデル
計算グラフ最適化
TensorFlow
ONNX C
©2019 Pasona Tech, Inc. All Rights Reserved.
Qumico 新機能
Cloud AutoML カメラ+ラズベリーパイ
AutoMLで学習したモデルが、Qumicoを使ってエッジで動く
- ニューラルネットワークの知識不要
- 組込の知識不要
©2019 Pasona Tech, Inc. All Rights Reserved.
量子化
https://www.slideshare.net/insideHPC/beating-floating-point-at-its-own-game-posit-arithmetic
DLは10^(-4)~10^2くらいしかでてこない
FP16 max 6万程度fp32
浮動小数点数フォーマットのおさらい
指数部 仮数部
©2019 Pasona Tech, Inc. All Rights Reserved.
量子化
25
Qumicoを使ってTFLiteをONNXへ変
換した結果を可視化
・Cloud AutoMLをエッジ用に学習するとTFLite
のフォーマットでダウンロードできる。
・TFLiteの中身はFlatbufferで、エッジデバイス
向けに最適化されている。
・データは8bitに量子化されていて、量子化専用
の演算(オペレータ)が必要。
・量子化のパラメータは二つ
- scale
- zero_point
©2019 Pasona Tech, Inc. All Rights Reserved.
量子化の計算式
26
𝑥𝑞 = 𝑠𝑎𝑡𝑢𝑟𝑒
𝑥
𝑠𝑐𝑎𝑙𝑒
+ 𝑧𝑒𝑟𝑜_𝑝𝑜𝑖𝑛𝑡
xを量子化前の値、xqを量子化された値としたときの関係式
Qumicoが出力する量子化の場合は、xqがuint8なので、0-
255の値をとる。計算の結果、xqが負の値になった時は0に、
255を超えたときは255の範囲に飽和(clip)される。
©2019 Pasona Tech, Inc. All Rights Reserved.
AutoMLが出力するNN例(識別)
27
input
output
ADD
conv2d
conv2d
conv2d
Depth Width
Conv2dd
©2019 Pasona Tech, Inc. All Rights Reserved.
AutoMLが出力するNN(物体検出)
28
2019/10/4
http://natsutan.hatenablog.com/entry/2019/09/23/125835
NAS(Neural Architecture Search)
をしているようで、非常に複雑な構
成になっています。
©2019 Pasona Tech, Inc. All Rights Reserved.
Qumicoの新機能を使ってAutoMLを使う
29
Qumicoフロントエンド Qumicoバックエンド
本スライドの写真 の作成者 不明な作成者 は CC BY-SA のライセンスを許諾されています
エッジデバイス
2.変換
1.学習
3.チューニング
4.デプロイ
量子化対応
学習済みモデル
TFLite
TFLite対応
AutoML
ONNX C
©2019 Pasona Tech, Inc. All Rights Reserved.
Qumicoによる変換
30
def tflite_to_onnx(tflite_path, output_path, flat_c_path, schema_path):
frontend = TFLiteFrontend()
frontend.convert_tflite_to_onnx(tflite_path=tflite_path,
flatc_path=flat_c_path,
schema_path=schema_path,
export_path=output_path)
ONNXへの変換はとても簡単
※現在開発中のため、リリース時には変更になる可能性があります。
tflite_path: tfliteファイル
flatc_path: 変換に使用するflatcコマンドへのパス
schema_path: flatbufの定義が記載されたschema.fbsへのパス
export_path: 出力ファイル名
©2019 Pasona Tech, Inc. All Rights Reserved.
Qumicoベンチマーク(Mobilenet)
31
• 変更なし(複数のTransposeが追加される)
– 0.28[sec]
• Transposeを削除
– 0.16[sec]
• Softmaxを削除
– 0.065[sec]
– クラス分類で最終OPのSoftmaxであるため、出力ラベルは変化なし
– 前後のDequantize, Quantizeも削除
• 参考:ONNX変換前の推論性能
– A社:0.030[sec]
– 条件:OpenMP有効、Neon有効
– (注:Pythonからの呼び出しのため、厳密なプロファイルではないです)
©2019 Pasona Tech, Inc. All Rights Reserved.
ベンチマーク(Mobilenet)
32
0
0.05
0.1
0.15
0.2
0.25
0.3
変更なし Trasnpose削除 Softmax削除 A社
1推論性能[sec]
Qumico(赤)
©2019 Pasona Tech, Inc. All Rights Reserved.
Qumicoデモ
33
©2019 Pasona Tech, Inc. All Rights Reserved.
今後のQumico
・量子化対応バージョンリリース
・対応ターゲットボードの拡張
・最適化/高速化の充実
・エッジ学習
34
©2019 Pasona Tech, Inc. All Rights Reserved.
会社紹介
35
©2019 Pasona Tech, Inc. All Rights Reserved.
パソナテックの取り組み(2019年~)
データエンジニアの育成
36
データエンジニアとは?
データの前処理を中心に、データサイエンティストの指示で、デー
タそのものを扱うエンジニア
©2019 Pasona Tech, Inc. All Rights Reserved.
AutoMLが作るこれからの開発体制予測
37
データサイエン
ティスト
データエンジニア
AIプロジェクトAIプロジェクト
Auto
ML
Auto
ML
Auto
ML
Auto
ML
AIプロジェクト AIプロジェクト AIプロジェクト AIプロジェクト
AutoMLが対応してい
ないタスクはデータサ
イエンティストが担当
AutoMLが対応しているタスクは、
AutoMLに入力するデータを用意する
データエンジニアがいれば良い
AIプロジェクトの数が、データサイエン
ティストに依存しないでスケールする。
©2019 Pasona Tech, Inc. All Rights Reserved.
パソナテックの取り組み(2019年~)
38
データエンジニアのスキルセットの標準化と育成コースの開発
画像用NNの基礎
画像フォーマットの基礎
画像処理ライブラリ、アルゴリズム
<annotation>
<filename>0001.jpg</filename>
<size> <width>302</width>
<height>402</height>
<depth>3</depth> </size>
<object>
<name>pencilcase</name>
<bndbox> <xmin>100</xmin>
<ymin>100</ymin>
<xmax>261</xmax>
<ymax>186</ymax>
</bndbox>
</object>
</annotation>
物体検出用データオーギュメ
ンテーション
XML、乱数処理、回転、拡
大、縮小、画像の合成
データエンジニア研修 基礎編:2019年6月開始
データエンジニア研修 実践編: 2019年9月開始
データエンジニア研修 応用編:2019年9月開始
©2019 Pasona Tech, Inc. All Rights Reserved.
エッジAIの難しいところ
39
データ
アノテー
ション
量子化
過学習
抑止
データ
水増し
前処理
プルーニ
ング
速度
UP
ハイパーパ
ラメータ
画像処理
フレーム
ワークPython
組込みC
学習環境
構築
データ
収拾
異常値除
去
筐体モデル
選択
サイズ
削減
放熱
アプリ
組込
電力
コスト
JOB HUB
データエンジニア
育成
Auto
ML
AI/IoT支援
サービス
組込エンジニア
育成
ODM
サービス
エッジAI開発の難しさをトータルでサポートします。
©2019 Pasona Tech, Inc. All Rights Reserved.
まとめ
40
今後、ますます重要になっていくエッジAIについて、パソナテックは以下
のサービスを提供します。
・データエンジニアの育成
・組込AIエンジニアの育成
・AI/IoT支援サービス
・ODMサービス
・Qumico開発
派遣、委託等、様々な形で開発リソースを提供いたします。
データの収集から、組込機器の開発まで、どのフェーズでもご相談くださ
い。
オンサイトトレーニング可能!
©2019 Pasona Tech, Inc. All Rights Reserved.
一緒に働く方を募集中
・急募(本社)
・Uターン希望者
関西、中部、福岡
・未経験からAIやりたい方
・グローバル人材(AI)
- 日本語を学びながら働きたい方
- For those who would like to learn Japanese while working.
- 日本での就業実績が欲しい人
- For those who are looking to gain work experience in Japan.
- 英語でコミュニケーションを取っているチームあります。
- For those who are looking for a team environment where both English and
Japanese can be used freely.
41
ご連絡ください mnatsutani@pasona.tech
©2019 Pasona Tech, Inc. All Rights Reserved.

Más contenido relacionado

La actualidad más candente

AutoMLとQumicoを使って、ラズパイでディープラーニングを動かす話
AutoMLとQumicoを使って、ラズパイでディープラーニングを動かす話AutoMLとQumicoを使って、ラズパイでディープラーニングを動かす話
AutoMLとQumicoを使って、ラズパイでディープラーニングを動かす話Rakuten Group, Inc.
 
Jakarta EE + MicroProfile, and our activities
Jakarta EE + MicroProfile, and our activitiesJakarta EE + MicroProfile, and our activities
Jakarta EE + MicroProfile, and our activitiesRakuten Group, Inc.
 
ボトムアップアプローチでのVRサービス立ち上げ / DeNA TechCon 2016
ボトムアップアプローチでのVRサービス立ち上げ / DeNA TechCon 2016ボトムアップアプローチでのVRサービス立ち上げ / DeNA TechCon 2016
ボトムアップアプローチでのVRサービス立ち上げ / DeNA TechCon 2016Takahiko Wada
 
エンジニア生存戦略
エンジニア生存戦略エンジニア生存戦略
エンジニア生存戦略Drecom Co., Ltd.
 
虎の穴ラボ エンジニア採用説明資料
虎の穴ラボ エンジニア採用説明資料虎の穴ラボ エンジニア採用説明資料
虎の穴ラボ エンジニア採用説明資料虎の穴 開発室
 
虎の穴ラボ エンジニア採用説明資料
虎の穴ラボ エンジニア採用説明資料 虎の穴ラボ エンジニア採用説明資料
虎の穴ラボ エンジニア採用説明資料 虎の穴 開発室
 
誰でもできるGoogleアシスタント開発
誰でもできるGoogleアシスタント開発誰でもできるGoogleアシスタント開発
誰でもできるGoogleアシスタント開発Namito Satoyama
 
ソフトウェアジャパン2018 ITフォーラムセッション(3)
ソフトウェアジャパン2018 ITフォーラムセッション(3)ソフトウェアジャパン2018 ITフォーラムセッション(3)
ソフトウェアジャパン2018 ITフォーラムセッション(3)aitc_jp
 
[CVPR2020読み会@CV勉強会] 3D Packing for Self-Supervised Monocular Depth Estimation
[CVPR2020読み会@CV勉強会] 3D Packing for Self-Supervised Monocular Depth Estimation[CVPR2020読み会@CV勉強会] 3D Packing for Self-Supervised Monocular Depth Estimation
[CVPR2020読み会@CV勉強会] 3D Packing for Self-Supervised Monocular Depth EstimationKazuyuki Miyazawa
 
オタクエンジニアを熱くさせる!モチベーションと効率をあげるチームビルディング_20210611_TechDay#1_3
オタクエンジニアを熱くさせる!モチベーションと効率をあげるチームビルディング_20210611_TechDay#1_3オタクエンジニアを熱くさせる!モチベーションと効率をあげるチームビルディング_20210611_TechDay#1_3
オタクエンジニアを熱くさせる!モチベーションと効率をあげるチームビルディング_20210611_TechDay#1_3虎の穴 開発室
 
【虎の穴ラボLT】非エンジニアにGASを教えた話(とらラボTech conference)
【虎の穴ラボLT】非エンジニアにGASを教えた話(とらラボTech conference)【虎の穴ラボLT】非エンジニアにGASを教えた話(とらラボTech conference)
【虎の穴ラボLT】非エンジニアにGASを教えた話(とらラボTech conference)虎の穴 開発室
 
Webエンジニアが学ぶ自動運転を支える技術
Webエンジニアが学ぶ自動運転を支える技術Webエンジニアが学ぶ自動運転を支える技術
Webエンジニアが学ぶ自動運転を支える技術Hideo Kimura
 
Cloud runのオートスケールを検証してみる
Cloud runのオートスケールを検証してみるCloud runのオートスケールを検証してみる
Cloud runのオートスケールを検証してみる虎の穴 開発室
 
CV分野での最近の脱○○系3選
CV分野での最近の脱○○系3選CV分野での最近の脱○○系3選
CV分野での最近の脱○○系3選Kazuyuki Miyazawa
 
Teslaにおけるコンピュータビジョン技術の調査
Teslaにおけるコンピュータビジョン技術の調査Teslaにおけるコンピュータビジョン技術の調査
Teslaにおけるコンピュータビジョン技術の調査Kazuyuki Miyazawa
 
オタクエンジニアを熱くさせる!モチベーションをあげるチームビルディング
オタクエンジニアを熱くさせる!モチベーションをあげるチームビルディングオタクエンジニアを熱くさせる!モチベーションをあげるチームビルディング
オタクエンジニアを熱くさせる!モチベーションをあげるチームビルディング虎の穴 開発室
 
社内DX推進!非エンジニア向けにプログラミング講座を実施してみた!
社内DX推進!非エンジニア向けにプログラミング講座を実施してみた!社内DX推進!非エンジニア向けにプログラミング講座を実施してみた!
社内DX推進!非エンジニア向けにプログラミング講座を実施してみた!虎の穴 開発室
 
虎の穴ラボ TechDay#3 フルリモート率100%!リモートワークを可能にするマネージメント
虎の穴ラボ TechDay#3 フルリモート率100%!リモートワークを可能にするマネージメント 虎の穴ラボ TechDay#3 フルリモート率100%!リモートワークを可能にするマネージメント
虎の穴ラボ TechDay#3 フルリモート率100%!リモートワークを可能にするマネージメント 虎の穴 開発室
 

La actualidad más candente (20)

AutoMLとQumicoを使って、ラズパイでディープラーニングを動かす話
AutoMLとQumicoを使って、ラズパイでディープラーニングを動かす話AutoMLとQumicoを使って、ラズパイでディープラーニングを動かす話
AutoMLとQumicoを使って、ラズパイでディープラーニングを動かす話
 
Jakarta EE + MicroProfile, and our activities
Jakarta EE + MicroProfile, and our activitiesJakarta EE + MicroProfile, and our activities
Jakarta EE + MicroProfile, and our activities
 
ボトムアップアプローチでのVRサービス立ち上げ / DeNA TechCon 2016
ボトムアップアプローチでのVRサービス立ち上げ / DeNA TechCon 2016ボトムアップアプローチでのVRサービス立ち上げ / DeNA TechCon 2016
ボトムアップアプローチでのVRサービス立ち上げ / DeNA TechCon 2016
 
エンジニア生存戦略
エンジニア生存戦略エンジニア生存戦略
エンジニア生存戦略
 
虎の穴ラボ エンジニア採用説明資料
虎の穴ラボ エンジニア採用説明資料虎の穴ラボ エンジニア採用説明資料
虎の穴ラボ エンジニア採用説明資料
 
虎の穴ラボ エンジニア採用説明資料
虎の穴ラボ エンジニア採用説明資料 虎の穴ラボ エンジニア採用説明資料
虎の穴ラボ エンジニア採用説明資料
 
Smfl20201001
Smfl20201001Smfl20201001
Smfl20201001
 
誰でもできるGoogleアシスタント開発
誰でもできるGoogleアシスタント開発誰でもできるGoogleアシスタント開発
誰でもできるGoogleアシスタント開発
 
ソフトウェアジャパン2018 ITフォーラムセッション(3)
ソフトウェアジャパン2018 ITフォーラムセッション(3)ソフトウェアジャパン2018 ITフォーラムセッション(3)
ソフトウェアジャパン2018 ITフォーラムセッション(3)
 
[CVPR2020読み会@CV勉強会] 3D Packing for Self-Supervised Monocular Depth Estimation
[CVPR2020読み会@CV勉強会] 3D Packing for Self-Supervised Monocular Depth Estimation[CVPR2020読み会@CV勉強会] 3D Packing for Self-Supervised Monocular Depth Estimation
[CVPR2020読み会@CV勉強会] 3D Packing for Self-Supervised Monocular Depth Estimation
 
オタクエンジニアを熱くさせる!モチベーションと効率をあげるチームビルディング_20210611_TechDay#1_3
オタクエンジニアを熱くさせる!モチベーションと効率をあげるチームビルディング_20210611_TechDay#1_3オタクエンジニアを熱くさせる!モチベーションと効率をあげるチームビルディング_20210611_TechDay#1_3
オタクエンジニアを熱くさせる!モチベーションと効率をあげるチームビルディング_20210611_TechDay#1_3
 
【虎の穴ラボLT】非エンジニアにGASを教えた話(とらラボTech conference)
【虎の穴ラボLT】非エンジニアにGASを教えた話(とらラボTech conference)【虎の穴ラボLT】非エンジニアにGASを教えた話(とらラボTech conference)
【虎の穴ラボLT】非エンジニアにGASを教えた話(とらラボTech conference)
 
Webエンジニアが学ぶ自動運転を支える技術
Webエンジニアが学ぶ自動運転を支える技術Webエンジニアが学ぶ自動運転を支える技術
Webエンジニアが学ぶ自動運転を支える技術
 
Cloud runのオートスケールを検証してみる
Cloud runのオートスケールを検証してみるCloud runのオートスケールを検証してみる
Cloud runのオートスケールを検証してみる
 
AWS Proton を使ってみた
AWS Proton を使ってみたAWS Proton を使ってみた
AWS Proton を使ってみた
 
CV分野での最近の脱○○系3選
CV分野での最近の脱○○系3選CV分野での最近の脱○○系3選
CV分野での最近の脱○○系3選
 
Teslaにおけるコンピュータビジョン技術の調査
Teslaにおけるコンピュータビジョン技術の調査Teslaにおけるコンピュータビジョン技術の調査
Teslaにおけるコンピュータビジョン技術の調査
 
オタクエンジニアを熱くさせる!モチベーションをあげるチームビルディング
オタクエンジニアを熱くさせる!モチベーションをあげるチームビルディングオタクエンジニアを熱くさせる!モチベーションをあげるチームビルディング
オタクエンジニアを熱くさせる!モチベーションをあげるチームビルディング
 
社内DX推進!非エンジニア向けにプログラミング講座を実施してみた!
社内DX推進!非エンジニア向けにプログラミング講座を実施してみた!社内DX推進!非エンジニア向けにプログラミング講座を実施してみた!
社内DX推進!非エンジニア向けにプログラミング講座を実施してみた!
 
虎の穴ラボ TechDay#3 フルリモート率100%!リモートワークを可能にするマネージメント
虎の穴ラボ TechDay#3 フルリモート率100%!リモートワークを可能にするマネージメント 虎の穴ラボ TechDay#3 フルリモート率100%!リモートワークを可能にするマネージメント
虎の穴ラボ TechDay#3 フルリモート率100%!リモートワークを可能にするマネージメント
 

Similar a AutoMLとQumicoを使って、ラズパイでディープラーニングを動かす話

DLモデル開発中の雑務が嫌で支援プラットフォームを作った話
DLモデル開発中の雑務が嫌で支援プラットフォームを作った話DLモデル開発中の雑務が嫌で支援プラットフォームを作った話
DLモデル開発中の雑務が嫌で支援プラットフォームを作った話Kamonohashi
 
FPGA, AI, エッジコンピューティング
FPGA, AI, エッジコンピューティングFPGA, AI, エッジコンピューティング
FPGA, AI, エッジコンピューティングHideo Terada
 
DLLAB Engineer Days:AIチームが履歴やリソース管理で疲弊してたので開発基盤作ってOSS化した話
DLLAB Engineer Days:AIチームが履歴やリソース管理で疲弊してたので開発基盤作ってOSS化した話DLLAB Engineer Days:AIチームが履歴やリソース管理で疲弊してたので開発基盤作ってOSS化した話
DLLAB Engineer Days:AIチームが履歴やリソース管理で疲弊してたので開発基盤作ってOSS化した話Kamonohashi
 
A3RT - the details and actual use cases of "Analytics & Artificial intelligen...
A3RT - the details and actual use cases of "Analytics & Artificial intelligen...A3RT - the details and actual use cases of "Analytics & Artificial intelligen...
A3RT - the details and actual use cases of "Analytics & Artificial intelligen...DataWorks Summit/Hadoop Summit
 
A3RT -The details and actual use cases of“Analytics & Artificial intelligence...
A3RT -The details and actual use cases of“Analytics & Artificial intelligence...A3RT -The details and actual use cases of“Analytics & Artificial intelligence...
A3RT -The details and actual use cases of“Analytics & Artificial intelligence...Recruit Technologies
 
SORACOM Conference "Discovery" 2018 | E2. IoTにおけるPoC成功の秘訣
SORACOM Conference "Discovery" 2018 | E2. IoTにおけるPoC成功の秘訣SORACOM Conference "Discovery" 2018 | E2. IoTにおけるPoC成功の秘訣
SORACOM Conference "Discovery" 2018 | E2. IoTにおけるPoC成功の秘訣SORACOM,INC
 
K8s-icp-capsmalt-jjugccc2018spring
K8s-icp-capsmalt-jjugccc2018springK8s-icp-capsmalt-jjugccc2018spring
K8s-icp-capsmalt-jjugccc2018springcapsmalt
 
Participation report of data stax accelerate 2019
Participation report of data stax accelerate 2019Participation report of data stax accelerate 2019
Participation report of data stax accelerate 2019MKT-INTHEFOREST
 
タクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみた
タクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみたタクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみた
タクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみたTetsutaro Watanabe
 
AWSとGPUインスタンスのご紹介
AWSとGPUインスタンスのご紹介AWSとGPUインスタンスのご紹介
AWSとGPUインスタンスのご紹介Yasuhiro Matsuo
 
Struggling with BIGDATA -リクルートおけるデータサイエンス/エンジニアリング-
Struggling with BIGDATA -リクルートおけるデータサイエンス/エンジニアリング-Struggling with BIGDATA -リクルートおけるデータサイエンス/エンジニアリング-
Struggling with BIGDATA -リクルートおけるデータサイエンス/エンジニアリング-Recruit Technologies
 
ACRi panel_discussion_xilinx_hayashida_rev1.0
ACRi panel_discussion_xilinx_hayashida_rev1.0ACRi panel_discussion_xilinx_hayashida_rev1.0
ACRi panel_discussion_xilinx_hayashida_rev1.0直久 住川
 
<インフラ管理者向け>チームでのAI開発を支援するAI開発プラットフォームKAMONOHASHI
<インフラ管理者向け>チームでのAI開発を支援するAI開発プラットフォームKAMONOHASHI<インフラ管理者向け>チームでのAI開発を支援するAI開発プラットフォームKAMONOHASHI
<インフラ管理者向け>チームでのAI開発を支援するAI開発プラットフォームKAMONOHASHIKamonohashi
 
Logicadの秒間16万リクエストをさばく広告入札システムにおける、gRPCの活用事例
Logicadの秒間16万リクエストをさばく広告入札システムにおける、gRPCの活用事例Logicadの秒間16万リクエストをさばく広告入札システムにおける、gRPCの活用事例
Logicadの秒間16万リクエストをさばく広告入札システムにおける、gRPCの活用事例Hironobu Isoda
 
Spring Boot × Vue.jsでSPAを作る
Spring Boot × Vue.jsでSPAを作るSpring Boot × Vue.jsでSPAを作る
Spring Boot × Vue.jsでSPAを作るGo Miyasaka
 
Singularity Containers for Enterprise Use
Singularity Containers for Enterprise UseSingularity Containers for Enterprise Use
Singularity Containers for Enterprise UseAtsutoHashimoto
 
Aws cloud roadshow 2015 Nagoya - Taku Harako
Aws cloud roadshow 2015 Nagoya - Taku HarakoAws cloud roadshow 2015 Nagoya - Taku Harako
Aws cloud roadshow 2015 Nagoya - Taku HarakoTaku Harako
 

Similar a AutoMLとQumicoを使って、ラズパイでディープラーニングを動かす話 (20)

DLモデル開発中の雑務が嫌で支援プラットフォームを作った話
DLモデル開発中の雑務が嫌で支援プラットフォームを作った話DLモデル開発中の雑務が嫌で支援プラットフォームを作った話
DLモデル開発中の雑務が嫌で支援プラットフォームを作った話
 
FPGA, AI, エッジコンピューティング
FPGA, AI, エッジコンピューティングFPGA, AI, エッジコンピューティング
FPGA, AI, エッジコンピューティング
 
DLLAB Engineer Days:AIチームが履歴やリソース管理で疲弊してたので開発基盤作ってOSS化した話
DLLAB Engineer Days:AIチームが履歴やリソース管理で疲弊してたので開発基盤作ってOSS化した話DLLAB Engineer Days:AIチームが履歴やリソース管理で疲弊してたので開発基盤作ってOSS化した話
DLLAB Engineer Days:AIチームが履歴やリソース管理で疲弊してたので開発基盤作ってOSS化した話
 
A3RT - the details and actual use cases of "Analytics & Artificial intelligen...
A3RT - the details and actual use cases of "Analytics & Artificial intelligen...A3RT - the details and actual use cases of "Analytics & Artificial intelligen...
A3RT - the details and actual use cases of "Analytics & Artificial intelligen...
 
A3RT -The details and actual use cases of“Analytics & Artificial intelligence...
A3RT -The details and actual use cases of“Analytics & Artificial intelligence...A3RT -The details and actual use cases of“Analytics & Artificial intelligence...
A3RT -The details and actual use cases of“Analytics & Artificial intelligence...
 
SORACOM Conference "Discovery" 2018 | E2. IoTにおけるPoC成功の秘訣
SORACOM Conference "Discovery" 2018 | E2. IoTにおけるPoC成功の秘訣SORACOM Conference "Discovery" 2018 | E2. IoTにおけるPoC成功の秘訣
SORACOM Conference "Discovery" 2018 | E2. IoTにおけるPoC成功の秘訣
 
K8s-icp-capsmalt-jjugccc2018spring
K8s-icp-capsmalt-jjugccc2018springK8s-icp-capsmalt-jjugccc2018spring
K8s-icp-capsmalt-jjugccc2018spring
 
Participation report of data stax accelerate 2019
Participation report of data stax accelerate 2019Participation report of data stax accelerate 2019
Participation report of data stax accelerate 2019
 
タクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみた
タクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみたタクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみた
タクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみた
 
AWSとGPUインスタンスのご紹介
AWSとGPUインスタンスのご紹介AWSとGPUインスタンスのご紹介
AWSとGPUインスタンスのご紹介
 
Struggling with BIGDATA -リクルートおけるデータサイエンス/エンジニアリング-
Struggling with BIGDATA -リクルートおけるデータサイエンス/エンジニアリング-Struggling with BIGDATA -リクルートおけるデータサイエンス/エンジニアリング-
Struggling with BIGDATA -リクルートおけるデータサイエンス/エンジニアリング-
 
ACRi panel_discussion_xilinx_hayashida_rev1.0
ACRi panel_discussion_xilinx_hayashida_rev1.0ACRi panel_discussion_xilinx_hayashida_rev1.0
ACRi panel_discussion_xilinx_hayashida_rev1.0
 
NIFcLab Tech Laboratoryはじめます(もうすぐ)
NIFcLab Tech Laboratoryはじめます(もうすぐ)NIFcLab Tech Laboratoryはじめます(もうすぐ)
NIFcLab Tech Laboratoryはじめます(もうすぐ)
 
<インフラ管理者向け>チームでのAI開発を支援するAI開発プラットフォームKAMONOHASHI
<インフラ管理者向け>チームでのAI開発を支援するAI開発プラットフォームKAMONOHASHI<インフラ管理者向け>チームでのAI開発を支援するAI開発プラットフォームKAMONOHASHI
<インフラ管理者向け>チームでのAI開発を支援するAI開発プラットフォームKAMONOHASHI
 
Logicadの秒間16万リクエストをさばく広告入札システムにおける、gRPCの活用事例
Logicadの秒間16万リクエストをさばく広告入札システムにおける、gRPCの活用事例Logicadの秒間16万リクエストをさばく広告入札システムにおける、gRPCの活用事例
Logicadの秒間16万リクエストをさばく広告入札システムにおける、gRPCの活用事例
 
Spring Boot × Vue.jsでSPAを作る
Spring Boot × Vue.jsでSPAを作るSpring Boot × Vue.jsでSPAを作る
Spring Boot × Vue.jsでSPAを作る
 
Singularity Containers for Enterprise Use
Singularity Containers for Enterprise UseSingularity Containers for Enterprise Use
Singularity Containers for Enterprise Use
 
AutoTVM紹介
AutoTVM紹介AutoTVM紹介
AutoTVM紹介
 
Aws cloud roadshow 2015 Nagoya - Taku Harako
Aws cloud roadshow 2015 Nagoya - Taku HarakoAws cloud roadshow 2015 Nagoya - Taku Harako
Aws cloud roadshow 2015 Nagoya - Taku Harako
 
Smart tag firststep
Smart tag firststepSmart tag firststep
Smart tag firststep
 

Más de Natsutani Minoru

Más de Natsutani Minoru (20)

robotics42.pptx
robotics42.pptxrobotics42.pptx
robotics42.pptx
 
TFLiteのグラフ構造について
TFLiteのグラフ構造についてTFLiteのグラフ構造について
TFLiteのグラフ構造について
 
ML meetup20190327
ML meetup20190327ML meetup20190327
ML meetup20190327
 
Kyoto dev caffe
Kyoto dev caffeKyoto dev caffe
Kyoto dev caffe
 
Kof
KofKof
Kof
 
Tfug20181105
Tfug20181105Tfug20181105
Tfug20181105
 
Nagosta 20181020
Nagosta 20181020Nagosta 20181020
Nagosta 20181020
 
Road damge ai
Road damge aiRoad damge ai
Road damge ai
 
パソナテックのAI人材育成の取り組みのご紹介
パソナテックのAI人材育成の取り組みのご紹介パソナテックのAI人材育成の取り組みのご紹介
パソナテックのAI人材育成の取り組みのご紹介
 
Fpgax20180217
Fpgax20180217Fpgax20180217
Fpgax20180217
 
なにわテック20180127
なにわテック20180127なにわテック20180127
なにわテック20180127
 
組込向けDeep Learning最新技術の紹介 量子化テクニックとDorefaNetについて
組込向けDeep Learning最新技術の紹介量子化テクニックとDorefaNetについて組込向けDeep Learning最新技術の紹介量子化テクニックとDorefaNetについて
組込向けDeep Learning最新技術の紹介 量子化テクニックとDorefaNetについて
 
コキュートスDsf
コキュートスDsfコキュートスDsf
コキュートスDsf
 
Fpgax20170924
Fpgax20170924Fpgax20170924
Fpgax20170924
 
コキュートスSwest19
コキュートスSwest19コキュートスSwest19
コキュートスSwest19
 
Tfug kansai vol3
Tfug kansai vol3Tfug kansai vol3
Tfug kansai vol3
 
Tfug kansai vol2
Tfug kansai vol2Tfug kansai vol2
Tfug kansai vol2
 
Tfug kansai vol1
Tfug kansai vol1Tfug kansai vol1
Tfug kansai vol1
 
コキュートスTfug
コキュートスTfugコキュートスTfug
コキュートスTfug
 
なにわTech20170218(tpu) tfug
なにわTech20170218(tpu) tfugなにわTech20170218(tpu) tfug
なにわTech20170218(tpu) tfug
 

AutoMLとQumicoを使って、ラズパイでディープラーニングを動かす話

  • 1. ©2019 Pasona Tech, Inc. All Rights Reserved. AutoMLとQumicoを使って、ラズパイでディープラーニングを動かす 話 株式会社パソナテック IoEソリューション事業部 AIプロダクトグループ Qumicoプロダクトマネージャ 夏谷 2019/11/8
  • 2. ©2019 Pasona Tech, Inc. All Rights Reserved. 2 目次 自己紹介 AIのトレンド エッジAI Qumicoの紹介 アーキテクチャ AutoMLからエッジAIへ 会社紹介 ONNX AutoML 量子化の実装
  • 3. ©2019 Pasona Tech, Inc. All Rights Reserved. 自己紹介 3
  • 4. ©2019 Pasona Tech, Inc. All Rights Reserved. 自己紹介 4 株式会社パソナテック IoEソリューション事業部 AIプロダクトグループ Qumico Product Manager 夏谷 実 FPGAやLSIの画像処理から、Deep Learningの世界に入る。プログラミングが好き 昨年よりQumicoのプロダクトマネージャに就任。大阪と東京と半々くらいで、昨年は名古屋にも通う TensorFlow Users Group KANSAIHatena id: natsutan Qiita id: natsutan 2019/9/25 https://qiita.com/natsutan 2019/9/25 https://tfug-kansai.connpass.com/event/146442/2019/9/25 http://natsutan.hatenablog.com/
  • 5. ©2019 Pasona Tech, Inc. All Rights Reserved. AIのトレンド 5 エッジAI, ONNX, AutoML
  • 6. ©2019 Pasona Tech, Inc. All Rights Reserved. エッジAIとは 6 よくあるAIを使ったサービス例 どこかにあるGPU搭載サーバー 日:エッジAIの技術に注目しています。 英:We are focusing on edge AI technology. AI 同じようなアーキテクチャ ・画像の仕分け ・商品の推薦 ・買い取り価格の見積もり ・商品のカテゴリー分け
  • 7. ©2019 Pasona Tech, Inc. All Rights Reserved. エッジAIとは 7 https://www.irasutoya.com/2014/10/blog-post_185.html https://www.irasutoya.com/2013/01/blog-post_7571.html エッジAIのイメージ AI AI 不審者 を発見 部屋に人が多いから 出力を上げよう AIを処理するサーバーが無く、それぞれの装置がAIを搭載する。 誰もいないから風 力を落として節電
  • 8. ©2019 Pasona Tech, Inc. All Rights Reserved. なぜエッジAIが必要なのか 8 物体検出 https://www.irasutoya.com/2014/10/blog-post_185.html VS サーバー AI 全ての映像をサーバーに送るアーキテクチャ AI エッジAIを使ったアーキテクチャ AI AI ・・・・・ AI ・・・・・ 物体検出 物体検出 物体検出 物体検出 物体検出した結 果だけを送信 ・レイテンシー ◎ ・通信量 ◎ ・消費電力 〇
  • 9. ©2019 Pasona Tech, Inc. All Rights Reserved. エッジAIを使う理由 ・自動運転等、応答速度が非常に重要なケース ・コストが重要なケース ・通信環境が悪くても動く必要があるケース ・プライバシーを守りたいケース 9 世の中にAIが普及するにつれ、エッジAIの重要性も増えていく
  • 10. ©2019 Pasona Tech, Inc. All Rights Reserved. 業界標準フォーマットONNX 10 Open Neural Network Exchange(ONNX) Microsoftの資料から引用 https://static.sched.com/hosted_files/linaroconnectsandiego/83/O NNX%20%26%20ONNX%20Runtime%20-%20SAN19-211.pdf 2019/9/25 それぞれのフレームワークが、ONNXファイル の入出力をサポート ONNXの実行(推論)環境 ONNX runtime
  • 11. ©2019 Pasona Tech, Inc. All Rights Reserved. ONNXフォーマット 11 Netronで可視化 • Model • Version info • Metadata • Graph • Graph • Inputs and Outputs • Graph name • Computational nodes • Computational Graph • Operator • Operator Parameter • Inputs and Outputs 中身はProtocol Buffers APIが用意されているPythonだけでなくRust等でも操作可能
  • 12. ©2019 Pasona Tech, Inc. All Rights Reserved. Auto MLとは 12 ・Automated Machine Learningの略 ・自動的に機械学習のハイパーパラ メータを設定しパフォーマンスを上 げる技術。NAS(Neural Architecture Search)と呼ばれるNN アーキテクチャの探索も含む。 ・GoogleがCloud上でAuto MLを使え るようにしたのが「Cloud AutoML」 と呼ばれるサービス。Auto MLと言 った時にCloud AutoMLを指すことが 多い。 NASの例 input output input output input output CELL CELL
  • 13. ©2019 Pasona Tech, Inc. All Rights Reserved. Could AutoMLの実力 13 https://developers-jp.googleblog.com/2019/07/efficientnet-automl- google.html 画像の識別に関しては、素人では絶対に勝てない 識別 物体検出 だいたい6万円くらいで、2016年末の最先端 (YOLO v2)に近い数字 Cloud AutoMLが対応しているタスクならAutoMLを使いたい。
  • 14. ©2019 Pasona Tech, Inc. All Rights Reserved. AutoML 14 2019/9/30 https://research.preferred.jp/2018/12/optuna- release/ PFN Optuna Sony Prediction One Amazon Forecast 2019/9/30 https://aws.amazon.com/jp/forecast/ 2019/9/30 https://predictionone.sony.biz/about/feature/
  • 15. ©2019 Pasona Tech, Inc. All Rights Reserved. Qumicoの紹介 15
  • 16. ©2019 Pasona Tech, Inc. All Rights Reserved. Qumicoとは 16 • 目的 – ディープラーニングの学習結果をエッジデバイス向けにC言語変換 • OSレス環境での利用も想定 – 出力:標準C(その他依存のライブラリなし) – IR:ONNXに準拠 • 弊社内製 • オープンソースとして公開(MITライセンス) – https://github.com/PasonaTech-Inc/Qumico
  • 17. ©2019 Pasona Tech, Inc. All Rights Reserved. Qumico Architecture 17 ONNX Qumico Frontend Qumico Backend Tensorflow TFLite Keras C Source - Neon support - OpenMP ・Convert ・Graph Optimize ・Weight Extract ・Check ・Memory Allocate ・Control Flow ・API function ・Device Specific Optimize Intermediate Representation IR • フロントエンド – 各種DLフレームワークの学習モデルをONNXに変換する – 例:TensorFlowの学習済みモデルをONNXに変換 • バックエンド – ONNXをC言語に変換する
  • 18. ©2019 Pasona Tech, Inc. All Rights Reserved. Three Stage Compiler 18 2019/10/5 https://en.wikipedia.org/wiki/Compiler スタンダードな3stage コンパイラの構成を踏襲 Wikipediaより 文法チェック IRへ変換 IRの最適化 ターゲット向け最適化 Intermediate Representation IR
  • 19. ©2019 Pasona Tech, Inc. All Rights Reserved. Idein 19 Practical Developers ――機械学習時代のソフトウェア開発 [ゲームアプリ/インフラ/エッジ編] P91 図3
  • 20. ©2019 Pasona Tech, Inc. All Rights Reserved. PFN Chainer-compiler 20 2019/10/1 https://www.slideshare.net/pfi/da2019traininginferencehwsw-hare DAシンポジウム2019招待講 演「深層学習モデルの高速な Training/Inferenceのための HW/SW技術」 P44
  • 21. ©2019 Pasona Tech, Inc. All Rights Reserved. Qumicoの特徴 21
  • 22. ©2019 Pasona Tech, Inc. All Rights Reserved. 開発の流れ(例) 22 Qumicoフロントエンド Qumicoバックエンド 本スライドの写真 の作成者 不明な作成者 は CC BY-SA のライセンスを許諾されています エッジデバイス 2.変換 1.学習 3.チューニング 4.デプロイ チューニング ・CPUコア ・SIMD ・GPU ・メモリアライメント 等 学習済みモデル 計算グラフ最適化 TensorFlow ONNX C
  • 23. ©2019 Pasona Tech, Inc. All Rights Reserved. Qumico 新機能 Cloud AutoML カメラ+ラズベリーパイ AutoMLで学習したモデルが、Qumicoを使ってエッジで動く - ニューラルネットワークの知識不要 - 組込の知識不要
  • 24. ©2019 Pasona Tech, Inc. All Rights Reserved. 量子化 https://www.slideshare.net/insideHPC/beating-floating-point-at-its-own-game-posit-arithmetic DLは10^(-4)~10^2くらいしかでてこない FP16 max 6万程度fp32 浮動小数点数フォーマットのおさらい 指数部 仮数部
  • 25. ©2019 Pasona Tech, Inc. All Rights Reserved. 量子化 25 Qumicoを使ってTFLiteをONNXへ変 換した結果を可視化 ・Cloud AutoMLをエッジ用に学習するとTFLite のフォーマットでダウンロードできる。 ・TFLiteの中身はFlatbufferで、エッジデバイス 向けに最適化されている。 ・データは8bitに量子化されていて、量子化専用 の演算(オペレータ)が必要。 ・量子化のパラメータは二つ - scale - zero_point
  • 26. ©2019 Pasona Tech, Inc. All Rights Reserved. 量子化の計算式 26 𝑥𝑞 = 𝑠𝑎𝑡𝑢𝑟𝑒 𝑥 𝑠𝑐𝑎𝑙𝑒 + 𝑧𝑒𝑟𝑜_𝑝𝑜𝑖𝑛𝑡 xを量子化前の値、xqを量子化された値としたときの関係式 Qumicoが出力する量子化の場合は、xqがuint8なので、0- 255の値をとる。計算の結果、xqが負の値になった時は0に、 255を超えたときは255の範囲に飽和(clip)される。
  • 27. ©2019 Pasona Tech, Inc. All Rights Reserved. AutoMLが出力するNN例(識別) 27 input output ADD conv2d conv2d conv2d Depth Width Conv2dd
  • 28. ©2019 Pasona Tech, Inc. All Rights Reserved. AutoMLが出力するNN(物体検出) 28 2019/10/4 http://natsutan.hatenablog.com/entry/2019/09/23/125835 NAS(Neural Architecture Search) をしているようで、非常に複雑な構 成になっています。
  • 29. ©2019 Pasona Tech, Inc. All Rights Reserved. Qumicoの新機能を使ってAutoMLを使う 29 Qumicoフロントエンド Qumicoバックエンド 本スライドの写真 の作成者 不明な作成者 は CC BY-SA のライセンスを許諾されています エッジデバイス 2.変換 1.学習 3.チューニング 4.デプロイ 量子化対応 学習済みモデル TFLite TFLite対応 AutoML ONNX C
  • 30. ©2019 Pasona Tech, Inc. All Rights Reserved. Qumicoによる変換 30 def tflite_to_onnx(tflite_path, output_path, flat_c_path, schema_path): frontend = TFLiteFrontend() frontend.convert_tflite_to_onnx(tflite_path=tflite_path, flatc_path=flat_c_path, schema_path=schema_path, export_path=output_path) ONNXへの変換はとても簡単 ※現在開発中のため、リリース時には変更になる可能性があります。 tflite_path: tfliteファイル flatc_path: 変換に使用するflatcコマンドへのパス schema_path: flatbufの定義が記載されたschema.fbsへのパス export_path: 出力ファイル名
  • 31. ©2019 Pasona Tech, Inc. All Rights Reserved. Qumicoベンチマーク(Mobilenet) 31 • 変更なし(複数のTransposeが追加される) – 0.28[sec] • Transposeを削除 – 0.16[sec] • Softmaxを削除 – 0.065[sec] – クラス分類で最終OPのSoftmaxであるため、出力ラベルは変化なし – 前後のDequantize, Quantizeも削除 • 参考:ONNX変換前の推論性能 – A社:0.030[sec] – 条件:OpenMP有効、Neon有効 – (注:Pythonからの呼び出しのため、厳密なプロファイルではないです)
  • 32. ©2019 Pasona Tech, Inc. All Rights Reserved. ベンチマーク(Mobilenet) 32 0 0.05 0.1 0.15 0.2 0.25 0.3 変更なし Trasnpose削除 Softmax削除 A社 1推論性能[sec] Qumico(赤)
  • 33. ©2019 Pasona Tech, Inc. All Rights Reserved. Qumicoデモ 33
  • 34. ©2019 Pasona Tech, Inc. All Rights Reserved. 今後のQumico ・量子化対応バージョンリリース ・対応ターゲットボードの拡張 ・最適化/高速化の充実 ・エッジ学習 34
  • 35. ©2019 Pasona Tech, Inc. All Rights Reserved. 会社紹介 35
  • 36. ©2019 Pasona Tech, Inc. All Rights Reserved. パソナテックの取り組み(2019年~) データエンジニアの育成 36 データエンジニアとは? データの前処理を中心に、データサイエンティストの指示で、デー タそのものを扱うエンジニア
  • 37. ©2019 Pasona Tech, Inc. All Rights Reserved. AutoMLが作るこれからの開発体制予測 37 データサイエン ティスト データエンジニア AIプロジェクトAIプロジェクト Auto ML Auto ML Auto ML Auto ML AIプロジェクト AIプロジェクト AIプロジェクト AIプロジェクト AutoMLが対応してい ないタスクはデータサ イエンティストが担当 AutoMLが対応しているタスクは、 AutoMLに入力するデータを用意する データエンジニアがいれば良い AIプロジェクトの数が、データサイエン ティストに依存しないでスケールする。
  • 38. ©2019 Pasona Tech, Inc. All Rights Reserved. パソナテックの取り組み(2019年~) 38 データエンジニアのスキルセットの標準化と育成コースの開発 画像用NNの基礎 画像フォーマットの基礎 画像処理ライブラリ、アルゴリズム <annotation> <filename>0001.jpg</filename> <size> <width>302</width> <height>402</height> <depth>3</depth> </size> <object> <name>pencilcase</name> <bndbox> <xmin>100</xmin> <ymin>100</ymin> <xmax>261</xmax> <ymax>186</ymax> </bndbox> </object> </annotation> 物体検出用データオーギュメ ンテーション XML、乱数処理、回転、拡 大、縮小、画像の合成 データエンジニア研修 基礎編:2019年6月開始 データエンジニア研修 実践編: 2019年9月開始 データエンジニア研修 応用編:2019年9月開始
  • 39. ©2019 Pasona Tech, Inc. All Rights Reserved. エッジAIの難しいところ 39 データ アノテー ション 量子化 過学習 抑止 データ 水増し 前処理 プルーニ ング 速度 UP ハイパーパ ラメータ 画像処理 フレーム ワークPython 組込みC 学習環境 構築 データ 収拾 異常値除 去 筐体モデル 選択 サイズ 削減 放熱 アプリ 組込 電力 コスト JOB HUB データエンジニア 育成 Auto ML AI/IoT支援 サービス 組込エンジニア 育成 ODM サービス エッジAI開発の難しさをトータルでサポートします。
  • 40. ©2019 Pasona Tech, Inc. All Rights Reserved. まとめ 40 今後、ますます重要になっていくエッジAIについて、パソナテックは以下 のサービスを提供します。 ・データエンジニアの育成 ・組込AIエンジニアの育成 ・AI/IoT支援サービス ・ODMサービス ・Qumico開発 派遣、委託等、様々な形で開発リソースを提供いたします。 データの収集から、組込機器の開発まで、どのフェーズでもご相談くださ い。 オンサイトトレーニング可能!
  • 41. ©2019 Pasona Tech, Inc. All Rights Reserved. 一緒に働く方を募集中 ・急募(本社) ・Uターン希望者 関西、中部、福岡 ・未経験からAIやりたい方 ・グローバル人材(AI) - 日本語を学びながら働きたい方 - For those who would like to learn Japanese while working. - 日本での就業実績が欲しい人 - For those who are looking to gain work experience in Japan. - 英語でコミュニケーションを取っているチームあります。 - For those who are looking for a team environment where both English and Japanese can be used freely. 41 ご連絡ください mnatsutani@pasona.tech
  • 42. ©2019 Pasona Tech, Inc. All Rights Reserved.

Notas del editor

  1. ・元々画像処理のバックグランドがあって、画像処理のアルゴリズムの一つとしてDLに興味を持った ・2016年の、GDG Kobeでテンサーフローの話を聞いて、そこからとりこになってます。 ・DLは実際難しく、日々勉強。特に、手法がすぐ古くなる。 ・最近は後で説明するAutoML(AIがAIを作る)技術に注目と期待をしています。 ・QiitaではONNXの最適化記事を書いてました。
  2. 5分
  3. これは、よくあるアーキテクチャ。 ブラウザやスマホで翻訳サイトを開いて、翻訳したい文章を入れると、翻訳結果が返ってきます。 他の説明もゆっくり
  4. ここからゆっくり! エッジというのは、クラウドから見た端っこ。だからエッジ。 従来は組込機器と呼ばれていたり、最近はIoT機器とか呼ばれているもの。 これにAIを乗せるのがエッジAI。 のりやすい家電。10W切ってる
  5. AIがどこで動いているか
  6. 15分 エッジAIを実際に使うケースでの具体的な例を説明します。 まずは、自動運転。車以外にもいろいろ自動運転があるんですが、カメラからくるデータを全部送って、結果を待っている間に事故がおきちゃう可能性があります。 レイテンシー、つまり反応速度を確保するためにはエッジでAIを動かす必要があります。 コスト面でいうと、GPUのような高価な
  7. 僕も書いたことがある。
  8. ONNXの話を閉める 15分
  9. Cloud AutoML以外は後で説明
  10. ここでAutoMLの画面を見せて説明 PythonやTensorFlowを一切書かなくてもOK データの水増しもやってくれる
  11. 25分
  12. 35分