Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

An Introduction of DNN Compression Technology and Hardware Acceleration on FPGA

4,512 views

Published on

2018/2/17 FPGAX @ DOWANGO 
https://fpgax.connpass.com/event/77616/

LeapMind, inc. 
Architecture Unit Leader  山田 貴登 

<イベント概要> 
近年、ディープラーニング技術の発達から、小型組み込み機器やモバイル等のエッジデバイス上でそれらを利用したいという要望が出てました。しかし、多くのエッジデバイスは計算資源や電力供給に制約があり、実用的なDNNを動作させるには多くの問題があります。LeapMindでは、DNNを構築するソフトウェアとその実行を行うハードウェアの双方を最適化し、計算量やメモリ使用量を削減することで、レイテンシや消費電力問題の解決に取り組んでいます。今回はその一環として、DNNのモデル圧縮と最新研究を組み合わせた理想的なFPGA NNアクセラレータの性能の見積もりをご紹介します。 

<講演者プロフィール> 
LeapMind株式会社でDNNの高速化手法やFPGAを用いたアクセラレータや、各種機械学習フレームワークからマルチ環境で動作するプログラムを生成するツールJuiz-DLKの開発を担当。

Published in: Devices & Hardware
  • Hi there! I just wanted to share a list of sites that helped me a lot during my studies: .................................................................................................................................... www.EssayWrite.best - Write an essay .................................................................................................................................... www.LitReview.xyz - Summary of books .................................................................................................................................... www.Coursework.best - Online coursework .................................................................................................................................... www.Dissertations.me - proquest dissertations .................................................................................................................................... www.ReMovie.club - Movies reviews .................................................................................................................................... www.WebSlides.vip - Best powerpoint presentations .................................................................................................................................... www.WritePaper.info - Write a research paper .................................................................................................................................... www.EddyHelp.com - Homework help online .................................................................................................................................... www.MyResumeHelp.net - Professional resume writing service .................................................................................................................................. www.HelpWriting.net - Help with writing any papers ......................................................................................................................................... Save so as not to lose
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Dating direct: ♥♥♥ http://bit.ly/36cXjBY ♥♥♥
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Follow the link, new dating source: ❤❤❤ http://bit.ly/36cXjBY ❤❤❤
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

An Introduction of DNN Compression Technology and Hardware Acceleration on FPGA

  1. 1. LeapMind, inc. Architecture Unit Leader 山田 貴登 2018/2/17 FPGAX @ DOWANGO An Introduction of DNN Compression Technology and Hardware Acceleration on FPGA
  2. 2. Contents 1. 発表者とLeapMindの紹介(ちょっと) 2. DeepLearningのおさらい(ちょっと) 3. FPGAのNNアクセラレーションの現状 4. FPGAのNNアクセラレーション技術の紹介 1. SWからのアプローチ(ちょっと) 2. HWからのアプローチ 3. 結果 5. 問題と解決策 6. まとめ
  3. 3. LeapMind, Inc. © 2017 山田貴登 Takato Yamada 役割 LeapMind株式会社でDNNの高速化手法やFPGAを用いたアクセラレータや 各種機械学習フレームワークからマルチ環境で動作するプログラムを生成するツール Juiz-DLKの開発を担当。 趣味 • コンピュータに関するもの笑 • バドミントン ブログ http://cparch-mclearn.blogspot.jp/ 機会学習や計算機科学に関する内容を掲載中。 去年の末に初めたばかりでほとんど記事が ないのは内緒。(´-`) Twitter @tkclimb0911 (ティーケークライムと読む??) 発表者紹介
  4. 4. LeapMind, Inc. © 2017 LeapMindの紹介: 会社概要 & ビジネス Company LeapMind株式会社 Established in 2012年12月25日 Capital 781,984,235円 (総投資額 $14M) CEO 松田 総一 Major Shareholder Intel capital、伊藤忠テクノロジー ベンチャーズ、Visionnaire Ventures、NTTデータ、NECキャ ピタル Employees 47名 Head Office 渋谷区円山町28-1 渋谷道玄坂スカイビル 5F 研究 ソリューション ライセンス サービス提供共同研究 技術提供
  5. 5. LeapMind, Inc. © 2017 LeapMindの紹介: オフィス移転のお知らせ オフィスを渋谷円山町に移転しました! 勉強会なども随時開始するので、是非お越しください。 初めは円山町をえんざんちょう(演算)と読み違えて喜んでいましたが、 違います!! まるやまちょうです!!( ´-`)
  6. 6. LeapMind, Inc. © 2017 LeapMindの紹介: 対象マーケット Calculation Environment for GPU New Market Calculation Environment Calculation Environment for Cloud
  7. 7. LeapMind, Inc. © 2017 LeapMindの紹介: 対象アプリケーション • 自動運転車 • 瓦礫撤去ロボット • 発電所での異常検知 • 食物の異物混入検査 • ドローンを用いたビル監視 • スマート家電 • etc.
  8. 8. FPGAのNNアクセラレーションの現状
  9. 9. LeapMind, Inc. © 2017 NNアクセラレータ戦国時代 FPGAをNNアクセラレータのメインの1つとして利用しているが、 世の中には既に様々なNNアクセラレータASICで溢れている。 月刊 Interface 2月号, CQ出版, p14, http://www.kumikomi.net/interface/contents/201802.php VS !?
  10. 10. LeapMind, Inc. © 2017 FPGAのNNアクセラレーションの現状: ベースライン FPGAを用いたSW、HW共に工夫を加えていないNNアクセラレータ(GX1150)。 Optimizing FPGA-based Accelerator Design for Deep Convolutional Neural Networks, https://dl.acm.org/citation.cfm?id=2689060 スループット [GOPS] エネルギー効率 [GOPS/J] 866 20.75 主要なNNアクセラレータと比べてみると… ほぼ全てに負けている。。_| ̄|◯ スループット [GOPS] エネルギー効率 [GOPS/J] FPGA 866 20.75 V100 120000 400 TPU 92000 2300 Xavier 20000 1000 Miriad2 3000 6000 Google Pixel 24000 x
  11. 11. LeapMind, Inc. © 2017 <<< 越えられない壁 <<<< FPGAのNNアクセラレーションの現状: ベースライン つまり、特に工夫のないFPGA NNアクセラレータだと、
  12. 12. LeapMind, Inc. © 2017 FPGAのNNアクセラレーションの可能性は無限大!? しかし、FPGAは再構成可能であり、 設計に工夫を凝らすことこそがFPGAの本質である。 なんとかして、他のNNアクセラレータに勝てるような NNアクセラレータを作りたい。 提案されているNNアクセラレーションの研究を組み合わせて、 より強いNNアクセータレータを考えよう!(※理論値の見積もりのみ)
  13. 13. LeapMind, Inc. © 2017 NNのHWアクセラレーションの研究 : 概要 NNのHWアクセラレーションについてよくまとめられた 3つのサーベイ論文。 • Efficient Processing of Deep Neural Networks: A Tutorial and Survey http://eyeriss.mit.edu/tutorial.html • Deep Learning on FPGAs: Past, Present, and Future https://arxiv.org/abs/1602.04283 • A Survey of FPGA Based Neural Network Accelerator https://arxiv.org/abs/1712.08934
  14. 14. LeapMind, Inc. © 2017 A Survey of FPGA Based Neural Network Accelerator 2017年12月24日(日曜日) クリスマスイブ! にarXiv上に公開された ある意味少し可哀想なサーベイ論文。 この時、主も部屋で一人で論文を読んでいた記憶があるので感慨深い1本である。 FPGAにおける既存のNNアクセラレータについての紹介と速度と エネルギー効率の面から解析および比較を行っている。結論として、 各技術を組み合わせた理想的なFPGA NNアクセラレータの性能見積もり を提示している。 今回紹介する組み合わせ及び結果はほとんどこの論文に載っているので、 気になる方はぜひ読んでみてください。(一部、計算過程が不明だったので最後の結果は多少改変している。) また、全文の日本語訳も本発表の後にブログにて掲載します。 A Survey of FPGA Based Neural Network Accelerator: https://arxiv.org/abs/1712.08934
  15. 15. LeapMind, Inc. © 2017 FPGAによるNNアクセラレータに用いられている手法の分類 A Survey of FPGA Based Neural Network Accelerator: https://arxiv.org/abs/1712.08934 異なる領域に含まれる技術は組み合わせ可能!! 1. SWからのアプローチ - データの量子化 - モデルのプルーニング 2. HWからのアプローチ - 計算ユニットレベル 1. 低ビット幅ユニット 2. 高速コンボリューション 3. DSP最適化 4. 動作周波数最適化 -ループアンローリングレベル -システムデザインレベル
  16. 16. LeapMind, Inc. © 2017 DeepLearningのおさらい: FC layer(推論のみ) 入力層のニューロン(xi)を重み(wij)を介して次の層のニューロン(yj) に接続する。2つの層における数式は単純な行列-ベクトル積で 表すことができる。 Efficient Processing of Deep Neural Networks: A Tutorial and Survey, http://eyeriss.mit.edu/tutorial.html
  17. 17. LeapMind, Inc. © 2017 DeepLearningのおさらい: Recurrent & Sparse(推論のみ) 応用として、各ニューロンを自身に接続するRecurrent (a)や、 ニューロン間の結合を疎にするSparse Connection (b)などがある。 Efficient Processing of Deep Neural Networks: A Tutorial and Survey, http://eyeriss.mit.edu/tutorial.html
  18. 18. LeapMind, Inc. © 2017 DeepLearningのおさらい: Convolution layer(推論のみ) Efficient Processing of Deep Neural Networks: A Tutorial and Survey, http://eyeriss.mit.edu/tutorial.html 画像処理DNNでよく用いられる数式モデル。入力特徴マップ(I)と フィルタ(W)の畳み込みを行い、出力特徴マップの各要素を出力する。
  19. 19. LeapMind, Inc. © 2017 わかりやすいコンボリューションのイメージ http://cs231n.github.io/convolutional-networks/
  20. 20. LeapMind, Inc. © 2017 A Survey of FPGA Based Neural Network Accelerator 本文中において、FPGAによるNNアクセラレータは2つの問題が あると述べられている。 • 動作周波数がCPU, GPUと比べて大幅に低い(100〜300Hz) • 実装が難しい(DNN開発フレームワークもサポートしてない) → これらを解決することがFPGA NNアクセラレータへの糸口? A Survey of FPGA Based Neural Network Accelerator: https://arxiv.org/abs/1712.08934
  21. 21. LeapMind, Inc. © 2017 FPGA NNアクセラレータの評価基準 提案されているNNアクセラレーション手法を、以下3つの指標で評価。 • モデルの精度 言うまでもなく、必要。 • スループット • エネルギー効率 A Survey of FPGA Based Neural Network Accelerator: https://arxiv.org/abs/1712.08934 動作周波数の向上 量子化による演算器の低ビット化 モデル圧縮による演算量の削減 ループ最適化
  22. 22. LeapMind, Inc. © 2017 FPGA NNアクセラレータの評価基準 • モデルの精度の向上 より深い層を構築子たり、層の種類変更するなど多岐にわたる。 ただし、他の2つに影響を与えないように注意する必要がある。 • スループットの向上 workloadを減らす → データ量子化(SW) ピーク性能の改善 → 動作周波数の増加 → 計算ユニットの単純化 → データ量子化(SW) utilizationの改善 → 処理の並列度を上げる(HW) → メモリアクセスパターンの変更(SW) • エネルギー効率 オペレーション数の改善 → モデル圧縮(SW) 性能の改善にはソフトウェアと ハードウェアの協調設計が必須 A Survey of FPGA Based Neural Network Accelerator: https://arxiv.org/abs/1712.08934
  23. 23. LeapMind, Inc. © 2017 HWからのアプローチ: ベースラインの改善 「Optimizing FPGA-based Accelerator Design for Deep Convolutional Neural Networks」で提案されている32-bit浮動小数点モデルを ベースラインとして提案されているモデルを比較していく。(GX1150) A Survey of FPGA Based Neural Network Accelerator: https://arxiv.org/abs/1712.08934 スループット [GOPS] エネルギー効率 [GOPS/J] 32-bit 浮動小数点 866 20.75 16-bit 固定小数点 1790 47.78 Alteraの方がいらっしゃったらごめんなさい。。(´∀`;)
  24. 24. LeapMind, Inc. © 2017 FPGAによるNNアクセラレータに用いられている手法の分類 A Survey of FPGA Based Neural Network Accelerator: https://arxiv.org/abs/1712.08934 今のFPGA NNアクセラレータの性能 エネルギー効率 = 21 スループット = 866 1. SWからのアプローチ - データの量子化 - モデルのプルーニング 2. HWからのアプローチ - 計算ユニットレベル 1. 低ビット幅ユニット 2. 高速コンボリューション 3. DSP最適化 4. 動作周波数最適化 -ループアンローリングレベル -システムデザインレベル
  25. 25. LeapMind, Inc. © 2017 SWからのアプローチ(ちょっと): Data Quantization 各ニューロンや重みに対してより少ないビット幅を用いることで、 演算器が単純化になり、リソースの節約や動作周波数の向上につながる。 また、メモリ帯域を縮小してシステムのストレージ要求も低下させる。 • Fixed Point: Integer * 2^nで表される実数表現。 • Linear Quantization: Fixed Pointより精度が良く、計算ユニットも単純になる。 複雑なネットワークの場合精度が落ちやすい。 • Non-Linear Quantization: LQよりも精度が良いが単純な実装が難しい。LUTによる実装が現実的。 A Survey of FPGA Based Neural Network Accelerator: https://arxiv.org/abs/1712.08934
  26. 26. LeapMind, Inc. © 2017 SWからのアプローチ(ちょっと): Data Quantization 量子化によるビット幅と各ネットワークの精度低下の関連性。 A Survey of FPGA Based Neural Network Accelerator: https://arxiv.org/abs/1712.08934 1%程度の誤差低下における許容範囲 → つまり量子化の限界は8-bit(仮)
  27. 27. LeapMind, Inc. © 2017 SWからのアプローチ A Survey of FPGA Based Neural Network Accelerator: https://arxiv.org/abs/1712.08934 今のFPGA NNアクセラレータの性能 エネルギー効率 = 21 スループット = 866 1. SWからのアプローチ - データの量子化 - モデルのプルーニング 2. HWからのアプローチ - 計算ユニットレベル 1. 低ビット幅ユニット 2. 高速コンボリューション 3. DSP最適化 4. 動作周波数最適化 -ループアンローリングレベル -システムデザインレベル
  28. 28. LeapMind, Inc. © 2017 SWからのアプローチ(ちょっと): Model Pruning ディープコンプレッション プルーニング、量子化、ハフマン符号化などを用いてモデルを圧縮する有名論文。結果と して、AlexNetのモデル精度を維持したまま、89%の重みを削除可能であることを示した。 上記ステップのプルーニングステップに於いてはx9 〜 x13の圧縮率。 これは全体として計算量の削減させるためエネルギー効率に直結する。 Deep Compression: Compressing Deep Neural Networks with Pruning, Trained Quantization and Huffman Coding, https://arxiv.org/abs/1510.00149
  29. 29. LeapMind, Inc. © 2017 SWからのアプローチ A Survey of FPGA Based Neural Network Accelerator: https://arxiv.org/abs/1712.08934 今のFPGA NNアクセラレータの性能 エネルギー効率 = 21 x 10 スループット = 866 1. SWからのアプローチ - データの量子化 - モデルのプルーニング 2. HWからのアプローチ - 計算ユニットレベル 1. 低ビット幅ユニット 2. 高速コンボリューション 3. DSP最適化 4. 動作周波数最適化 -ループアンローリングレベル -システムデザインレベル
  30. 30. LeapMind, Inc. © 2017 補足: A Survey of Model Compression and Acceleration for Deep Neural Networks A Survey of Model Compression and Acceleration for Deep Neural Networks: https://arxiv.org/abs/1710.09282 実は2つだけじゃない、DNNにおけるモデルを圧縮・高速化手法。 1. Parameter pruning and sharing モデルパラメータの影響しないパラメータを削除することで、冗長性を減らす。 → 量子化、プルーニングなど 2. Low-rank factorization 行列、テンソル分解を利用して深いCNNにおける有益なパラメータを見積もる。 3. Transferred/Compact convolutional filters データの保持と計算の複雑性を削減ため、特別な構成のコンボリューションフィルタを 設計する。 4. Knowledge distillation 蒸留を利用して、大きなネットワークの出力を再現するような小さなネットワークを学 習する。
  31. 31. LeapMind, Inc. © 2017 HWからのアプローチ A Survey of FPGA Based Neural Network Accelerator: https://arxiv.org/abs/1712.08934 今のFPGA NNアクセラレータの性能 エネルギー効率 = 21 x 10 スループット = 866 1. SWからのアプローチ - データの量子化 - モデルのプルーニング 2. HWからのアプローチ - 計算ユニットレベル 1. 低ビット幅ユニット 2. 高速コンボリューション 3. DSP最適化 4. 動作周波数最適化 -ループアンローリングレベル -システムデザインレベル
  32. 32. LeapMind, Inc. © 2017 計算ユニットレベル: 低ビット幅ユニット NNの演算の殆どは単純な加算または乗算であるため、各演算器の合成に用 いられるリソースを減らすことが有効。量子化のスライドで示した各ビット 幅に対して、加算と乗算器の合成に必要なLUTとFFのリソースを示す。 (Vivado2017.2を利用、xilinx XC7VX69T?) A Survey of FPGA Based Neural Network Accelerator: https://arxiv.org/abs/1712.08934
  33. 33. LeapMind, Inc. © 2017 計算ユニットレベル: 低ビット幅ユニット Float32に対してfixed16は約70%のリソース節約! → 1.4倍の高速化 A Survey of FPGA Based Neural Network Accelerator: https://arxiv.org/abs/1712.08934 NNの演算の殆どは単純な加算または乗算であるため、各演算器の合成に用 いられるリソースを減らすことが有効。量子化のスライドで示した各ビット 幅に対して、加算と乗算器の合成に必要なLUTとFFのリソースを示す。 (Vivado2017.2を利用、xilinx XC7VX69T?)
  34. 34. LeapMind, Inc. © 2017 計算ユニットレベル: 低ビット幅ユニット Float32に対してfixed8は約93%のリソース節約!! → 約14倍 A Survey of FPGA Based Neural Network Accelerator: https://arxiv.org/abs/1712.08934 NNの演算の殆どは単純な加算または乗算であるため、各演算器の合成に用 いられるリソースを減らすことが有効。量子化のスライドで示した各ビット 幅に対して、加算と乗算器の合成に必要なLUTとFFのリソースを示す。 (Vivado2017.2を利用、xilinx XC7VX69T?)
  35. 35. LeapMind, Inc. © 2017 計算ユニットレベル: 低ビット幅ユニット Float32に対してfixed4は約98%のリソース節約!!!! → 約54倍 NNの演算の殆どは単純な加算または乗算であるため、各演算器の合成に用 いられるリソースを減らすことが有効。量子化のスライドで示した各ビット 幅に対して、加算と乗算器の合成に必要なLUTとFFのリソースを示す。 (Vivado2017.2を利用、xilinx XC7VX69T?)
  36. 36. LeapMind, Inc. © 2017 計算ユニットレベル: 低ビット幅ユニット Float32に対してfixed4は約98%のリソース節約!!!! → 約54倍 NNの演算の殆どは単純な加算または乗算であるため、各演算器の合成に用 いられるリソースを減らすことが有効。量子化のスライドで示した各ビット 幅に対して、加算と乗算器の合成に必要なLUTとFFのリソースを示す。 (Vivado2017.2を利用、xilinx XC7VX69T?) しかし、1%の誤差で許容可能なビット幅は8bitまで、 最終的なスループット向上はx14倍。( ;∀;)
  37. 37. LeapMind, Inc. © 2017 HWからのアプローチ A Survey of FPGA Based Neural Network Accelerator: https://arxiv.org/abs/1712.08934 エネルギー効率 = 21x 10 x 14 スループット = 866 x 14 今のFPGA NNアクセラレータの性能 1. SWからのアプローチ - データの量子化 - モデルのプルーニング 2. HWからのアプローチ - 計算ユニットレベル 1. 低ビット幅ユニット 2. 高速コンボリューション 3. DSP最適化 4. 動作周波数最適化 -ループアンローリングレベル -システムデザインレベル
  38. 38. LeapMind, Inc. © 2017 計算ユニットレベル: 高速コンボリューション 単純にコンボリューションを計算する代わりに、特別なアルゴリズムを 用いることで計算を高速化できる。 離散フーリエ変換やWinograd等の方法がある。 詳しくは、Ideinさんの素晴らしい資料があるのでそちらを http://sssslide.com/speakerdeck.com/nineties/convolutionfalsearugorizumu または、Modern Computer Algebraをご参照ください。
  39. 39. LeapMind, Inc. © 2017 計算ユニットレベル: Winogradとスライディングウィンド設計 研究「 Evaluating Fast Algorithms for Convolutional Neural Networks on FPGAs」では F(6, 4)のWinogradと入力と出力にスライディングウィンドを用いた Evaluating Fast Algorithms for Convolutional Neural Networks on FPGAs: http://ieeexplore.ieee.org/document/7966660/ 16-bit 固定小数点とVGG16において3044GOPS、 124.6GOPS/Jを達成。 ベースラインの速度で約4倍, エネルギー効率で約3倍の性能向上。
  40. 40. LeapMind, Inc. © 2017 HWからのアプローチ A Survey of FPGA Based Neural Network Accelerator: https://arxiv.org/abs/1712.08934 エネルギー効率 = 21 x 10 x 14 x 3 スループット = 866 x 14 x 4 今のFPGA NNアクセラレータの性能 1. SWからのアプローチ - データの量子化 - モデルのプルーニング 2. HWからのアプローチ - 計算ユニットレベル 1. 低ビット幅ユニット 2. 高速コンボリューション 3. DSP最適化 4. 動作周波数最適化 -ループアンローリングレベル -システムデザインレベル
  41. 41. LeapMind, Inc. © 2017 システムレベルデザイン 論文「Double MAC: Doubling the performance of convolutional neural networks on modern FPGAs」ではABとACは1つの乗算 (A ・(B<<k+C))として同時に 計算することを提案した。kが十分に大きければ、ABとACのビットは乗算 結果の内部で重複することなく直接分離が可能。(下は k == 9の場合) Double MAC: Doubling the performance of convolutional neural networks on modern FPGAs: http://ieeexplore.ieee.org/document/7927113/ データアクセス制約などを考慮しなければ理論上のスループットは2倍向上。
  42. 42. LeapMind, Inc. © 2017 HWからのアプローチ A Survey of FPGA Based Neural Network Accelerator: https://arxiv.org/abs/1712.08934 エネルギー効率 = 21 x 10 x 14 x 3 スループット = 866 x 14 x 4 x 2 今のFPGA NNアクセラレータの性能 1. SWからのアプローチ - データの量子化 - モデルのプルーニング 2. HWからのアプローチ - 計算ユニットレベル 1. 低ビット幅ユニット 2. 高速コンボリューション 3. DSP最適化 4. 動作周波数最適化 -ループアンローリングレベル -システムデザインレベル
  43. 43. LeapMind, Inc. © 2017 計算ユニットレベル: 動作周波数の最適化 研究「A High-Throughput Reconfigurable Processing Array for Neural Networks」では 他のNNアクセラレータがDSPを理論周波数で動作させていないことに着目 し、DSPのみをXilinx UltraScaleを741 MHzとUltraScale+を891 MHzで上 で独立して動作させるデザインを提案。計算ユニットには2次元シストリッ クアレイを用いている。 この技術を用いない既存デザインが300MHzで動作していることを考慮 すると、その理論上の速度向上率は2倍。
  44. 44. LeapMind, Inc. © 2017 HWからのアプローチ A Survey of FPGA Based Neural Network Accelerator: https://arxiv.org/abs/1712.08934 エネルギー効率 = 21 x 10 x 14 x 3 スループット = 866 x 14 x 4 x 2 x 2 今のFPGA NNアクセラレータの性能 周波数を上昇させるためエネルギー効率に影響がありそう。 完全動作するNNアクセラレータとして提案されていない。 上記の理由から理論見積もりには適用しません。 1. SWからのアプローチ - データの量子化 - モデルのプルーニング 2. HWからのアプローチ - 計算ユニットレベル 1. 低ビット幅ユニット 2. 高速コンボリューション 3. DSP最適化 4. 動作周波数最適化 -ループアンローリングレベル -システムデザインレベル
  45. 45. LeapMind, Inc. © 2017 NNのFPGAアクセラレーション技術: 結果 最終的なスループットとエネルギー効率は?? エネルギー効率 = 21 x 10 x 14 x 3 = 8820 GOPS/J スループット = 866 x 14 x 4 x 2 = 96992 GOPS スループット [GOPS] エネルギー効率 [GOPS/J] FPGA 96992 8820 V100 120000 400 TPU 92000 2300 Xavier 20000 1000 Miriad2 3000 6000 Google Pixel 24000 x
  46. 46. LeapMind, Inc. © 2017 NNのFPGAアクセラレーション技術: 結果 「 もしかして、」
  47. 47. LeapMind, Inc. © 2017 NNのFPGAアクセラレーション技術: 結果 「私たち、、」
  48. 48. LeapMind, Inc. © 2017 NNのFPGAアクセラレーション技術: 結果 >>> 「入れ替わってる〜!?」
  49. 49. LeapMind, Inc. © 2017 問題 現実はそんなに甘くない。 提案したFPGA NN Acceleratorは問題が満載 • 今回はあくまで理論、実装レベルで適用可能かどうか検証されていない • そもそも推論しかターゲットにしていない • SWとHWの協調設計を行う際、機械学習フレームワークによる学習から FPGAデザインの合成を行うまでフローが自動化されていない • 最小のビット幅は8-bit • 新しい技術が出るたびにそれを最適化するのが高コスト LeapMindの技術で改善可能??
  50. 50. LeapMind, Inc. © 2017 解決策: JUIZ DLK SWとHWの協調設計を行う際、機械学習フレームワークによる学習から FPGAデザインの合成を行うまでフローが自動化されていない → Frameworkから出力できるフォーマットから、Device上で動作する最適 化されたバイナリを直接生成。 GPU FPGA (SDSoC) CUDA OpenCL ARM Intel JUIZ DLK CoreML LLVM NNVM TVM
  51. 51. LeapMind, Inc. © 2017 解決策: JUIZ DLK 新しい技術が出るたびにそれを最適化するのが高コスト → スケジュールによる生成記述で行うことで、最新 GPU FPGA (SDSoC) CUDA OpenCL ARM Intel JUIZ DLK CoreML LLVM NNVM TVM Halideを参考にしている。 アルゴリズムのスケジュール による自動最適化。 LLVMを参考にしている。 計算グラフをPassにより最適化
  52. 52. LeapMind, Inc. © 2017 解決策: JUIZ DLK 最小のビット幅は8-bit → 日々、量子化手法の精度は向上しており、 1-2bitで高精度のネットワークを提案する研究は多く存在する。 LeapMindの例では10%程の精度劣化に対し、500倍の圧縮を実現。 この際のビット組合せはニューロン2-bit, 重み1-bit。
  53. 53. LeapMind, Inc. © 2017 まとめ 良い点 • 提案したFPGA NN Acceleratorは理論のみだが、 最先端GPUに対して10倍効率的な結果が得られることがわかった。 • JUIZ-DLK2を用いるとNNのSWとHWの協調設計をスムーズに行うこと ができる。 今後の課題 • 今実装レベルで適用可能かどうか検証したい • FPGA上での学習も頑張りたい
  54. 54. LeapMind, Inc. © 2017 FPGA屋の未来予想図(希望的観測) >=
  55. 55. LeapMind, Inc. © 2017 56 info@leapmimd.io http://leapmind.io/ ご質問などございましたら、お気軽にご連絡ください。

×