SlideShare a Scribd company logo
1 of 37
新・深層の世紀
〜第3集 ディープラーニング・時代はAIを求めた 〜
LeapMind Inc.
Compiler Engineer
今井 健男 Takeo IMAI
新・深層の世紀
〜第3集 ディープラーニング・時代はAIを求めた 〜
エッジデバイスでのDeep Learning推論を
FPGAでどう実現するか
LeapMind Inc.
Compiler Engineer
今井 健男 Takeo IMAI
LeapMind Inc. © 2018
講演者紹介
今井健男 Takeo Imai
経歴
大阪大学基礎工学部情報工学科卒
LSI高位設計、HW&SW協調設計
東京大学大学院理学系研究科情報科学専攻 修士了
分散・並列プログラミング言語設計
長らく某大手電機メーカーの研究所に所属
LSI設計自動化(EDA)
プログラミング言語
ソフトウェア工学
の研究に従事
2017年、LeapMindにジョイン
Deep Learning 向けコンパイラ開発 を担当
訳書(共訳)
『抽象によるソフトウェア設計−Alloyではじめる形式手法−』
『型システム入門−プログラミング言語と型の理論−』
Agenda
1. エッジデバイスでDeep Learning推論を実現するために
2. 組込みDeep Learningのためのモデル圧縮
3. FPGA SoCを使った推論のアクセラレーション
4. まとめ
1.エッジデバイスで
Deep Learning推論を実現するために
LeapMind Inc. © 2018
組込みDeep Learningにおける課題
1. モデルのサイズが大きい
一般的なモデルで100MB〜数MB
某M社で利用しているモデルのサイズは15GB
2. デバイス・ハードウェアが貧弱
利用環境から来る電力、スペース等への様々な制約が存在
必然的に貧弱なデバイスを選択せざるを得ない
GPUは強力だが、電力使用量や発熱などの問題
LeapMind Inc. © 2018
1. モデルのサイズが大きい
一般的なモデルで100MB〜数MB
某M社で利用しているモデルのサイズは15GB
⇒ モデル圧縮
2. デバイス・ハードウェアが貧弱
利用環境から来る電力、スペース等への様々な制約が存在
必然的に貧弱なデバイスを選択せざるを得ない
GPUは強力だが、電力使用量や発熱などの問題
⇒ FPGAによるアクセラレーションの実現
組込みDeep Learningにおける課題
2. 組込みDeep Learningのための
モデル圧縮
LeapMind Inc. © 2018
Deep Learningにおける主なモデル圧縮手法
4
Distillation
蒸留
Sharing
共有
Pruning
剪定
Quantization
量子化
一旦学習したネットワーク(教師モデル)の出力を
再現するようなネットワーク(生徒モデル)を新たに学習
近い値を持つパラメータをデータ構造として共有
影響の小さいシナプスあるいはニューロンを削除
重みなどのパラメータのビット幅を削減
3
2
1
LeapMind Inc. © 2018
その前に)精度はどこまで重要か
りんご 92.6%
みかん 35.3%
…
画像分類の場合、多少の精度劣化は影響しない
りんご 75.0%
みかん 52.0%
…
LeapMind Inc. © 2018
その前に)精度はどこまで重要か
一方、たとえば物体検出の場合、
精度や誤差は領域の特定誤差に直接影響する
物体を覆う矩形(bounding box)が正しく描けなくなる
LeapMind Inc. © 2018
剪定 Pruning
目的に大きく影響しないシナプス
あるいはニューロンを刈る
これにより、データ量の圧縮と計算回数の
大幅な削減が同時に図れる
剪定によりテンソルが疎になるため
疎な箇所を圧縮して保持するデータ構造と
そのデータ構造を解釈するハードウェアを
用意すると効果が大きくなる
LeapMind Inc. © 2018
量子化 Quantization
DNNが保持するパラメータを
低ビット幅のデータに変換する
全体でのデータ量を削減できる他
ハードウェアの演算データパス幅を
削減する効果がある
特に1~2ビットにおいては積和演算を
XNORゲートで実現できるため
計算効率は飛躍的に向上する
低ビット表現で同じ値となるパラメータを
モデル内で共有することでサイズを圧縮できる
LeapMind Inc. © 2018
蒸留 Distillation
大きなDNNを教師モデルとし
その入出力を模擬するような
生徒モデルを小さなDNNで新たに学習させる
モデル圧縮の効果以外に、精度の向上を見込める場合もある
LeapMind Inc. © 2018
剪定に関する考察
再学習をしない剪定は容易に精度劣化を引き起こす
剪定と再学習を繰り返すことで、精度劣化を低減できる
Han et al., Learning both weights and connections for efficient neural networks, NIPS’15
LeapMind Inc. © 2018
剪定後の疎テンソル処理高速化
特定DNN
ハードウェア
汎用DNN
アクセラレータ
GPU
CPU
専用回路もしくはハードワイヤードに分岐処理
効率的な処理が可能
専用回路を組み込むことで
高圧縮率と高速化を同時に実現可能
スループットに特化した構造
疎な行列計算には非効率なアーキテクチャ
スループットよりもレイテンシ
分岐予測やキャッシュが外れるとオーバーヘッドが発生
LeapMind Inc. © 2018
量子化によるビット幅と各ネットワークの精度低下の関連性
出典:A Survey of FPGA Based Neural Network Accelerator: https://arxiv.org/abs/1712.08934
1%程度の誤差低下における許容範囲
精度を重視するなら量子化の限界は8ビット
LeapMind Inc. © 2018
量子化において考えるべきこと
対象となる
ハードウェアの選定
量子化ビット数
学習の必要性
LeapMind Inc. © 2018
量子化において考えるべきこと
対象となる
ハードウェアの選定
学習の必要性
8ビット整数または固定小数点数までの
量子化ならば
精度を落とさず実現可能
しかし特定ハードウェア
特に廉価なFPGAで8ビットでは多すぎる
量子化ビット数
LeapMind Inc. © 2018
量子化において考えるべきこと
対象となる
ハードウェアの選定
剪定と同様に
量子化も学習または再学習しながら
行うことによって
精度劣化を低減できることが
いくつかの研究で報告されている
量子化ビット数
学習の必要性
LeapMind Inc. © 2018
量子化において考えるべきこと
学習の必要性
GPUを採用する場合
8ビットより少ないビット数を採用しても
あまり意味がない
専用ハードウェアの場合
特に2値、3値を採用すると
乗算をXNORゲートで代替でき
大幅な省面積化と高速化が期待できる
量子化ビット数
対象となる
ハードウェアの選定
3. FPGA SoCを使ったDNN推論の
アクセラレーション
LeapMind, Inc. © 2018
DNNのサイズは大きい
圧縮しなければ、たとえば8.5MB(MobileNet)
究極に圧縮して89KB
エッジ向けFPGA内BRAMは~1MB
なので、FPGA内に収めることは可能
ただしDNNの設計や精度保証の仕方によっては
FPGA内に収まらず、Host RAMに出す必要あり
Deep LearningのためのHW(FPGA)アクセラレータ設計
CPU
Host RAM
FPGA logic
Computation unit
BRAM
DSP
Interconnec
t
課題
Interconnect通信が律速
なるべくFPGA内通信に収める
通信量を減らす
計算速度が遅い
FPGA/CPUに適した演算を利用する
高速な計算ユニットを使う
動作周波数を上げる
LeapMind, Inc. © 2018
通信コスト削減
計算リソース(面積)削減
対策1:量子化
CPU
Host RAM
FPGA logic
Computation unit
BRAM
DSP
Interconnec
t
LeapMind, Inc. © 2018
対策1:量子化
出典: A Survey of FPGA Based Neural Network Accelerator: https://arxiv.org/abs/1712.08934
量子化のスライドで示した各ビット幅に対して、加算と乗算器の合成に必要
なLUTとFFのリソースを示す。(Vivado2017.2を利用、xilinx XC7VX69T?)
LeapMind, Inc. © 2018
対策1:量子化
Float32に対してfixed16は約70%のリソース節約! → 1.4倍の高速化
量子化のスライドで示した各ビット幅に対して、加算と乗算器の合成に必要
なLUTとFFのリソースを示す。(Vivado2017.2を利用、xilinx XC7VX69T?)
出典: A Survey of FPGA Based Neural Network Accelerator: https://arxiv.org/abs/1712.08934
LeapMind, Inc. © 2018
対策1:量子化
Float32に対してfixed8は約93%のリソース節約!! → 約14倍
量子化のスライドで示した各ビット幅に対して、加算と乗算器の合成に必要
なLUTとFFのリソースを示す。(Vivado2017.2を利用、xilinx XC7VX69T?)
出典: A Survey of FPGA Based Neural Network Accelerator: https://arxiv.org/abs/1712.08934
LeapMind, Inc. © 2018
対策1:量子化
Float32に対してfixed4は約98%のリソース節約!!!! → 約54倍
量子化のスライドで示した各ビット幅に対して、加算と乗算器の合成に必要
なLUTとFFのリソースを示す。(Vivado2017.2を利用、xilinx XC7VX69T?)
出典: A Survey of FPGA Based Neural Network Accelerator: https://arxiv.org/abs/1712.08934
LeapMind, Inc. © 2018
FPGAにはFPGA(HW回路)が、CPUにはCPUが得意な演算が存在
よって、FPGAとCPUが得意な演算のみでニューラルネットワークを構成し
それぞれが得意な計算を連続して行えるように処理を設計
対策2:FPGA/CPUに適した演算を使う
CPU
Host RAM
FPGA logic
Computation unit
BRAM
DSP
Interconnec
t
LeapMind, Inc. © 2018
1ビット量子化の場合、全ての積和演算をXNORで実現可能
圧倒的な計算リソース(時間的・空間的)の効率化
ただし、精度を出すのは非常に難しい
複数ビットでの量子化であれば、積和演算のためにDSPを
積極的に活用することで高速な計算が可能に
対策2(a):積和演算の高速化
CPU
Host RAM
FPGA logic
Computation unit
BRAM
DSP
Interconnec
t
LeapMind, Inc. © 2018
FPGAは元来動作周波数が低いデバイスなので、様々な方策による周波数Upが有効
■テンソル積演算器のハードウェア化
■ニューロンの共有化による fan-in/fan-out 削減、ルーティング回避
■DSPの効率的活用
一般的なFPGA内DSP:理論的には 700-900MHz で動作
⇔ 実際には、RAMとの間のルーティングが律速して 100MHz-300MHz
対策3:動作周波数の最適化
CPU
Host RAM
FPGA logic
Computation unit
BRAM
DSP
Interconnec
t
LeapMind, Inc. © 2018
ネットワーク内の各ノードでの入出力は「テンソル」=多次元配列
よって、各ノードで多重ループを回して処理
→ ハードウェアに合わせた最適化をすることで高速化を図れる
例)
• 並列化
• タイリング(または「ブロック化」、ループをキャッシュが効くサイズに分割)
• テンソル化(一定の大きさのテンソルを分割、直接ハードウェアで処理)
→テンソルとHWのサイズに見合った分割を行うことが重要
その他の対策:多重ループの最適化
適切なループの分割 不適切なループの分割
4. まとめ
LeapMind Inc. © 2018
以下のお話をしました
組込みDeep Learningのためには、
1. モデルのサイズが大きい ⇒ モデル圧縮
2. デバイスが貧弱 ⇒ FPGAを使ったアクセラレーション
LeapMind Inc. © 2018
モデル圧縮 まとめ
■ 剪定、量子化、共有、蒸留 といった技術が存在
■ いずれも、再学習が前提 or 再学習なしでは
大幅な精度劣化を招く
■組込み環境でDeep Learningを実現するには
モデル圧縮とFPGAを組み合わせると効率的
LeapMind Inc. © 2018
FPGAを使ったアクセラレーション まとめ
■ CPU⇔FPGA間通信をなるべく削減する
■ FPGA/CPUに適した演算のみを利用する
■ 積和演算を高速化させる
■ 動作周波数の最適化させる
■ 多重ループを最適化させる
LeapMind Inc. © 2018 37
ご質問などございましたら、お気軽にご連絡ください。
deltatech@leapmimd.io
http://leapmind.io/

More Related Content

What's hot

[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
 
3万人が利用するリクルートのワイヤレス環境 ~リアクティブからプロアクティブへ~
3万人が利用するリクルートのワイヤレス環境 ~リアクティブからプロアクティブへ~3万人が利用するリクルートのワイヤレス環境 ~リアクティブからプロアクティブへ~
3万人が利用するリクルートのワイヤレス環境 ~リアクティブからプロアクティブへ~Recruit Technologies
 
Kubernetesによる機械学習基盤への挑戦
Kubernetesによる機械学習基盤への挑戦Kubernetesによる機械学習基盤への挑戦
Kubernetesによる機械学習基盤への挑戦Preferred Networks
 
エッジヘビーコンピューティングと機械学習
エッジヘビーコンピューティングと機械学習エッジヘビーコンピューティングと機械学習
エッジヘビーコンピューティングと機械学習Preferred Networks
 
Struggle against cross-domain data complexity in Recruit group
Struggle against cross-domain data complexity in Recruit groupStruggle against cross-domain data complexity in Recruit group
Struggle against cross-domain data complexity in Recruit groupRecruit Technologies
 
Light and shadow of microservices
Light and shadow of microservicesLight and shadow of microservices
Light and shadow of microservicesNobuhiro Sue
 
オートモーティブ事業におけるMLOps / ShibuyaSynapse #4
オートモーティブ事業におけるMLOps / ShibuyaSynapse #4オートモーティブ事業におけるMLOps / ShibuyaSynapse #4
オートモーティブ事業におけるMLOps / ShibuyaSynapse #4Shota Suzuki
 
SpringIO2019報告_Kotlin関連
SpringIO2019報告_Kotlin関連SpringIO2019報告_Kotlin関連
SpringIO2019報告_Kotlin関連ShingoKurihara1
 
Rancherを活用した開発事例の紹介 ~Rancherのメリットと辛いところ~
Rancherを活用した開発事例の紹介 ~Rancherのメリットと辛いところ~Rancherを活用した開発事例の紹介 ~Rancherのメリットと辛いところ~
Rancherを活用した開発事例の紹介 ~Rancherのメリットと辛いところ~Recruit Technologies
 
[db tech showcase Tokyo 2014] D25: 今を分析する日立の「CEP」、知るなら今でしょ! by 株式会社日立製作所 村上順一
 [db tech showcase Tokyo 2014] D25: 今を分析する日立の「CEP」、知るなら今でしょ!  by 株式会社日立製作所 村上順一 [db tech showcase Tokyo 2014] D25: 今を分析する日立の「CEP」、知るなら今でしょ!  by 株式会社日立製作所 村上順一
[db tech showcase Tokyo 2014] D25: 今を分析する日立の「CEP」、知るなら今でしょ! by 株式会社日立製作所 村上順一Insight Technology, Inc.
 
【Dll3】scskプレゼン20170904
【Dll3】scskプレゼン20170904【Dll3】scskプレゼン20170904
【Dll3】scskプレゼン20170904Hirono Jumpei
 
20180613 [TensorFlow分散学習] Horovodによる分散学習の実装方法と解説
20180613 [TensorFlow分散学習] Horovodによる分散学習の実装方法と解説20180613 [TensorFlow分散学習] Horovodによる分散学習の実装方法と解説
20180613 [TensorFlow分散学習] Horovodによる分散学習の実装方法と解説LeapMind Inc
 
第四回 関西放送機器展 - メディア業界におけるデジタルトランスフォーメーション
第四回 関西放送機器展 - メディア業界におけるデジタルトランスフォーメーション第四回 関西放送機器展 - メディア業界におけるデジタルトランスフォーメーション
第四回 関西放送機器展 - メディア業界におけるデジタルトランスフォーメーションDaiyu Hatakeyama
 
AI for Media 2018 - 放送/映像にまつわる AI 徹底解説 -
AI for Media 2018  - 放送/映像にまつわる AI 徹底解説 -AI for Media 2018  - 放送/映像にまつわる AI 徹底解説 -
AI for Media 2018 - 放送/映像にまつわる AI 徹底解説 -Daiyu Hatakeyama
 
リクルートにおけるマルチモーダル Deep Learning Web API 開発事例
リクルートにおけるマルチモーダル Deep Learning Web API 開発事例リクルートにおけるマルチモーダル Deep Learning Web API 開発事例
リクルートにおけるマルチモーダル Deep Learning Web API 開発事例Recruit Technologies
 

What's hot (20)

[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
 
3万人が利用するリクルートのワイヤレス環境 ~リアクティブからプロアクティブへ~
3万人が利用するリクルートのワイヤレス環境 ~リアクティブからプロアクティブへ~3万人が利用するリクルートのワイヤレス環境 ~リアクティブからプロアクティブへ~
3万人が利用するリクルートのワイヤレス環境 ~リアクティブからプロアクティブへ~
 
Kubernetesによる機械学習基盤への挑戦
Kubernetesによる機械学習基盤への挑戦Kubernetesによる機械学習基盤への挑戦
Kubernetesによる機械学習基盤への挑戦
 
エッジヘビーコンピューティングと機械学習
エッジヘビーコンピューティングと機械学習エッジヘビーコンピューティングと機械学習
エッジヘビーコンピューティングと機械学習
 
Struggle against cross-domain data complexity in Recruit group
Struggle against cross-domain data complexity in Recruit groupStruggle against cross-domain data complexity in Recruit group
Struggle against cross-domain data complexity in Recruit group
 
Light and shadow of microservices
Light and shadow of microservicesLight and shadow of microservices
Light and shadow of microservices
 
オートモーティブ事業におけるMLOps / ShibuyaSynapse #4
オートモーティブ事業におけるMLOps / ShibuyaSynapse #4オートモーティブ事業におけるMLOps / ShibuyaSynapse #4
オートモーティブ事業におけるMLOps / ShibuyaSynapse #4
 
Pepper+独自会話エンジン
Pepper+独自会話エンジンPepper+独自会話エンジン
Pepper+独自会話エンジン
 
SpringIO2019報告_Kotlin関連
SpringIO2019報告_Kotlin関連SpringIO2019報告_Kotlin関連
SpringIO2019報告_Kotlin関連
 
Rancherを活用した開発事例の紹介 ~Rancherのメリットと辛いところ~
Rancherを活用した開発事例の紹介 ~Rancherのメリットと辛いところ~Rancherを活用した開発事例の紹介 ~Rancherのメリットと辛いところ~
Rancherを活用した開発事例の紹介 ~Rancherのメリットと辛いところ~
 
[db tech showcase Tokyo 2014] D25: 今を分析する日立の「CEP」、知るなら今でしょ! by 株式会社日立製作所 村上順一
 [db tech showcase Tokyo 2014] D25: 今を分析する日立の「CEP」、知るなら今でしょ!  by 株式会社日立製作所 村上順一 [db tech showcase Tokyo 2014] D25: 今を分析する日立の「CEP」、知るなら今でしょ!  by 株式会社日立製作所 村上順一
[db tech showcase Tokyo 2014] D25: 今を分析する日立の「CEP」、知るなら今でしょ! by 株式会社日立製作所 村上順一
 
Data-Centric AIの紹介
Data-Centric AIの紹介Data-Centric AIの紹介
Data-Centric AIの紹介
 
Spring “BigData”
Spring “BigData”Spring “BigData”
Spring “BigData”
 
ニフクラでも できる!Kubernetes。
ニフクラでも できる!Kubernetes。ニフクラでも できる!Kubernetes。
ニフクラでも できる!Kubernetes。
 
【Dll3】scskプレゼン20170904
【Dll3】scskプレゼン20170904【Dll3】scskプレゼン20170904
【Dll3】scskプレゼン20170904
 
20180613 [TensorFlow分散学習] Horovodによる分散学習の実装方法と解説
20180613 [TensorFlow分散学習] Horovodによる分散学習の実装方法と解説20180613 [TensorFlow分散学習] Horovodによる分散学習の実装方法と解説
20180613 [TensorFlow分散学習] Horovodによる分散学習の実装方法と解説
 
GitLabのAutoDevOpsを試してみた
GitLabのAutoDevOpsを試してみたGitLabのAutoDevOpsを試してみた
GitLabのAutoDevOpsを試してみた
 
第四回 関西放送機器展 - メディア業界におけるデジタルトランスフォーメーション
第四回 関西放送機器展 - メディア業界におけるデジタルトランスフォーメーション第四回 関西放送機器展 - メディア業界におけるデジタルトランスフォーメーション
第四回 関西放送機器展 - メディア業界におけるデジタルトランスフォーメーション
 
AI for Media 2018 - 放送/映像にまつわる AI 徹底解説 -
AI for Media 2018  - 放送/映像にまつわる AI 徹底解説 -AI for Media 2018  - 放送/映像にまつわる AI 徹底解説 -
AI for Media 2018 - 放送/映像にまつわる AI 徹底解説 -
 
リクルートにおけるマルチモーダル Deep Learning Web API 開発事例
リクルートにおけるマルチモーダル Deep Learning Web API 開発事例リクルートにおけるマルチモーダル Deep Learning Web API 開発事例
リクルートにおけるマルチモーダル Deep Learning Web API 開発事例
 

Similar to 20180831 [DeLTA TECH] 新・深層の世紀 〜第3集 ディープラーニング・時代はAIを求めた 〜

2017秋「クラウドファースト時代における基幹業務システム開発革新セミナー」 超高速開発を実現するIBMクラウドの最新情報ご紹介2017
2017秋「クラウドファースト時代における基幹業務システム開発革新セミナー」 超高速開発を実現するIBMクラウドの最新情報ご紹介20172017秋「クラウドファースト時代における基幹業務システム開発革新セミナー」 超高速開発を実現するIBMクラウドの最新情報ご紹介2017
2017秋「クラウドファースト時代における基幹業務システム開発革新セミナー」 超高速開発を実現するIBMクラウドの最新情報ご紹介2017Tsuyoshi Hirayama
 
FPGA, AI, エッジコンピューティング
FPGA, AI, エッジコンピューティングFPGA, AI, エッジコンピューティング
FPGA, AI, エッジコンピューティングHideo Terada
 
オープンソースのビッグデータ・IoT向け スケールアウト型データベースGridDBとPython連携 〜GridDBとPythonと私〜
オープンソースのビッグデータ・IoT向け スケールアウト型データベースGridDBとPython連携 〜GridDBとPythonと私〜オープンソースのビッグデータ・IoT向け スケールアウト型データベースGridDBとPython連携 〜GridDBとPythonと私〜
オープンソースのビッグデータ・IoT向け スケールアウト型データベースGridDBとPython連携 〜GridDBとPythonと私〜griddb
 
Cedec2015 ゲームサーバー基盤の新しい選択肢
Cedec2015 ゲームサーバー基盤の新しい選択肢Cedec2015 ゲームサーバー基盤の新しい選択肢
Cedec2015 ゲームサーバー基盤の新しい選択肢Maho Takara
 
GTC 2016 基調講演からディープラーニング関連情報のご紹介
GTC 2016 基調講演からディープラーニング関連情報のご紹介GTC 2016 基調講演からディープラーニング関連情報のご紹介
GTC 2016 基調講演からディープラーニング関連情報のご紹介NVIDIA Japan
 
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
 
GTMF 2016:「KiQ」が拓くゲームサーバの未来 株式会社アトミテック
GTMF 2016:「KiQ」が拓くゲームサーバの未来 株式会社アトミテックGTMF 2016:「KiQ」が拓くゲームサーバの未来 株式会社アトミテック
GTMF 2016:「KiQ」が拓くゲームサーバの未来 株式会社アトミテックGame Tools & Middleware Forum
 
ソフトウェア技術者から見たFPGAの魅力と可能性
ソフトウェア技術者から見たFPGAの魅力と可能性ソフトウェア技術者から見たFPGAの魅力と可能性
ソフトウェア技術者から見たFPGAの魅力と可能性Kenichiro MITSUDA
 
Windows ChatGPT Bing AI
Windows ChatGPT Bing AIWindows ChatGPT Bing AI
Windows ChatGPT Bing AIAtomu Hidaka
 
201110 01 Polytech Center 1
201110 01 Polytech Center 1201110 01 Polytech Center 1
201110 01 Polytech Center 1openrtm
 
Microsoft Intelligent Edge Technologies
Microsoft Intelligent Edge TechnologiesMicrosoft Intelligent Edge Technologies
Microsoft Intelligent Edge TechnologiesTakeshi Fukuhara
 
Microsoft open tech night 2020 feb18
Microsoft open tech night 2020 feb18Microsoft open tech night 2020 feb18
Microsoft open tech night 2020 feb18Masatomo Ito
 
日立ソリューションズの取り組みとプラットフォーム関連セション内容のご紹介
日立ソリューションズの取り組みとプラットフォーム関連セション内容のご紹介日立ソリューションズの取り組みとプラットフォーム関連セション内容のご紹介
日立ソリューションズの取り組みとプラットフォーム関連セション内容のご紹介CASAREAL, Inc.
 
ONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタック
ONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタックONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタック
ONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタックKentaro Ebisawa
 
【FKEYセミナー 20150205 基調講演】「今こそクラウド活用」 講師:大和 敏彦 氏 (株式会社アイティアイ 代表取締役)
【FKEYセミナー 20150205 基調講演】「今こそクラウド活用」 講師:大和 敏彦 氏 (株式会社アイティアイ 代表取締役)【FKEYセミナー 20150205 基調講演】「今こそクラウド活用」 講師:大和 敏彦 氏 (株式会社アイティアイ 代表取締役)
【FKEYセミナー 20150205 基調講演】「今こそクラウド活用」 講師:大和 敏彦 氏 (株式会社アイティアイ 代表取締役)appliedelectronics
 
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直久 住川
 
Microsoft Intelligent Edge Technologies
Microsoft Intelligent Edge TechnologiesMicrosoft Intelligent Edge Technologies
Microsoft Intelligent Edge TechnologiesTakeshi Fukuhara
 
de:code2018 登壇資料
de:code2018 登壇資料de:code2018 登壇資料
de:code2018 登壇資料Hiroshi Senga
 

Similar to 20180831 [DeLTA TECH] 新・深層の世紀 〜第3集 ディープラーニング・時代はAIを求めた 〜 (20)

2017秋「クラウドファースト時代における基幹業務システム開発革新セミナー」 超高速開発を実現するIBMクラウドの最新情報ご紹介2017
2017秋「クラウドファースト時代における基幹業務システム開発革新セミナー」 超高速開発を実現するIBMクラウドの最新情報ご紹介20172017秋「クラウドファースト時代における基幹業務システム開発革新セミナー」 超高速開発を実現するIBMクラウドの最新情報ご紹介2017
2017秋「クラウドファースト時代における基幹業務システム開発革新セミナー」 超高速開発を実現するIBMクラウドの最新情報ご紹介2017
 
FPGA, AI, エッジコンピューティング
FPGA, AI, エッジコンピューティングFPGA, AI, エッジコンピューティング
FPGA, AI, エッジコンピューティング
 
オープンソースのビッグデータ・IoT向け スケールアウト型データベースGridDBとPython連携 〜GridDBとPythonと私〜
オープンソースのビッグデータ・IoT向け スケールアウト型データベースGridDBとPython連携 〜GridDBとPythonと私〜オープンソースのビッグデータ・IoT向け スケールアウト型データベースGridDBとPython連携 〜GridDBとPythonと私〜
オープンソースのビッグデータ・IoT向け スケールアウト型データベースGridDBとPython連携 〜GridDBとPythonと私〜
 
Cedec2015 ゲームサーバー基盤の新しい選択肢
Cedec2015 ゲームサーバー基盤の新しい選択肢Cedec2015 ゲームサーバー基盤の新しい選択肢
Cedec2015 ゲームサーバー基盤の新しい選択肢
 
GTC 2016 基調講演からディープラーニング関連情報のご紹介
GTC 2016 基調講演からディープラーニング関連情報のご紹介GTC 2016 基調講演からディープラーニング関連情報のご紹介
GTC 2016 基調講演からディープラーニング関連情報のご紹介
 
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
 
GTMF 2016:「KiQ」が拓くゲームサーバの未来 株式会社アトミテック
GTMF 2016:「KiQ」が拓くゲームサーバの未来 株式会社アトミテックGTMF 2016:「KiQ」が拓くゲームサーバの未来 株式会社アトミテック
GTMF 2016:「KiQ」が拓くゲームサーバの未来 株式会社アトミテック
 
Smfl20201001
Smfl20201001Smfl20201001
Smfl20201001
 
ソフトウェア技術者から見たFPGAの魅力と可能性
ソフトウェア技術者から見たFPGAの魅力と可能性ソフトウェア技術者から見たFPGAの魅力と可能性
ソフトウェア技術者から見たFPGAの魅力と可能性
 
Windows ChatGPT Bing AI
Windows ChatGPT Bing AIWindows ChatGPT Bing AI
Windows ChatGPT Bing AI
 
201110 01 Polytech Center 1
201110 01 Polytech Center 1201110 01 Polytech Center 1
201110 01 Polytech Center 1
 
Microsoft Intelligent Edge Technologies
Microsoft Intelligent Edge TechnologiesMicrosoft Intelligent Edge Technologies
Microsoft Intelligent Edge Technologies
 
Microsoft open tech night 2020 feb18
Microsoft open tech night 2020 feb18Microsoft open tech night 2020 feb18
Microsoft open tech night 2020 feb18
 
日立ソリューションズの取り組みとプラットフォーム関連セション内容のご紹介
日立ソリューションズの取り組みとプラットフォーム関連セション内容のご紹介日立ソリューションズの取り組みとプラットフォーム関連セション内容のご紹介
日立ソリューションズの取り組みとプラットフォーム関連セション内容のご紹介
 
ONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタック
ONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタックONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタック
ONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタック
 
【FKEYセミナー 20150205 基調講演】「今こそクラウド活用」 講師:大和 敏彦 氏 (株式会社アイティアイ 代表取締役)
【FKEYセミナー 20150205 基調講演】「今こそクラウド活用」 講師:大和 敏彦 氏 (株式会社アイティアイ 代表取締役)【FKEYセミナー 20150205 基調講演】「今こそクラウド活用」 講師:大和 敏彦 氏 (株式会社アイティアイ 代表取締役)
【FKEYセミナー 20150205 基調講演】「今こそクラウド活用」 講師:大和 敏彦 氏 (株式会社アイティアイ 代表取締役)
 
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
 
Klocworkのご紹介
Klocworkのご紹介Klocworkのご紹介
Klocworkのご紹介
 
Microsoft Intelligent Edge Technologies
Microsoft Intelligent Edge TechnologiesMicrosoft Intelligent Edge Technologies
Microsoft Intelligent Edge Technologies
 
de:code2018 登壇資料
de:code2018 登壇資料de:code2018 登壇資料
de:code2018 登壇資料
 

More from LeapMind Inc

Final presentation optical flow estimation with DL
Final presentation  optical flow estimation with DLFinal presentation  optical flow estimation with DL
Final presentation optical flow estimation with DLLeapMind Inc
 
Survey on optical flow estimation with DL
Survey on optical flow estimation with DLSurvey on optical flow estimation with DL
Survey on optical flow estimation with DLLeapMind Inc
 
[Icml2019] mix hop higher-order graph convolutional architectures via spars...
[Icml2019]  mix hop  higher-order graph convolutional architectures via spars...[Icml2019]  mix hop  higher-order graph convolutional architectures via spars...
[Icml2019] mix hop higher-order graph convolutional architectures via spars...LeapMind Inc
 
[Icml2019]LIT: Learned Intermediate Representation Training for Model Compres...
[Icml2019]LIT: Learned Intermediate Representation Training for Model Compres...[Icml2019]LIT: Learned Intermediate Representation Training for Model Compres...
[Icml2019]LIT: Learned Intermediate Representation Training for Model Compres...LeapMind Inc
 
[Icml2019] parameter efficient training of deep convolutional neural network...
[Icml2019] parameter efficient training of  deep convolutional neural network...[Icml2019] parameter efficient training of  deep convolutional neural network...
[Icml2019] parameter efficient training of deep convolutional neural network...LeapMind Inc
 
エッジ向けDeepLearningプロジェクトで必要なこと
エッジ向けDeepLearningプロジェクトで必要なことエッジ向けDeepLearningプロジェクトで必要なこと
エッジ向けDeepLearningプロジェクトで必要なことLeapMind Inc
 
20190227[EDLS]JAL's INNOVATION エアラインのAI活用
20190227[EDLS]JAL's INNOVATION エアラインのAI活用20190227[EDLS]JAL's INNOVATION エアラインのAI活用
20190227[EDLS]JAL's INNOVATION エアラインのAI活用LeapMind Inc
 
E20190227[EDLS]インテル®︎FPGAによるエッジAI
E20190227[EDLS]インテル®︎FPGAによるエッジAIE20190227[EDLS]インテル®︎FPGAによるエッジAI
E20190227[EDLS]インテル®︎FPGAによるエッジAILeapMind Inc
 
20190227[EDLS]進化するAI on Edge 〜 CloudとEdgeの最適な関係
20190227[EDLS]進化するAI on Edge 〜 CloudとEdgeの最適な関係20190227[EDLS]進化するAI on Edge 〜 CloudとEdgeの最適な関係
20190227[EDLS]進化するAI on Edge 〜 CloudとEdgeの最適な関係LeapMind Inc
 
20180831 [DeLTA TECH] 深く青い脂
20180831 [DeLTA TECH] 深く青い脂20180831 [DeLTA TECH] 深く青い脂
20180831 [DeLTA TECH] 深く青い脂LeapMind Inc
 
An Introduction of DNN Compression Technology and Hardware Acceleration on FPGA
An Introduction of DNN Compression Technology and Hardware Acceleration on FPGAAn Introduction of DNN Compression Technology and Hardware Acceleration on FPGA
An Introduction of DNN Compression Technology and Hardware Acceleration on FPGALeapMind Inc
 
2018年1月19日開催 IoTビジネス共創ラボ 第6回勉強会
2018年1月19日開催 IoTビジネス共創ラボ 第6回勉強会2018年1月19日開催 IoTビジネス共創ラボ 第6回勉強会
2018年1月19日開催 IoTビジネス共創ラボ 第6回勉強会LeapMind Inc
 

More from LeapMind Inc (13)

Final presentation optical flow estimation with DL
Final presentation  optical flow estimation with DLFinal presentation  optical flow estimation with DL
Final presentation optical flow estimation with DL
 
Survey on optical flow estimation with DL
Survey on optical flow estimation with DLSurvey on optical flow estimation with DL
Survey on optical flow estimation with DL
 
[Icml2019] mix hop higher-order graph convolutional architectures via spars...
[Icml2019]  mix hop  higher-order graph convolutional architectures via spars...[Icml2019]  mix hop  higher-order graph convolutional architectures via spars...
[Icml2019] mix hop higher-order graph convolutional architectures via spars...
 
[Icml2019]LIT: Learned Intermediate Representation Training for Model Compres...
[Icml2019]LIT: Learned Intermediate Representation Training for Model Compres...[Icml2019]LIT: Learned Intermediate Representation Training for Model Compres...
[Icml2019]LIT: Learned Intermediate Representation Training for Model Compres...
 
[Icml2019] parameter efficient training of deep convolutional neural network...
[Icml2019] parameter efficient training of  deep convolutional neural network...[Icml2019] parameter efficient training of  deep convolutional neural network...
[Icml2019] parameter efficient training of deep convolutional neural network...
 
エッジ向けDeepLearningプロジェクトで必要なこと
エッジ向けDeepLearningプロジェクトで必要なことエッジ向けDeepLearningプロジェクトで必要なこと
エッジ向けDeepLearningプロジェクトで必要なこと
 
20190227[EDLS]JAL's INNOVATION エアラインのAI活用
20190227[EDLS]JAL's INNOVATION エアラインのAI活用20190227[EDLS]JAL's INNOVATION エアラインのAI活用
20190227[EDLS]JAL's INNOVATION エアラインのAI活用
 
E20190227[EDLS]インテル®︎FPGAによるエッジAI
E20190227[EDLS]インテル®︎FPGAによるエッジAIE20190227[EDLS]インテル®︎FPGAによるエッジAI
E20190227[EDLS]インテル®︎FPGAによるエッジAI
 
20190227[EDLS]進化するAI on Edge 〜 CloudとEdgeの最適な関係
20190227[EDLS]進化するAI on Edge 〜 CloudとEdgeの最適な関係20190227[EDLS]進化するAI on Edge 〜 CloudとEdgeの最適な関係
20190227[EDLS]進化するAI on Edge 〜 CloudとEdgeの最適な関係
 
20180831 [DeLTA TECH] 深く青い脂
20180831 [DeLTA TECH] 深く青い脂20180831 [DeLTA TECH] 深く青い脂
20180831 [DeLTA TECH] 深く青い脂
 
An Introduction of DNN Compression Technology and Hardware Acceleration on FPGA
An Introduction of DNN Compression Technology and Hardware Acceleration on FPGAAn Introduction of DNN Compression Technology and Hardware Acceleration on FPGA
An Introduction of DNN Compression Technology and Hardware Acceleration on FPGA
 
2018年1月19日開催 IoTビジネス共創ラボ 第6回勉強会
2018年1月19日開催 IoTビジネス共創ラボ 第6回勉強会2018年1月19日開催 IoTビジネス共創ラボ 第6回勉強会
2018年1月19日開催 IoTビジネス共創ラボ 第6回勉強会
 
Pitch v2.2
Pitch v2.2Pitch v2.2
Pitch v2.2
 

20180831 [DeLTA TECH] 新・深層の世紀 〜第3集 ディープラーニング・時代はAIを求めた 〜

  • 2. 新・深層の世紀 〜第3集 ディープラーニング・時代はAIを求めた 〜 エッジデバイスでのDeep Learning推論を FPGAでどう実現するか LeapMind Inc. Compiler Engineer 今井 健男 Takeo IMAI
  • 3. LeapMind Inc. © 2018 講演者紹介 今井健男 Takeo Imai 経歴 大阪大学基礎工学部情報工学科卒 LSI高位設計、HW&SW協調設計 東京大学大学院理学系研究科情報科学専攻 修士了 分散・並列プログラミング言語設計 長らく某大手電機メーカーの研究所に所属 LSI設計自動化(EDA) プログラミング言語 ソフトウェア工学 の研究に従事 2017年、LeapMindにジョイン Deep Learning 向けコンパイラ開発 を担当 訳書(共訳) 『抽象によるソフトウェア設計−Alloyではじめる形式手法−』 『型システム入門−プログラミング言語と型の理論−』
  • 4. Agenda 1. エッジデバイスでDeep Learning推論を実現するために 2. 組込みDeep Learningのためのモデル圧縮 3. FPGA SoCを使った推論のアクセラレーション 4. まとめ
  • 6. LeapMind Inc. © 2018 組込みDeep Learningにおける課題 1. モデルのサイズが大きい 一般的なモデルで100MB〜数MB 某M社で利用しているモデルのサイズは15GB 2. デバイス・ハードウェアが貧弱 利用環境から来る電力、スペース等への様々な制約が存在 必然的に貧弱なデバイスを選択せざるを得ない GPUは強力だが、電力使用量や発熱などの問題
  • 7. LeapMind Inc. © 2018 1. モデルのサイズが大きい 一般的なモデルで100MB〜数MB 某M社で利用しているモデルのサイズは15GB ⇒ モデル圧縮 2. デバイス・ハードウェアが貧弱 利用環境から来る電力、スペース等への様々な制約が存在 必然的に貧弱なデバイスを選択せざるを得ない GPUは強力だが、電力使用量や発熱などの問題 ⇒ FPGAによるアクセラレーションの実現 組込みDeep Learningにおける課題
  • 9. LeapMind Inc. © 2018 Deep Learningにおける主なモデル圧縮手法 4 Distillation 蒸留 Sharing 共有 Pruning 剪定 Quantization 量子化 一旦学習したネットワーク(教師モデル)の出力を 再現するようなネットワーク(生徒モデル)を新たに学習 近い値を持つパラメータをデータ構造として共有 影響の小さいシナプスあるいはニューロンを削除 重みなどのパラメータのビット幅を削減 3 2 1
  • 10. LeapMind Inc. © 2018 その前に)精度はどこまで重要か りんご 92.6% みかん 35.3% … 画像分類の場合、多少の精度劣化は影響しない りんご 75.0% みかん 52.0% …
  • 11. LeapMind Inc. © 2018 その前に)精度はどこまで重要か 一方、たとえば物体検出の場合、 精度や誤差は領域の特定誤差に直接影響する 物体を覆う矩形(bounding box)が正しく描けなくなる
  • 12. LeapMind Inc. © 2018 剪定 Pruning 目的に大きく影響しないシナプス あるいはニューロンを刈る これにより、データ量の圧縮と計算回数の 大幅な削減が同時に図れる 剪定によりテンソルが疎になるため 疎な箇所を圧縮して保持するデータ構造と そのデータ構造を解釈するハードウェアを 用意すると効果が大きくなる
  • 13. LeapMind Inc. © 2018 量子化 Quantization DNNが保持するパラメータを 低ビット幅のデータに変換する 全体でのデータ量を削減できる他 ハードウェアの演算データパス幅を 削減する効果がある 特に1~2ビットにおいては積和演算を XNORゲートで実現できるため 計算効率は飛躍的に向上する 低ビット表現で同じ値となるパラメータを モデル内で共有することでサイズを圧縮できる
  • 14. LeapMind Inc. © 2018 蒸留 Distillation 大きなDNNを教師モデルとし その入出力を模擬するような 生徒モデルを小さなDNNで新たに学習させる モデル圧縮の効果以外に、精度の向上を見込める場合もある
  • 15. LeapMind Inc. © 2018 剪定に関する考察 再学習をしない剪定は容易に精度劣化を引き起こす 剪定と再学習を繰り返すことで、精度劣化を低減できる Han et al., Learning both weights and connections for efficient neural networks, NIPS’15
  • 16. LeapMind Inc. © 2018 剪定後の疎テンソル処理高速化 特定DNN ハードウェア 汎用DNN アクセラレータ GPU CPU 専用回路もしくはハードワイヤードに分岐処理 効率的な処理が可能 専用回路を組み込むことで 高圧縮率と高速化を同時に実現可能 スループットに特化した構造 疎な行列計算には非効率なアーキテクチャ スループットよりもレイテンシ 分岐予測やキャッシュが外れるとオーバーヘッドが発生
  • 17. LeapMind Inc. © 2018 量子化によるビット幅と各ネットワークの精度低下の関連性 出典:A Survey of FPGA Based Neural Network Accelerator: https://arxiv.org/abs/1712.08934 1%程度の誤差低下における許容範囲 精度を重視するなら量子化の限界は8ビット
  • 18. LeapMind Inc. © 2018 量子化において考えるべきこと 対象となる ハードウェアの選定 量子化ビット数 学習の必要性
  • 19. LeapMind Inc. © 2018 量子化において考えるべきこと 対象となる ハードウェアの選定 学習の必要性 8ビット整数または固定小数点数までの 量子化ならば 精度を落とさず実現可能 しかし特定ハードウェア 特に廉価なFPGAで8ビットでは多すぎる 量子化ビット数
  • 20. LeapMind Inc. © 2018 量子化において考えるべきこと 対象となる ハードウェアの選定 剪定と同様に 量子化も学習または再学習しながら 行うことによって 精度劣化を低減できることが いくつかの研究で報告されている 量子化ビット数 学習の必要性
  • 21. LeapMind Inc. © 2018 量子化において考えるべきこと 学習の必要性 GPUを採用する場合 8ビットより少ないビット数を採用しても あまり意味がない 専用ハードウェアの場合 特に2値、3値を採用すると 乗算をXNORゲートで代替でき 大幅な省面積化と高速化が期待できる 量子化ビット数 対象となる ハードウェアの選定
  • 23. LeapMind, Inc. © 2018 DNNのサイズは大きい 圧縮しなければ、たとえば8.5MB(MobileNet) 究極に圧縮して89KB エッジ向けFPGA内BRAMは~1MB なので、FPGA内に収めることは可能 ただしDNNの設計や精度保証の仕方によっては FPGA内に収まらず、Host RAMに出す必要あり Deep LearningのためのHW(FPGA)アクセラレータ設計 CPU Host RAM FPGA logic Computation unit BRAM DSP Interconnec t 課題 Interconnect通信が律速 なるべくFPGA内通信に収める 通信量を減らす 計算速度が遅い FPGA/CPUに適した演算を利用する 高速な計算ユニットを使う 動作周波数を上げる
  • 24. LeapMind, Inc. © 2018 通信コスト削減 計算リソース(面積)削減 対策1:量子化 CPU Host RAM FPGA logic Computation unit BRAM DSP Interconnec t
  • 25. LeapMind, Inc. © 2018 対策1:量子化 出典: A Survey of FPGA Based Neural Network Accelerator: https://arxiv.org/abs/1712.08934 量子化のスライドで示した各ビット幅に対して、加算と乗算器の合成に必要 なLUTとFFのリソースを示す。(Vivado2017.2を利用、xilinx XC7VX69T?)
  • 26. LeapMind, Inc. © 2018 対策1:量子化 Float32に対してfixed16は約70%のリソース節約! → 1.4倍の高速化 量子化のスライドで示した各ビット幅に対して、加算と乗算器の合成に必要 なLUTとFFのリソースを示す。(Vivado2017.2を利用、xilinx XC7VX69T?) 出典: A Survey of FPGA Based Neural Network Accelerator: https://arxiv.org/abs/1712.08934
  • 27. LeapMind, Inc. © 2018 対策1:量子化 Float32に対してfixed8は約93%のリソース節約!! → 約14倍 量子化のスライドで示した各ビット幅に対して、加算と乗算器の合成に必要 なLUTとFFのリソースを示す。(Vivado2017.2を利用、xilinx XC7VX69T?) 出典: A Survey of FPGA Based Neural Network Accelerator: https://arxiv.org/abs/1712.08934
  • 28. LeapMind, Inc. © 2018 対策1:量子化 Float32に対してfixed4は約98%のリソース節約!!!! → 約54倍 量子化のスライドで示した各ビット幅に対して、加算と乗算器の合成に必要 なLUTとFFのリソースを示す。(Vivado2017.2を利用、xilinx XC7VX69T?) 出典: A Survey of FPGA Based Neural Network Accelerator: https://arxiv.org/abs/1712.08934
  • 29. LeapMind, Inc. © 2018 FPGAにはFPGA(HW回路)が、CPUにはCPUが得意な演算が存在 よって、FPGAとCPUが得意な演算のみでニューラルネットワークを構成し それぞれが得意な計算を連続して行えるように処理を設計 対策2:FPGA/CPUに適した演算を使う CPU Host RAM FPGA logic Computation unit BRAM DSP Interconnec t
  • 30. LeapMind, Inc. © 2018 1ビット量子化の場合、全ての積和演算をXNORで実現可能 圧倒的な計算リソース(時間的・空間的)の効率化 ただし、精度を出すのは非常に難しい 複数ビットでの量子化であれば、積和演算のためにDSPを 積極的に活用することで高速な計算が可能に 対策2(a):積和演算の高速化 CPU Host RAM FPGA logic Computation unit BRAM DSP Interconnec t
  • 31. LeapMind, Inc. © 2018 FPGAは元来動作周波数が低いデバイスなので、様々な方策による周波数Upが有効 ■テンソル積演算器のハードウェア化 ■ニューロンの共有化による fan-in/fan-out 削減、ルーティング回避 ■DSPの効率的活用 一般的なFPGA内DSP:理論的には 700-900MHz で動作 ⇔ 実際には、RAMとの間のルーティングが律速して 100MHz-300MHz 対策3:動作周波数の最適化 CPU Host RAM FPGA logic Computation unit BRAM DSP Interconnec t
  • 32. LeapMind, Inc. © 2018 ネットワーク内の各ノードでの入出力は「テンソル」=多次元配列 よって、各ノードで多重ループを回して処理 → ハードウェアに合わせた最適化をすることで高速化を図れる 例) • 並列化 • タイリング(または「ブロック化」、ループをキャッシュが効くサイズに分割) • テンソル化(一定の大きさのテンソルを分割、直接ハードウェアで処理) →テンソルとHWのサイズに見合った分割を行うことが重要 その他の対策:多重ループの最適化 適切なループの分割 不適切なループの分割
  • 34. LeapMind Inc. © 2018 以下のお話をしました 組込みDeep Learningのためには、 1. モデルのサイズが大きい ⇒ モデル圧縮 2. デバイスが貧弱 ⇒ FPGAを使ったアクセラレーション
  • 35. LeapMind Inc. © 2018 モデル圧縮 まとめ ■ 剪定、量子化、共有、蒸留 といった技術が存在 ■ いずれも、再学習が前提 or 再学習なしでは 大幅な精度劣化を招く ■組込み環境でDeep Learningを実現するには モデル圧縮とFPGAを組み合わせると効率的
  • 36. LeapMind Inc. © 2018 FPGAを使ったアクセラレーション まとめ ■ CPU⇔FPGA間通信をなるべく削減する ■ FPGA/CPUに適した演算のみを利用する ■ 積和演算を高速化させる ■ 動作周波数の最適化させる ■ 多重ループを最適化させる
  • 37. LeapMind Inc. © 2018 37 ご質問などございましたら、お気軽にご連絡ください。 deltatech@leapmimd.io http://leapmind.io/