Qumicoを使ったEdge AIの最新情報。AutoML、LSTM対応～ ColabやLabelboxを使ったリモート時代の組込AI開発、人材育成。

2020/08/21

株式会社パソナテック
DX戦略本部 デジタルテクノロジーグループ
Qumico Product Maneger
夏谷©2019 Pasona Tech, Inc. All Rights Reserved.

目次
自己紹介
はじめにエッジAIの動向
ONNX, AutoML
Qumicoの紹介、デモ
これからのエッジAI開発
リモート開発の実例
ワークショップの紹介
会社紹介

2©2019 Pasona Tech, Inc. All Rights Reserved.

自己紹介
3

©2019 Pasona Tech, Inc. All Rights Reserved.

自己紹介
株式会社パソナテック
DX戦略本部 デジタルテクノロジーグループ
Qumico Product Manager
夏谷 実
FPGAやLSIの画像処理から、Deep Learningの世界に入る。プログラミングが好き
一昨年よりQumicoのプロダクトマネージャに就任。
大阪と東京と半々くらいの生活を続けていたが、コロナの影響により完全リモートワークに移行。

Hatena id: natsutan
2019/9/25
http://natsutan.hatenablog.com/

Qiita id: natsutan
2019/9/25
https://qiita.com/natsutan

TensorFlow Users Group KANSAI
2019/9/25
https://tfug-kansai.connpass.com/event/146442/

4©2019 Pasona Tech, Inc. All Rights Reserved.

はじめに
5

©2019 Pasona Tech, Inc. All Rights Reserved.

はじめにハンズオン資料プレゼントについて
GoogleColaboratory

GoogleCloudAutoMLc

Deep Learningの学習から、C言語の変換までをブラウザで完結

今日の発表の最後にアンケー
トのURLを記載しています。
アンケートにご回答いただいた方に、もれなくハンズオン資料をプレゼントいたします。

ラズパイ上で画像の識別DeepLearningが動く
6©2019 Pasona Tech, Inc. All Rights Reserved.

エッジAIの動向ONNX, AutoML
7©2019 Pasona Tech, Inc. All Rights Reserved.

エッジAIとはよくあるAIを使ったサービス例

AI
どこかにあるGPU搭載サーバー

日：エッジAIの技術に注目しています。

英：We are focusing on edge AI technology.

同じようなアーキテクチャ
・画像の仕分け・商品の推薦・買い取り価格の見積もり
・商品のカテゴリー分け

8©2019 Pasona Tech, Inc. All Rights Reserved.

エッジAIとはエッジAIのイメージ

不審者を発見AI

部屋に人が多いから出力を上げよう
AI

誰もいないから風力を落として節電
https://www.irasutoya.com/2014/10/blog-post_185.html
https://www.irasutoya.com/2013/01/blog-post_7571.html

AIを処理するサーバーが無く、それぞれの装置がAIを搭載する。
9©2019 Pasona Tech, Inc. All Rights Reserved.

なぜエッジAIが必要なのか
エッジAIを使ったアーキテクチャ

全ての映像をサーバーに送るアーキテクチャ

サーバー・レイテンシー ◎・通信量◎・消費電力〇AI

物体検出

物体検出した結果だけを送信・・・・・

VS・・・・・

https://www.irasutoya.com/2014/10/blog-post_185.html

AIAI

AI

物体検出

物体検出

物体検出

AI

物体検出10©2019 Pasona Tech, Inc. All Rights Reserved.

エッジAIを使う理由
・自動運転等、応答速度が非常に重要なケース・コストが重要なケース
・通信環境が悪くても動く必要があるケース
・プライバシーを守りたいケース

世の中にAIが普及するにつれ、エッジAIの重要性も増えていく11©2019 Pasona Tech, Inc. All Rights Reserved.

業界標準フォーマットONNXOpen Neural Network Exchange（ONNX）
Microsoftの資料から引用

それぞれのフレームワークが、ONNXファイルの入出力をサポート

ONNXの実行（推論）環境
ONNX runtime

2019/9/25
https://static.sched.com/hosted_files/linaroconnectsandiego/83/O
NNX%20%26%20ONNX%20Runtime%20-%20SAN19-211.pdf 12©2019 Pasona Tech, Inc. All Rights Reserved.

ONNXフォーマット
• 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等でも操作可能

Netronで可視化
13©2019 Pasona Tech, Inc. All Rights Reserved.

Auto MLとは・Automated Machine Learningの略

・自動的に機械学習のハイパーパラメータを設定しパフォーマンスを上げる技術。NAS（NeuralArchitecture Search）と呼ばれるNNアーキテクチャの探索も含む。
・GoogleがCloud上でAuto MLを使えるようにしたのが「Cloud AutoML」と呼ばれるサービス。Auto MLと言った時にCloud AutoMLを指すことが多い。

input
input

outputCELL

input

outputoutput
CELL

NASの例

14

©2019 Pasona Tech, Inc. All Rights Reserved.

AutoMLが出力するNN例（識別）input

conv2dconv2dDepth Width
Conv2dconv2dADD
output15©2019 Pasona Tech, Inc. All Rights Reserved.

AutoMLが出力するNN（物体検出）

NAS（Neural Architecture Search）をしているようで、非常に複雑な構成になっています。

2019/10/4
http://natsutan.hatenablog.com/entry/2019/09/23/125835 16©2019 Pasona Tech, Inc. All Rights Reserved.

Could AutoMLの実力識別
画像の識別に関しては、素人では絶対に勝てない
https://developers-jp.googleblog.com/2019/07/efficientnet-automlgoogle.html

物体検出
だいたい6万円くらいで、2016年末の最先端(YOLO v2)に近い数字

Cloud AutoMLが対応しているタスクならAutoMLを使いたい。

17©2019 Pasona Tech, Inc. All Rights Reserved.

Cloud AutoMLとAzure Custom Visionの比較
犬と猫の識別を、Google Cloud AutoMLと、マイクロソフトのAzure CustomVisionを使ってモデルを作成しました。画像データを100枚から2000枚まで増やして精度（ accuracy ）を比較。

https://natsutan.hatenablog.com/entry/2020/03/18/214112
18©2019 Pasona Tech, Inc. All Rights Reserved.

AutoMLPFN OptunaSony Prediction One

2019/9/30
https://research.preferred.jp/2018/12/optunarelease/2019/9/30
https://predictionone.sony.biz/about/feature/

Amazon Forecast

2019/9/30
https://aws.amazon.com/jp/forecast/

19©2019 Pasona Tech, Inc. All Rights Reserved.

AutoMLが作るこれからの開発体制予測
AIプロジェクトの数が、データサイエンティストに依存しないでスケールする。

データサイエン
ティスト

Auto
ML

Auto
ML

Auto
ML

Auto
ML

データエンジニア

AIプロジェクト

AIプロジェクト

AutoMLが対応していないタスクはデータサイエンティストが担当

AIプロジェクト

AIプロジェクト AIプロジェクト

AIプロジェクト

AutoMLが対応しているタスクは、AutoMLに入力するデータを用意するデータエンジニアがいれば良い

20©2019 Pasona Tech, Inc. All Rights Reserved.

Qumicoの紹介
21©2019 Pasona Tech, Inc. All Rights Reserved.

Qumicoとは• 目的– ディープラーニングの学習結果をエッジデバイス向けにC言語変換•

OSレス環境での利用も想定– 出力：標準C(その他依存のライブラリなし)– IR：ONNXに準拠• 弊社内製• オープンソースとして公開(MITライセンス)– https://github.com/PasonaTech-Inc/Qumico

22©2019 Pasona Tech, Inc. All Rights Reserved.

Qumico Architecture
Tensorflow
TFLiteKeras

Qumico Frontend
・Convert
・Graph Optimize
・Weight Extract
・CheckIRONNX

Qumico Backend
・Memory Allocate・Control Flow
・API function
・Device SpecificOptimize

C Source- Neon support- OpenMP

Intermediate Representation• フロントエンド– 各種DLフレームワークの学習モデルをONNXに変換する– 例：TensorFlowの学習済みモデルをONNXに変換• バックエンド– ONNXをC言語に変換する
23©2019 Pasona Tech, Inc. All Rights Reserved.

Three Stage Compiler
スタンダードな3stage コンパイラの構成を踏襲
Wikipediaより文法チェック
IRへ変換

IRの最適化

ターゲット向け最適化

IRIntermediate Representation
2019/10/5
https://en.wikipedia.org/wiki/Compiler 24©2019 Pasona Tech, Inc. All Rights Reserved.

Qumicoの特徴

25©2019 Pasona Tech, Inc. All Rights Reserved.

Qumicoを使った開発フロー
TensorFlow
Google Cloud AutoML(識別）4.デプロイ

1.学習

エッジデバイス
2.変換

3.チューニング

学習済みモデル
TFlite

ONNX
Qumicoフロントエンド
ハンズオン資料に具体的な手順の説明あり

計算グラフ最適化
量子化

C
Qumicoバックエンド

チューニング・CPUコア・SIMD
・GPU・メモリアライメント
等

本スライドの写真 の作成者 不明な作成者 は CC BY-SA のライセンスを許諾されています26©2019 Pasona Tech, Inc. All Rights Reserved.

Qumico の特徴

Cloud AutoML

カメラ＋ラズベリーパイ

AutoMLで学習したモデルが、Qumicoを使ってエッジで動く- ニューラルネットワークの知識不要- 組込の知識不要©2019 Pasona Tech, Inc. All Rights Reserved.

Qumicoデモ

28©2019 Pasona Tech, Inc. All Rights Reserved.

Qumico新機能
TensorFlow

LSTMをサポート NEW！

Google Cloud AutoML(識別）4.デプロイ

1.学習

エッジデバイス
2.変換

3.チューニング

学習済みモデル
TFlite

ONNX
Qumicoフロントエンド
計算グラフ最適化
量子化

C
Qumicoバックエンド

チューニング・CPUコア・SIMD
・GPU・メモリアライメント
等

本スライドの写真 の作成者 不明な作成者 は CC BY-SA のライセンスを許諾されています29©2019 Pasona Tech, Inc. All Rights Reserved.

時系列データとLSTM
従来のQumico

新しいQumico
分類タスク
犬 or 猫
VGG16
物体検出
YOLO

画像

LSTM ←NEW！
・株価の予測・テキスト分析・翻訳・センサーデータの異常検知

時系列

https://ja.wikipedia.org/wiki/%E3%82%A4%E3%83%8C#/media/%E3%83%95%
E3%82%A1%E3%82%A4%E3%83%AB:Shiba_Inu.jpg
https://github.com/pjreddie/darknet/blob/master/data/person.jpg

30©2019 Pasona Tech, Inc. All Rights Reserved.

これからのエッジAI開発
31©2019 Pasona Tech, Inc. All Rights Reserved.

コロナ前
経営陣
上司PM

夏谷
週2～3日出張ベース

開発メンバー

滋賀県
東京本社
https://www.irasutoya.com/

32©2019 Pasona Tech, Inc. All Rights Reserved.

With コロナの体制図

出張禁止
リモートでどうやって開発を行うのか
https://www.freemap.jp/item/japan/japan1.html
https://www.irasutoya.com/

33©2019 Pasona Tech, Inc. All Rights Reserved.

やってみたことの紹介

・LabelBox
・Google Colab
・組込機器の画面共有
・Azure IoT

34©2019 Pasona Tech, Inc. All Rights Reserved.

Labelbox
オンラインアノテーションサービス
Computer Vision
・Image Classification
・Object Detection
・Image Segmentation
NLP & Others

https://labelbox.com/

今回はこの機能を評価しました

DeveloperProEnterprisehttps://labelbox.com/pricing

35©2019 Pasona Tech, Inc. All Rights Reserved.

Labelbox
作業イメージLabelbox
dogdogdogdog③API経由でアノテーションデータを取得

file④変換スクリプトを使用し、フォーマットをフレームワークの入力に合わせる。

①アノテーション用画像
データをLabelboxへアップロード

Colab環境へ②各自がブラウザ上でアノテーションを行う
コミュニケーションはSlackで

36©2019 Pasona Tech, Inc. All Rights Reserved.

Labelbox
期間： 2020年5月11日～6月10日
メンバー：四名（全員リモート）アノテーション：犬の顔、右目、左目
元データ：Kaggle dogs vs cats
データ数： 1849枚
無料のlimitの扱いが難しく、2500枚まで行かず。
https://www.kaggle.com/c/dogs-vs-cats
37©2019 Pasona Tech, Inc. All Rights Reserved.

Labelbox
・良かったところ- アノテーションがブラウザのみで行える。
Windows、Mac、Ubuntuの全てをサポートしているツールが見つからなかった。
- 会社支給のセキュリティが厳しいPCでも作業が出来る。
- 画像を担当者に割り振る必要が無い。
割り振りはLabelboxでやってくれる。
・上手く行かなかったところ- フィードバックが1日、2日という単位になる。
38©2019 Pasona Tech, Inc. All Rights Reserved.

Google Colab

Google Colaboratory
・Jupyter notebookベースのクラウドサービス
・無償でGPUも使用できる。
・時間制限ありhttps://colab.research.google.com/notebooks/welcome.ipynb?hl=ja

39©2019 Pasona Tech, Inc. All Rights Reserved.

Google Colabの使い方
よく使うパターン①Google Driveのmount

アノテーション済み
データはGoogle Driveの中②git clone③ライブラリのインストール

ハンズオン資料に具体的な手順の説明あり

作業の度にこの手順を実行する

40©2019 Pasona Tech, Inc. All Rights Reserved.

Google Colabの使い方
リモート開発時に一番役に立ったこと

・上手く動かないColabファイルをそのまま送ってもらうと、やったことの履歴やエラーメッセージが全部残っている。
・手元での再現性が非常に高い。
・多くの問題はGoogle Drive内のファイルが違う事が原因。

手順やエラーメッセージの確認のためのやりとりが無し
41©2019 Pasona Tech, Inc. All Rights Reserved.

Google Colab・良かったところ- 全員が同じ環境になる。OS、Driver、コンパイラ- 環境をファイル一つで共有できる
・上手く行かなかったところ- 長時間の学習中に接続が切れる。対策をするための手間が増える。
- gitとは相性が良くない- Google Driveの内容を同じに保ちにくい42©2019 Pasona Tech, Inc. All Rights Reserved.

組込機器の画面をTeams/Zoomに出す

HDMI capture
I-O DATA GV-USB3HD/E

https://ja.wikipedia.org/wiki/Raspberry_Pi#/media/%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB:Raspberry_Pi_4_Model_B_-_Top.jpg

43©2019 Pasona Tech, Inc. All Rights Reserved.

Azure IoTの取り組み

現在の取り組み：
Azure IoT、IoT Hubの機能を使って、リモート組込開発を効率化できないか44©2019 Pasona Tech, Inc. All Rights Reserved.

ワークショップの紹介
45©2019 Pasona Tech, Inc. All Rights Reserved.

ワークショップの趣旨と現状
ワークショップの趣旨：
情報系以外の学科を履修している大学生にも、DeepLearningを簡単に体験できないか？
物理、化学、ハンズオンを使ったワークショップをしたい
建築など

ワークショップの現状：
テキストは出来たがコロナで開催の目処が立たず。
趣旨が素晴らしいだけになんとかしたい
資料を自習ベースに修正46©2019 Pasona Tech, Inc. All Rights Reserved.

ワークショップの内容

データ収集から、学習、ラズパイ動作までを2日間かけて体験します。
扱うタスクは画像の識別
二～三名のチーム構成を想定していますが一人でも大丈夫です。
47©2019 Pasona Tech, Inc. All Rights Reserved.

ワークショップに必要なアイテム

・Google アカウント
・インターネットに繋がるPC
・ラズパイ＋カメラ＋モニターの環境48©2019 Pasona Tech, Inc. All Rights Reserved.

ワークショップ 1日目
時刻（一日目）10:00～10:30

導入・流れ説明

10:30～11:00

パソナテックとは

11:00～11:15

アイスブレイク

11:15

ワークショップ開始

12:30～13:15

昼食

13:15

ワークショップ続きから

18:00

終了

Deep Learningで使うデータを集める。

AutoMLを使って学習、モデルのダウンロードまで

49©2019 Pasona Tech, Inc. All Rights Reserved.

ワークショップ2日目
時刻（二日目）10:00～10:10

挨拶・流れ説明

10:10

ワークショップ開始

10:15

中間発表

12:30～13:15

昼食

13:15

ワークショップ続き

16:30

最終発表

17:15

総評・挨拶

18:30

終了・解散

ラズベリーパイでのエッジAI動作

結果発表

50

©2019 Pasona Tech, Inc. All Rights Reserved.

ワークショップ開催希望の方へ
大学関係者・新卒採用のチームが担当
企業関係者・営業のチームが担当
最後のアンケートで、ワークショップ開催希望と記入くだ
さい。ただし、ご希望に添えない場合もございます。

51©2019 Pasona Tech, Inc. All Rights Reserved.

会社紹介
52

©2019 Pasona Tech, Inc. All Rights Reserved.

パソナテックの取り組み（2019年～）

データエンジニアの育成
データエンジニアとは？
データの前処理を中心に、データサイエンティストの指示で、データそのものを扱うエンジニア

53©2019 Pasona Tech, Inc. All Rights Reserved.

AutoMLが作るこれからの開発体制予測
AIプロジェクトの数が、データサイエンティストに依存しないでスケールする。

データサイエン
ティスト

Auto
ML

Auto
ML

Auto
ML

Auto
ML

データエンジニア

AIプロジェクト

AIプロジェクト

AutoMLが対応していないタスクはデータサイエンティストが担当

AIプロジェクト

AIプロジェクト AIプロジェクト

AIプロジェクト

AutoMLが対応しているタスクは、
AutoMLに入力するデータを用意する
データエンジニアがいれば良い54©2019 Pasona Tech, Inc. All Rights Reserved.

パソナテックの取り組み（2019年～）
データエンジニアのスキルセットの標準化と育成コースの開発
物体検出用データオーギュメ
ンテーション
XML、乱数処理、回転、拡大、縮小、画像の合成

データエンジニア研修 基礎編：2019年6月開始<annotation><filename>0001.jpg</filename>
データエンジニア研修 実践編: 2019年9月開始<size> <width>302</width><height>402</height>
データエンジニア研修 応用編：2019年9月開始<depth>3</depth> </size>

画像用NNの基礎
画像フォーマットの基礎
画像処理ライブラリ、アルゴリズム<object><name>pencilcase</name><bndbox> <xmin>100</xmin><ymin>100</ymin><xmax>261</xmax><ymax>186</ymax></bndbox></object></annotation>55©2019 Pasona Tech, Inc. All Rights Reserved.

エッジAIの難しいところ
データ
アノテーション

データ
収拾

フレーム
ワーク

Python

画像処理
過学習
抑止

異常値除
去
データ
水増し
前処理

ハイパーパ
ラメータ

Autoモデル
ML 選択
学習環境
構築

サイズ削減

量子化

速度
UP

アプリ
組込筐体
電力

プルーニ
ング

放熱
コスト

組込みC

データエンジニア
育成
JOB HUB

AI/IoT支援
サービス

組込エンジニア
育成

ODM
サービス

エッジAI開発の難しさをトータルでサポートします。
56©2019 Pasona Tech, Inc. All Rights Reserved.

アンケート
上手く行かないときは、mnatsutani@pasona.techまでメールください。
もしくはtwitter@natsutan
まで

57©2019 Pasona Tech, Inc. All Rights Reserved.

©2019 Pasona Tech, Inc. All Rights Reserved.