SlideShare une entreprise Scribd logo
1  sur  41
Télécharger pour lire hors ligne
©2019 Pasona Tech, Inc. All Rights Reserved.
AutoMLとQumicoを使って、ラズパイでディープラーニングを動かす
話
株式会社パソナテック
IoEソリューション事業部 AIプロダクトグループ
Qumicoプロダクトマネージャ
夏谷
2019/11/9
©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 Ourputs
中身は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.

Contenu connexe

Tendances

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
 
誰でもできるGoogleアシスタント開発
誰でもできるGoogleアシスタント開発誰でもできるGoogleアシスタント開発
誰でもできるGoogleアシスタント開発Namito Satoyama
 
エンジニア生存戦略
エンジニア生存戦略エンジニア生存戦略
エンジニア生存戦略Drecom Co., Ltd.
 
虎の穴ラボ エンジニア採用説明資料
虎の穴ラボ エンジニア採用説明資料虎の穴ラボ エンジニア採用説明資料
虎の穴ラボ エンジニア採用説明資料虎の穴 開発室
 
Webエンジニアが学ぶ自動運転を支える技術
Webエンジニアが学ぶ自動運転を支える技術Webエンジニアが学ぶ自動運転を支える技術
Webエンジニアが学ぶ自動運転を支える技術Hideo Kimura
 
虎の穴ラボ エンジニア採用説明資料
虎の穴ラボ エンジニア採用説明資料 虎の穴ラボ エンジニア採用説明資料
虎の穴ラボ エンジニア採用説明資料 虎の穴 開発室
 
Cloud runのオートスケールを検証してみる
Cloud runのオートスケールを検証してみるCloud runのオートスケールを検証してみる
Cloud runのオートスケールを検証してみる虎の穴 開発室
 
オタクエンジニアを熱くさせる!モチベーションと効率をあげるチームビルディング_20210611_TechDay#1_3
オタクエンジニアを熱くさせる!モチベーションと効率をあげるチームビルディング_20210611_TechDay#1_3オタクエンジニアを熱くさせる!モチベーションと効率をあげるチームビルディング_20210611_TechDay#1_3
オタクエンジニアを熱くさせる!モチベーションと効率をあげるチームビルディング_20210611_TechDay#1_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 EstimationKazuyuki Miyazawa
 
DIVE INTO WORK 就業説明会のご案内
DIVE INTO WORK 就業説明会のご案内DIVE INTO WORK 就業説明会のご案内
DIVE INTO WORK 就業説明会のご案内DIVE INTO CODE Corp.
 
Teslaにおけるコンピュータビジョン技術の調査
Teslaにおけるコンピュータビジョン技術の調査Teslaにおけるコンピュータビジョン技術の調査
Teslaにおけるコンピュータビジョン技術の調査Kazuyuki Miyazawa
 
オタクエンジニアを熱くさせる!モチベーションをあげるチームビルディング
オタクエンジニアを熱くさせる!モチベーションをあげるチームビルディングオタクエンジニアを熱くさせる!モチベーションをあげるチームビルディング
オタクエンジニアを熱くさせる!モチベーションをあげるチームビルディング虎の穴 開発室
 
Yahoo!ニュースにおけるBFFパフォーマンスチューニング事例
Yahoo!ニュースにおけるBFFパフォーマンスチューニング事例Yahoo!ニュースにおけるBFFパフォーマンスチューニング事例
Yahoo!ニュースにおけるBFFパフォーマンスチューニング事例Yahoo!デベロッパーネットワーク
 
20191228_jaws-ug_okayama-2019_winter
20191228_jaws-ug_okayama-2019_winter20191228_jaws-ug_okayama-2019_winter
20191228_jaws-ug_okayama-2019_winterTakeshi Furusato
 
【Unite Tokyo 2018】VR空間構築ソリューション『NEUTRANS』開発の裏側
【Unite Tokyo 2018】VR空間構築ソリューション『NEUTRANS』開発の裏側【Unite Tokyo 2018】VR空間構築ソリューション『NEUTRANS』開発の裏側
【Unite Tokyo 2018】VR空間構築ソリューション『NEUTRANS』開発の裏側UnityTechnologiesJapan002
 
最新アドテク×Java script実践活用術
最新アドテク×Java script実践活用術最新アドテク×Java script実践活用術
最新アドテク×Java script実践活用術Nagao Shun
 
Developers summit2015 開発者は足を動かそう!〜自分本位の開発からヒアリング駆動開発へ〜
Developers summit2015 開発者は足を動かそう!〜自分本位の開発からヒアリング駆動開発へ〜Developers summit2015 開発者は足を動かそう!〜自分本位の開発からヒアリング駆動開発へ〜
Developers summit2015 開発者は足を動かそう!〜自分本位の開発からヒアリング駆動開発へ〜Nagao Shun
 

Tendances (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
 
誰でもできるGoogleアシスタント開発
誰でもできるGoogleアシスタント開発誰でもできるGoogleアシスタント開発
誰でもできるGoogleアシスタント開発
 
エンジニア生存戦略
エンジニア生存戦略エンジニア生存戦略
エンジニア生存戦略
 
虎の穴ラボ エンジニア採用説明資料
虎の穴ラボ エンジニア採用説明資料虎の穴ラボ エンジニア採用説明資料
虎の穴ラボ エンジニア採用説明資料
 
Webエンジニアが学ぶ自動運転を支える技術
Webエンジニアが学ぶ自動運転を支える技術Webエンジニアが学ぶ自動運転を支える技術
Webエンジニアが学ぶ自動運転を支える技術
 
虎の穴ラボ エンジニア採用説明資料
虎の穴ラボ エンジニア採用説明資料 虎の穴ラボ エンジニア採用説明資料
虎の穴ラボ エンジニア採用説明資料
 
Cloud runのオートスケールを検証してみる
Cloud runのオートスケールを検証してみるCloud runのオートスケールを検証してみる
Cloud runのオートスケールを検証してみる
 
オタクエンジニアを熱くさせる!モチベーションと効率をあげるチームビルディング_20210611_TechDay#1_3
オタクエンジニアを熱くさせる!モチベーションと効率をあげるチームビルディング_20210611_TechDay#1_3オタクエンジニアを熱くさせる!モチベーションと効率をあげるチームビルディング_20210611_TechDay#1_3
オタクエンジニアを熱くさせる!モチベーションと効率をあげるチームビルディング_20210611_TechDay#1_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
 
DIVE INTO WORK 就業説明会のご案内
DIVE INTO WORK 就業説明会のご案内DIVE INTO WORK 就業説明会のご案内
DIVE INTO WORK 就業説明会のご案内
 
Teslaにおけるコンピュータビジョン技術の調査
Teslaにおけるコンピュータビジョン技術の調査Teslaにおけるコンピュータビジョン技術の調査
Teslaにおけるコンピュータビジョン技術の調査
 
オタクエンジニアを熱くさせる!モチベーションをあげるチームビルディング
オタクエンジニアを熱くさせる!モチベーションをあげるチームビルディングオタクエンジニアを熱くさせる!モチベーションをあげるチームビルディング
オタクエンジニアを熱くさせる!モチベーションをあげるチームビルディング
 
Yahoo!ニュースにおけるBFFパフォーマンスチューニング事例
Yahoo!ニュースにおけるBFFパフォーマンスチューニング事例Yahoo!ニュースにおけるBFFパフォーマンスチューニング事例
Yahoo!ニュースにおけるBFFパフォーマンスチューニング事例
 
20191228_jaws-ug_okayama-2019_winter
20191228_jaws-ug_okayama-2019_winter20191228_jaws-ug_okayama-2019_winter
20191228_jaws-ug_okayama-2019_winter
 
【Unite Tokyo 2018】VR空間構築ソリューション『NEUTRANS』開発の裏側
【Unite Tokyo 2018】VR空間構築ソリューション『NEUTRANS』開発の裏側【Unite Tokyo 2018】VR空間構築ソリューション『NEUTRANS』開発の裏側
【Unite Tokyo 2018】VR空間構築ソリューション『NEUTRANS』開発の裏側
 
最新アドテク×Java script実践活用術
最新アドテク×Java script実践活用術最新アドテク×Java script実践活用術
最新アドテク×Java script実践活用術
 
Developers summit2015 開発者は足を動かそう!〜自分本位の開発からヒアリング駆動開発へ〜
Developers summit2015 開発者は足を動かそう!〜自分本位の開発からヒアリング駆動開発へ〜Developers summit2015 開発者は足を動かそう!〜自分本位の開発からヒアリング駆動開発へ〜
Developers summit2015 開発者は足を動かそう!〜自分本位の開発からヒアリング駆動開発へ〜
 
アプリのプロダクトマネージャーからみるScrum開発
アプリのプロダクトマネージャーからみるScrum開発アプリのプロダクトマネージャーからみるScrum開発
アプリのプロダクトマネージャーからみるScrum開発
 

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

AIのビジネス実装を成功に近づけるために
AIのビジネス実装を成功に近づけるためにAIのビジネス実装を成功に近づけるために
AIのビジネス実装を成功に近づけるためにReNom User Group
 
Api meet up online#6 session1 ginco
Api meet up online#6 session1 gincoApi meet up online#6 session1 ginco
Api meet up online#6 session1 gincoNihei Tsukasa
 
Decode19 cd42 fixer_public_0601
Decode19 cd42 fixer_public_0601Decode19 cd42 fixer_public_0601
Decode19 cd42 fixer_public_0601Shotaro Suzuki
 
Decode19 cd42 fixer_public_0601
Decode19 cd42 fixer_public_0601Decode19 cd42 fixer_public_0601
Decode19 cd42 fixer_public_0601YorikoYokoyama
 
DLモデル開発中の雑務が嫌で支援プラットフォームを作った話
DLモデル開発中の雑務が嫌で支援プラットフォームを作った話DLモデル開発中の雑務が嫌で支援プラットフォームを作った話
DLモデル開発中の雑務が嫌で支援プラットフォームを作った話Kamonohashi
 
Tokyo H2O.ai Meetup#2 by Iida
Tokyo H2O.ai Meetup#2 by IidaTokyo H2O.ai Meetup#2 by Iida
Tokyo H2O.ai Meetup#2 by IidaHidenori Fujioka
 
if-up 2019 | A2. クラウドにつながり始めたハードウェア
if-up 2019 | A2. クラウドにつながり始めたハードウェアif-up 2019 | A2. クラウドにつながり始めたハードウェア
if-up 2019 | A2. クラウドにつながり始めたハードウェアSORACOM,INC
 
if-up 2019 | C3. コンシューマープロダクトにおけるクラウド実践
if-up 2019 | C3. コンシューマープロダクトにおけるクラウド実践if-up 2019 | C3. コンシューマープロダクトにおけるクラウド実践
if-up 2019 | C3. コンシューマープロダクトにおけるクラウド実践SORACOM,INC
 
Struggling with BIGDATA -リクルートおけるデータサイエンス/エンジニアリング-
Struggling with BIGDATA -リクルートおけるデータサイエンス/エンジニアリング-Struggling with BIGDATA -リクルートおけるデータサイエンス/エンジニアリング-
Struggling with BIGDATA -リクルートおけるデータサイエンス/エンジニアリング-Recruit Technologies
 
前に出るAIエンジニアの案件切り分け術
前に出るAIエンジニアの案件切り分け術前に出るAIエンジニアの案件切り分け術
前に出るAIエンジニアの案件切り分け術Takahiro Yoshida
 
DLLAB Engineer Days:AIチームが履歴やリソース管理で疲弊してたので開発基盤作ってOSS化した話
DLLAB Engineer Days:AIチームが履歴やリソース管理で疲弊してたので開発基盤作ってOSS化した話DLLAB Engineer Days:AIチームが履歴やリソース管理で疲弊してたので開発基盤作ってOSS化した話
DLLAB Engineer Days:AIチームが履歴やリソース管理で疲弊してたので開発基盤作ってOSS化した話Kamonohashi
 
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
 
Home Engineering Environment
Home Engineering EnvironmentHome Engineering Environment
Home Engineering EnvironmentTakashi Hasegawa
 
XP祭り2019 - 日立・ソフトウェア革新部会 ~会社を越境する社内コミュニティ~
XP祭り2019 - 日立・ソフトウェア革新部会 ~会社を越境する社内コミュニティ~XP祭り2019 - 日立・ソフトウェア革新部会 ~会社を越境する社内コミュニティ~
XP祭り2019 - 日立・ソフトウェア革新部会 ~会社を越境する社内コミュニティ~Masanori Kaneko
 
<インフラ管理者向け>チームでのAI開発を支援するAI開発プラットフォームKAMONOHASHI
<インフラ管理者向け>チームでのAI開発を支援するAI開発プラットフォームKAMONOHASHI<インフラ管理者向け>チームでのAI開発を支援するAI開発プラットフォームKAMONOHASHI
<インフラ管理者向け>チームでのAI開発を支援するAI開発プラットフォームKAMONOHASHIKamonohashi
 

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

AIのビジネス実装を成功に近づけるために
AIのビジネス実装を成功に近づけるためにAIのビジネス実装を成功に近づけるために
AIのビジネス実装を成功に近づけるために
 
現場のインフラエンジニアから見たヤフー #ヤフー名古屋
現場のインフラエンジニアから見たヤフー #ヤフー名古屋現場のインフラエンジニアから見たヤフー #ヤフー名古屋
現場のインフラエンジニアから見たヤフー #ヤフー名古屋
 
Api meet up online#6 session1 ginco
Api meet up online#6 session1 gincoApi meet up online#6 session1 ginco
Api meet up online#6 session1 ginco
 
Decode19 cd42 fixer_public_0601
Decode19 cd42 fixer_public_0601Decode19 cd42 fixer_public_0601
Decode19 cd42 fixer_public_0601
 
Decode19 cd42 fixer_public_0601
Decode19 cd42 fixer_public_0601Decode19 cd42 fixer_public_0601
Decode19 cd42 fixer_public_0601
 
DLモデル開発中の雑務が嫌で支援プラットフォームを作った話
DLモデル開発中の雑務が嫌で支援プラットフォームを作った話DLモデル開発中の雑務が嫌で支援プラットフォームを作った話
DLモデル開発中の雑務が嫌で支援プラットフォームを作った話
 
Tokyo H2O.ai Meetup#2 by Iida
Tokyo H2O.ai Meetup#2 by IidaTokyo H2O.ai Meetup#2 by Iida
Tokyo H2O.ai Meetup#2 by Iida
 
if-up 2019 | A2. クラウドにつながり始めたハードウェア
if-up 2019 | A2. クラウドにつながり始めたハードウェアif-up 2019 | A2. クラウドにつながり始めたハードウェア
if-up 2019 | A2. クラウドにつながり始めたハードウェア
 
if-up 2019 | C3. コンシューマープロダクトにおけるクラウド実践
if-up 2019 | C3. コンシューマープロダクトにおけるクラウド実践if-up 2019 | C3. コンシューマープロダクトにおけるクラウド実践
if-up 2019 | C3. コンシューマープロダクトにおけるクラウド実践
 
ML meetup20190327
ML meetup20190327ML meetup20190327
ML meetup20190327
 
Googleアシスタントアプリ実際のところ
Googleアシスタントアプリ実際のところ Googleアシスタントアプリ実際のところ
Googleアシスタントアプリ実際のところ
 
Struggling with BIGDATA -リクルートおけるデータサイエンス/エンジニアリング-
Struggling with BIGDATA -リクルートおけるデータサイエンス/エンジニアリング-Struggling with BIGDATA -リクルートおけるデータサイエンス/エンジニアリング-
Struggling with BIGDATA -リクルートおけるデータサイエンス/エンジニアリング-
 
前に出るAIエンジニアの案件切り分け術
前に出るAIエンジニアの案件切り分け術前に出るAIエンジニアの案件切り分け術
前に出るAIエンジニアの案件切り分け術
 
DLLAB Engineer Days:AIチームが履歴やリソース管理で疲弊してたので開発基盤作ってOSS化した話
DLLAB Engineer Days:AIチームが履歴やリソース管理で疲弊してたので開発基盤作ってOSS化した話DLLAB Engineer Days:AIチームが履歴やリソース管理で疲弊してたので開発基盤作ってOSS化した話
DLLAB Engineer Days:AIチームが履歴やリソース管理で疲弊してたので開発基盤作ってOSS化した話
 
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成功の秘訣
 
Smfl20201001
Smfl20201001Smfl20201001
Smfl20201001
 
Home Engineering Environment
Home Engineering EnvironmentHome Engineering Environment
Home Engineering Environment
 
XP祭り2019 - 日立・ソフトウェア革新部会 ~会社を越境する社内コミュニティ~
XP祭り2019 - 日立・ソフトウェア革新部会 ~会社を越境する社内コミュニティ~XP祭り2019 - 日立・ソフトウェア革新部会 ~会社を越境する社内コミュニティ~
XP祭り2019 - 日立・ソフトウェア革新部会 ~会社を越境する社内コミュニティ~
 
<インフラ管理者向け>チームでのAI開発を支援するAI開発プラットフォームKAMONOHASHI
<インフラ管理者向け>チームでのAI開発を支援するAI開発プラットフォームKAMONOHASHI<インフラ管理者向け>チームでのAI開発を支援するAI開発プラットフォームKAMONOHASHI
<インフラ管理者向け>チームでのAI開発を支援するAI開発プラットフォームKAMONOHASHI
 
SPAを選択した理由とその結果 ~Reactを添えて~
SPAを選択した理由とその結果 ~Reactを添えて~SPAを選択した理由とその結果 ~Reactを添えて~
SPAを選択した理由とその結果 ~Reactを添えて~
 

Plus de Natsutani Minoru

Plus de Natsutani Minoru (20)

robotics42.pptx
robotics42.pptxrobotics42.pptx
robotics42.pptx
 
TFLiteのグラフ構造について
TFLiteのグラフ構造についてTFLiteのグラフ構造について
TFLiteのグラフ構造について
 
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
 
なにわTech20161215
なにわTech20161215 なにわTech20161215
なにわTech20161215
 

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

  • 1. ©2019 Pasona Tech, Inc. All Rights Reserved. AutoMLとQumicoを使って、ラズパイでディープラーニングを動かす 話 株式会社パソナテック IoEソリューション事業部 AIプロダクトグループ Qumicoプロダクトマネージャ 夏谷 2019/11/9
  • 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 Ourputs 中身は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.

Notes de l'éditeur

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