組込みディープラーニング人材の教育・育成について～パソナテックの取組み事例のご紹介～

株式会社パソナテック
IoEｿﾘｭｰｼｮﾝ事業部
本間2018/8/31

1

アジェンダ自己紹介 お客様の悩み 自社製フレームワークの開発
 チームビルディング コミュニティの構築


社内コミュニティ
 社外コミュニティ

今後のAI人材育成に向けて育成プログラム
 Uターン支援

パソナテックサービスのご紹介
2

自己紹介

3

自己紹介
本間裕大
 株式会社パソナテック
株式会社パソナテック
 IoEｿﾘｭｰｼｮﾝ事業部


Deep Learningが好き(勉強中) Java・Javascriptも好き
 合唱も好き

4

組込DL分野における課題

5

組込みDL分野における課題

第四次産業革命ロボット

若年層の人口減少

AI

過熱する
AI人材争
奪戦

IoT

必要なスキルが膨大

国家戦略としてAI推進を図るも、絶対的な人材不足という現実
6

組込みDL分野における課題
組込みDeep Leanring開発のフロー

NN

設計・
選択NN

NN

企画・リサーチ

実
装学
習

全工程を見れるメンバーがいない

組込
み変換

組込
み実
装

組込み特有の問題
消費電力

コスト

パソナテックのAIアシストが問題解決

製品
化

少メモリ
データ圧縮

リアルタイ
ム処理

固定小数点対応
専用ハード
ウェア

7

組込みDL分野における課題
ツールの課題・価格が高い・利用したいNNがサポートされていない・ブラックボックスであり、自らカスタマイズできないボードの課題

この組込機器でどうやってDL動かそう？

・ツールが使いたいCPUをサポートされていない・ファイルシステムやメモリ管理が必須
・センサーが特殊経験者0からのスタート

人材の課題
・Deep Learning, Python, 組込みC, ボードに精通したメンバーが不足している
・DLがわからない社内の組込み人材を有効活用していきたい8

組込みDL分野における課題

AI開発の課題

社外コミュニティへの参加

2016年

自社製フレームワークの開発

2017年

チームビルディング
コミュニティの構築
育成トレーニングコース開発

2018年

お客様の抱える課題を、お客様とともに解決するのがパソナテックのやり方
9コミュニティへの参加

10

コミュニティへの参加
最初の一歩はローカルでやっている勉強会に参加するところから。
この二つがとても役に立ちました。

パソナテックも随時勉強会、イベントを開催してきますので、こういうのがしたいというのがあればリクエストください！

11

自社製フレームワークの開発

12コキュートスの開発
keras

コキュートス
ファイルシステム
malloc不要

組込み
プロセッサ
向け最適化

組込みCソース

DSP
向け最適化

FPGA向け実装

中間言語としてのC言語

専用HW
向け実装

13

ラズベリーパイで物体検出動作

Raspberry Pi 3 Model B

YOLOによる物体検出

3000円くらいの組込ボードでDeep Learningが動作する。
ARM CPUのみで動作する。

一度PythonからC言語に変換すれば、そこからはPython人材が不要になると考えた。
実際はそんな上手い話は無かったが、この取り組みが後から効いてきた。
14

チームビルディング

15

Deep Learningに必要な知識
統計

従来手法

スケジュール管理

行列

画像処理

リソース管理微積分

組込プログラミング

顧客折衝

アカデミックな知識

業務知識

PM

英語論文

Python

データ加工

TensorFlow/Caffe

データアノテーション

可視化ツールコーディング能力

製品化組込

この広い範囲の知識をどのようにして身につけるかという課題
16

Deep Learningに必要な知識
英語論文

従来手法

スケジュール管理

統計

画像処理

リソース管理行列

組込プログラミング

顧客折衝

微積分

Python

データ加工

TensorFlow/Caffe

データアノテーション

可視化ツール

50代半導体
エンジニア

製品化組込

20代、30代若手

50代の半導体エンジニアと、20代、30代の若手数名でチームを作る
17

チームビルディング

・昔AIにすごく興味があった
・英語論文に出てくる数式に戸惑わない
・お客との調整が得意
50代半導体エンジニア

・今からPython勉強するのが辛い・上手く行くかどうか分からない（ので消極的）
・新しいフレームワーク等について行けない
・実際の開発業務自体が難しい（手が遅い）

20代、30代若手

ベテランエンジニアが苦手なところや、勢いでやれば良いところを若手が担当
18

チームビルディング

50代の役割PM（顧客の折衝、各種管理）
 DL基礎の部分（数学、英語） 業務知識 中長期的な課題（違うジャンルの調査など）


20代、30代
コーディング アノテーション
 とりあえずやる 短期的な課題（新しいNN、フレームワーク等）
19

チームを作ってAI業務をした結果クオーター単位の人事評価面接時、AI業務を行っているメンバー全員が、「仕事がとにかく楽しい」と回答した。

これが一番の成果
20

コミュニティの構築

21

社内のコミュニティ強化

質問に対して、知っている人がいろいろ教える。

Slackの立上げ。直接顔を合わせられなくても、技術的な質問、相談が可能に。
22

最初の教科書ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装

新しくチームに入った人には、この本を読むようにお願いしています・
既読の人も多いです。
23コミュニティの構築

地方の悩み
東京はAIのイベントがあってうらやましいな～

パソナテックの狙い東京の人が羨むようなイベントをやろう！

24

コミュニティの構築
弊社大阪支店で年に数回行う大規模イベント
毎回100名超え1/27 LINE様、さくらインターネット様、Google様、オプティ
ム様にご登壇いただきました。
TensorFlow Users Group KANSAIの立上げ
不定期でハンズオン、ハードウェア勉強回等の開催
12/21 LeapMind様にご登壇いただきました
3/17
ハンズオンで始める初めての「Deep Learning」
他にも、名古屋、京都等で、各種勉強会を開催中
弊社の発表トピックとして、自社開発のフレームワークによる事例が大好評
25

組込みDLエンジニア育成プログラムのご案内26パソナテックのAIアシスト事業

AIアシスト
組込みDeep Learningエンジニアの育成事業
独自のトレーニングコース
・組込みDL体験コース
・組込みDL実践コース
・Advanceコース（予定）・Pythonコース（予定）DL未経験者をトレーニングによってスキルアップ

組込Deep Learning向けフレー
ムワーク

フレームワーク

組込みCソース

２０１９年リリース予定
育成コースとフレームワーク開発の二本柱によるプロジェクト支援27

組込みDL人材に関する課題を解決

組込み設計経験のあるDeep Learning, Pythonの専門家がいない組込みエンジニアは、 Deep Learning に関する知識が不足
既存の半導体、組込みエンジニアを有効活用できていない

この組込機器でどうやってDL動かそう？

パソナテックの育成プログラム

独自技術で、C言語が分かれば組込みDL実装を学習可能

自社製組込DLプラットフォームを利用したオリジナル教材

大阪に委託業務、OJT、現場支援の開発拠点

28

配属までの流れ

応募

選考

随時開催

入社
研修

組込みDL
実践コース
1～3ケ月

弱点
補強
OJT

現場
配属

配属後の技術支援

DL基礎知識
物体検出の基礎知識
DLの学習
組込み変換
モデルの最適化
Cソースの最適化
実機動作

トレーニング終了後のスキルレベル：
物体検出のモデルをC言語を使ってラズベリーパイ上で動かせる。
29

基礎研修 組込みDL体験コース
ディープラーニング体験用の演習付き１日コース
Raspberry Pi上で学習済ニューラルネットワ
ークの動作を確認
アジェンダ
【講義】
はじめに
ディープラーニングとはニューラルネットワークの種類【デモ】tiny-YOLOの動作
ディープラーニングの学習【デモ】tiny-YOLOの学習の実行
ディープラーニングの性能評価の指標
ディープラーニングの組込みシステムへの実装【演習】
Raspberry Piでのtiny-YOLOの実装と動作確認

DeepLearning用PC

初期設定- OS/driver/library install- NeuralNetwork Platform install- Training Data Set install
NeuralNetwork動作確認

demo

NeuralNetworkの構成変更
DeepLearningによる学習

demo

学習後のNeuralNetwork動作確認
性能測定
変換処理

Cプログラム

学習済み
重みデータ

実機システムcamera

動作確認と性能測定

LAB

描画制御（枠付けなど）

LAB

カメラモジュール制御
tiny-yoloへの動画入力

demo

Raspberry Pi 3
初期設定
- OS/driver/library install30

基礎研修 組込みDL実践コース
DeepLearning用PC

初期設定- OS/driver/library install- NeuralNetwork Platform install- Training Data Set install10日間ディープラーニング実践コース
GCPを利用したクラウドGPUで、DarknetによるTiny-YOLOの学習を実施、その後組込み変換とラズパイへの組込み最適化を体験

NeuralNetwork動作確認

NeuralNetworkの構成変更
DeepLearningによる学習
学習後のNeuralNetwork動作確認
性能測定

ディープラーニング業務に必要な作業工程を一週間で一通り実施する演習主体のコース
演習後にフォローアップセミナーを実施し、受講者の疑問の解消、デモシステムの完成をサポートします

変換処理

Cプログラム

学習済み
重みデータ

実機システムcamera

動作確認と性能測定
描画制御（枠付けなど）
カメラモジュール制御

DL体験コース
tiny-yoloへの動画入力
LABDL実践コース

Raspberry Pi 3

tiny-yoloデモシステム開発（演習主体）

フォローアップセミナー(Q&A + デモシステム完成)(5日間程度)(5日間程度)初期設定- OS/driver/library install31

組込みDL領域のスキルセット
役割習得スキル論文から最新手法を組込みDLに導入し、結果を測定できる。

４ 専門家

NNをアプリケーションに組み込むことができる。
NNのモデル圧縮を行うことができる。
環境に依存する最適化を行い、結果を評価できる。

３ 専門担当者

expertジョブスコープ

５ 責任者

２ 担当者

beginner

１ 作業者

組込機器上でNNを動作させることができる。
環境に依存しない最適化を行い、結果を評価できる。
NNのアーキテクチャを説明できる。
学習結果を評価できる。
学習環境を準備することができる。
手順に従い、学習を行い結果を報告できる。

トレーニングにより、未経験者を ３～４ までスキルを向上させます32AIトレーニングコース開発
組込DL
体験コース

済

組込DL
実践コース

済

Advance コース
ARM NEON
実装コース

FPGA 実装コース

DSP 実装コース←実装プラットフォーム

Segmentation
実装コース

異常検出実装コース

LSTM 実装コース←応用アプリケーション

Python
体験コース

Python
データ処理コース

Deep Learning
実践コース

33

その他育成コンテンツについて

34

Coursera（Machine Learningコース）

新しく入ってきたメンバーにCourseraのMachine Learningコースを受講してもらうチームもあります。

※Courseraとは、大学のコースを無償（終了証を発行する場合は有料）でオンライン上に提供しているサービス
35

Coursera（Machine Learningコース）

講義は英語で行われるが日本語字幕あり
36

Coursera（Machine Learningコース）

全11週(約3ヵ月)のカリキュラム
 各週末に2種類の課題を提出する必要あり
 小テスト- 週に３つほど- 5問中4問以上正解で合格

 プログラミング課題- 週に１つ（ない週もある）- 講義中に出た数式やアルゴリズムを実装する- 言語はOctave（ほぼMATLAB互換）

37

Coursera（Machine Learningコース）

目的関数（Cost Function）を例としてご紹介
■講義内容

38

Coursera（Machine Learningコース）

目的関数（Cost Function）を例としてご紹介■プログラミング課題（実装）39

Coursera（Machine Learningコース）

目的関数（Cost Function）を例としてご紹介■プログラミング課題（提出）40

チームを作ってAI業務をした結果終了後のスキルレベル：
・機械学習の重要なアルゴリズムを実装できる
・基本的な数式の内容を理解できる
・自分のデータで機械学習を応用できる何より修了したということがスキル証明になる
41

Google Colaboratory
Google Colaboratoryとは教育や研究機関へ機械学習の普及を目的としたGoogleの研究プロジェクトの一つ。
機械学習環境をweb上で動かせるサービス

ブラウザで動作する対話型実行環境 Jupyter Notebook 形式
42

Google Colaboratory 必要なライブラリはプリインストール済 Googleドライブと連携可能
 GPU（Tesla K80）含めすべて無料で使える

初学者が機械学習を始める際のハードルが低い
・必要なものはPCとインターネットのみ
・無料で使用できる・なのにインスタンスはハイスペック
実際にGoogle Colabを使用した機械学習のハンズオンセミナーがあったり。。。
43

弊社のDeep Learningに関する取り組みのご紹介
ワークショップ、勉強会での発表- FPGAX, TFUG, CEATEC, DSF- SWEST19- TFUG KANSAI立ち上げ

2017チューリング賞受賞
Patterson先生

世界初！CEVA社のDSP XM-4でNNを動作
2017年2月に弊社イベントにて発表

・家電向けのAI開発、DSP実装
・通信向け NNのFPGA実装（複数案件を開発中）
・大手企業様の研究所と組込DL実装について研究開発
・企業へDL人材派遣（8名）
2018年6月現在

44

組込みDL分野における課題

AI開発の課題

社外コミュニティへの参加

2016年

自社製フレームワークの開発

2017年

チームビルディング
コミュニティの構築
育成トレーニングコース開発

2018年

お客様の抱える課題を、お客様とともに解決するのがパソナテックのやり方
45

AI分野に関するパソナテックのサービス①大量のデータに関する業務
・データ収集・データ入力
・データタグづけ、不正データ除去

他部署と連携し、大量データを安価にご提供します。
セキュリティ面もご相談ください。

②機械学習に関する業務
・学習環境の構築
・学習器の設計、評価・パラメータ調整

お客様の目的に沿ったビジネスパート
ナーをご紹介します。

③商品化への業務・組込プログラミング
・機械設計

専門スキルを持った人
材をご提供いたします。
委託契約、派遣契約どちらも可能です。

AIアシスト

機械学習に関する業務に関して、どの工程でも必要なサービスをご提供致します。
46