Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

ソフト高速化の専門家が教える!AI・IoTエッジデバイスの選び方

2021年1月18日に、AI・IoTのエッジデバイス選定をするアーキテクト向けに、AI・IoTエッジデバイスを選ぶ際、どこに気を付けるべきかを紹介するウェビナーを開催しました。デバイスの特性とワークロードごとの相性などを踏まえた上で、注目すべきメトリクスを分かりやすく解説したほか、
アプリをエッジデバイスごとに自動最適化してベンチマーク比較を行うフィックスターズのSaaS「Genesis DevEnv」も紹介しています。

講演内容
・AI・IoTエッジデバイスの現状
・ソフトウェアの高速化とは
・デバイス選定時の重要なメトリクス
・画像処理用DSL「Halide」を利用した多デバイス向けのソフトウェア高速化
・エッジAIデバイス向けベンチマークSaaS「Genesis DevEnv」のご紹介
・質問応答

発表者
丸岡 晃(株式会社フィックスターズ, Genesis事業部ディレクター)

  • Sé el primero en comentar

ソフト高速化の専門家が教える!AI・IoTエッジデバイスの選び方

  1. 1. ソフト高速化の専門家が教える! AI・IoTエッジデバイスの選び方 2021/1/18 株式会社フィックスターズ Akira Maruoka
  2. 2. 丸岡 晃 (Akira Maruoka) ►所属: 株式会社フィックスターズ -GENESIS DevEnv内で利用している 最適化コンパイラの研究開発 -アプリケーションの手動高速化 • アプリケーションは画像処理・画像認識がメイ ン • CPU/GPU/FPGA 一通り高速化します 2

  3. 3. フィックスターズのご紹介
  4. 4. 会社概要 4
 大崎本社 横浜事業所 Fixstars Solutions, Inc.(米国カリフォルニア州、 100%子会社) 株式会社 Fixstars Autonomous Technologies (株式会社ネクスティエレクトロニクスとの合弁会社 ) 株式会社 Sider (ソフトウェア品質解析や向上のための SaaSサービスを開発 ) 株式会社 Smart Opinion (乳がんAI画像診断支援事業 ) 設立 2002年8月 資本金 5億5,341万円 (2020年9月末 現在) 社員数 253名(2020年9月末 現在) 所在地 大崎(本社)、横浜 代表取締役社長 三木 聡 主な取引先 キオクシア、東芝、キヤノン、日立製作所、日立ハイテクノロジーズ、オリンパス、みずほ証券など 連結子会社 ソフトウェア 高速化サービス拠点 FixstarsAT拠点
  5. 5. 事業内容 ►あらゆる分野のアプリケーションを、あらゆるハードウェアに 対して高速化しています 5
 対象
 ハードウェア 技術領域 業界
 CPU GPU FPGA HPC 量子コンピュータ
 機械学習
 数理最適化
 画像処理、画像認識
 DSP 大規模分散並列、
 シミュレーション
 IoT 量子コンピューティング
 金融
 ベンダー専用演算機
 クラウド
 組込みデバイス
 コンパイラ、言語処理
 自然言語処理
 ゲノム解析
 スパコン
 自動運転
 産業機器
 ヘルスケア

  6. 6. Agenda 6 ►AI・IoTエッジデバイスの現状 ►代表的なエッジデバイスの紹介 ►最適なエッジデバイスを選ぶコツ ►Deep Neural Networkの高速化 ►エッジビジョン開発プラットフォーム 「GENESIS DevEnv」のご紹介
  7. 7. AI・IoTエッジデバイスの現状
  8. 8. AI・IoTエッジデバイス戦国時代 https://github.com/basicmi/AI-Chip 8
  9. 9. 汎用プロセッサの性能向上の鈍化 [1] C Moore, “Data Processing in ExaScale-Class Computer Systems”, April 2011 9 シングルスレッド性能や周波数の 向上は頭打ち 一方で、搭載可能なトランジスタ数は増加 (が、まもなく頭打ちになると言われている )
  10. 10. 要求性能の増加 10 ►DNNを使った推論処理では 大量の演算性能が必要 Simone Bianco, et al, Benchmark Analysis of Representative Deep Neural Network Architectures, https://arxiv.org/abs/1810.00736
  11. 11. 専用ハードウェアの時代に 11 ►背景 -汎用プロセッサの速度向上は鈍化している -一方でアプリケーション側の要求性能も向上 ►現状 -想定アプリケーションに特化した専用ハードウェアが登場 -ハードウェアの効率を最大限に引き出すソフトウェアが必要 デバイスの選択と、最適なソフトウェアの開発の難易度は高まるばかり…
  12. 12. 代表的な AI・IoTエッジデバイスの紹介
  13. 13. 4つのデバイスを取り上げて、それぞれの特徴を紹介 13 CPU (+ GPU) CPU + GPU CPU + FPGA CPU + 専用チップ
  14. 14. Raspberry Pi 4 Model B 14 ►ARM製CPUを搭載した、標準的な シングルボードコンピューター -VideoCore GPUも搭載 CPU ARM Cortex-A57 1.5GHz GPU Broadcom VideoCore VI Memory LPDDR4 128-bit 8GB Performance [FLOPS] 48G(FP32) Power[W] 7.6
  15. 15. CPUのメリットとデメリット 15 ►メリット -どんな処理でも卒なくこなせる ►デメリット -性能が足りない場合が多い -大量に搭載すると消費電力が大きい
  16. 16. NVIDIA Jetson Xavier NX 16 [1] NVIDIA, https://www.nvidia.com/ja-jp/autonomous-machines/embedded-systems/jetson-xavier-nx/ ►NVIDIA製GPUが搭載されたSoC -VoltaアーキテクチャのGPUを搭載 CPU ARM Cortex-A57 1.5GHz GPU NVIDIA 384-core Volta Memory LPDDR4 128-bit 8GB Performance [OPS] 21T(int8) / 6T(fp16) [1] Bandwidth[GB/s] 51.2 [1] Power[W] 10 or 15 [1]
  17. 17. GPU (Graphic Processing Unit) 17 ►CPUに比べて大量の演算器を並べたプロセッサ -その代わり、制御用の回路を少なくしている [1] NVIDIA, “CUDA C++ Programming Guide”, CUDA TOOLKIT DOCUMENTATION v11.2.0
  18. 18. GPUのメリットとデメリット 18 ►メリット -並列性のある大量のデータに対して同じ処理を適用するアプリケーションが 得意 -メモリに連続的にアクセスするアプリケーションが得意 -DNNに限らず、画像処理や画像認識も卒なくこなせる場合が多い -(他のアクセラレータに比べて)GPU向けの開発は比較的容易 • NVIDIAのソフトウェアサポートが充実しているおかげでもある ►デメリット -上記に当てはまらないアプリケーションは苦手 -消費電力が高め
  19. 19. Avnet Ultra96-V2 19 CPU ARM Cortex-A53 1.5GHz GPU ARM Mali-400 MP2 Accelerator FPGA Xilinx 154K System Logic Cells Memory LPDDR4 Performance [OPS] ??? (実装次第) Power[W] ??? (実装次第) ►Xilinx製FPGAを搭載した評価用ボード
  20. 20. FPGA (Field Programmable Gate Array) 20 ►製造後に購入者や設計者が構成を設定できる集積回路 -内部のハードウェア実装の書き換えが可能 ►様々なインターフェースに対応 -イメージセンサーから入力されたデータを メモリを介すことなく、直接処理可能 ⇒低レイテンシ処理が実現可能
  21. 21. FPGAのメリットとデメリット 21 ► メリット -データ間に並列性があり、かつ連続にアクセスする処理が得意 -メモリを介さない場合は低レイテンシな処理が実現出来る可能性あり -アプリケーションが変更になった場合でも、ハードウェアの書き換えが可能 -理想的に実装できれば、高い電力効率を発揮できる可能性がある ► デメリット -浮動小数点演算を使うとハードウェアリソースを大量に消費する -メモリアクセスがあると、他のアーキテクチャに比べてメリットが少なくなる -ハードウェアを実装するための必要スキルと工数が高い • 良くも悪くも、性能の決め手はハードウェアの実装次第
  22. 22. Google Coral Dev Board 22 ►EdgeTPUを搭載した開発用ボード [1] https://coral.ai/products/dev-board/ CPU ARM Cortex-A53 1.6GHz / ARM Cortex-M4 GPU Vivante GC7000Lite Accelerator Google Edge TPU ML accelerator coprocessor Memory LPDDR4 4GB Performance [OPS] 4T (int8) [1] Power[W] 2TOP / W (TPU部のみ) [1]
  23. 23. EdgeTPU 23 ►行列積を高速に処理するアクセラレータ -Int8同士の行列積のみを取り扱う ⇒量子化が必要 ►Systolic Arrayのアーキテクチャを採用 [1] Google Cloud, Google の Tensor Processing Unit (TPU) で機械学習が 30 倍速くなるメカニズム , https://cloud.google.com/blog/ja/products/gcp/an-in-depth-look-at-googles-first-tensor-processing-unit-tpu Cloud用TPUのアーキテクチャ図[1] (※EdgeTPUとは異なる可能性アリ)
  24. 24. TPUのメリットとデメリット 24 ►メリット -Int8型の行列積演算が得意 • DNNのConvolution層とFC層で利用される -上記の演算が多くを占めるアプリでは、最大効率の性能が発揮可能 ►デメリット -行列積以外の演算は実行できない • データ型がInt8でない場合も実行出来ない -並列数が少ない行列積演算は苦手 -専用ハードウェア用の命令を生成するためのソフトウェアツールが必要 • DNNの推論処理はTensorFlow Liteがコンパイルをサポート
  25. 25. 最適なエッジデバイスを選ぶコツ
  26. 26. アプリケーションを 実際に動かすまでわかりません
  27. 27. が、強いてコツをあげるなら… 27 1. ピーク性能の値に注目しよう 2. メモリ帯域の値に注目しよう 3. ピーク性能が達成される条件を知ろう 4. アプリケーションの処理内容を知ろう
  28. 28. 再掲: NVIDIA Jetson Xavier NX 28 ►NVIDIA製GPUが搭載されたSoC -VoltaアーキテクチャのGPUを搭載 CPU ARM Cortex-A57 1.5GHz GPU NVIDIA 384-core Volta Memory LPDDR4 128-bit 8GB Performance [FLOPS] 21T(int8)/6T(fp16) Bandwidth[GB/s] 51.2 Power[W] 10 or 15 この値に注目
  29. 29. 2つの性能ボトルネック 29 ►演算ボトルネック -アルゴリズムの演算量が大きい -マルチコアや演算器を使い切れていない -高速な命令を使い切れていない ►メモリ帯域ボトルネック -広帯域・低レイテンシなメモリを活用できていない -メモリアクセスが多い
  30. 30. ルーフラインモデル 30 ►演算強度に対するピーク性能の値をプロットしたグラフ -演算強度[FLOPS/Byte] := 計算量 / メモリ帯域 [1] Norman P. Jouppi, et al, In-Datacenter Performance Analysis of a Tensor Processing Unit, https://arxiv.org/abs/1704.04760
  31. 31. TensorCore[1] 31 ►NVIDIA Volta世代以降のGPUに搭載されている演算器 -Volta世代では、4x4のFP16の行列積が1サイクルで計算可能 -Jetson Xavier NXではTensorCoreを使った場合にピーク性能が達成可能 [1] NVIDIA, NVIDIA Tensor コア, https://www.nvidia.com/ja-jp/data-center/tensor-cores/
  32. 32. 高速なメモリを使おう 32 ►どのチップでも、高速・小容量なメモリが搭載されている CPUにおけるメモリヒエラルキー
  33. 33. Deep Neural Networkの 高速化
  34. 34. 軽量なネットワークモデルを選ぼう 34 Network Profile MADDs[M] Params[M] ImageNet Top-1 Accuracy[%] VGG-16[1] 15300 138 71.5 ResNet-18[2] 1800 5.8 69.8 ResNet-50[2] 3800 26 76.0 MobileNet V1[3] 1.0 569 4.2 70.6 MobileNet V2[4] 1.0 300 3.4 72.0 MobileNet V3[5] Large-1.0 219 5.4 75.2 EfficientNet[6] B0 390 5.3 77.1 [1] Karen Simonyan, et al, Very Deep Convolutional Networks for Large-Scale Image Recognition, https://arxiv.org/abs/1409.1556 [2] Kaiming He, et al, Deep Residual Learning for Image Recognition, https://arxiv.org/abs/1512.03385 [3] Andrew G. Howard, et al, MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications, https://arxiv.org/abs/1704.04861 [4] Mark Sandler, et al, MobileNetV2: Inverted Residuals and Linear Bottlenecks, https://arxiv.org/abs/1801.04381 [5] Andrew Howard, et al, Searching for MobileNetV3, https://arxiv.org/abs/1905.02244 [6] Mingxing Tan, et al, EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks, https://arxiv.org/abs/1905.11946 計算量・メモリ使用量 が少ない、軽量なネッ トワークモデル
  35. 35. ネットワーク軽量化技法を適用しよう 35 ► 量子化 -通常浮動小数点で扱われるアクティベーションや重みの値を整数に近似する手法 -量子化を適用することによって積和演算のスループットを上げられることが多い -メモリ使用量やメモリ帯域量も削減できることが可能 TensorFlow Blog, Quantization Aware Training with TensorFlow Model Optimization Toolkit - Performance with Accuracy, https://blog.tensorflow.org/2020/04/quantization-aware-training-with-tensorflow-model-optimization-toolkit.html
  36. 36. DNN推論最適化ツールを使おう
  37. 37. Arm NN[1] 37 ►ARM SoC向けのNNフレームワーク -ARM製CPUだけでなく、 Mali GPU や NPU(Neural Processing Unit) 向けのコード生成も可能 [1] arm, Arm NN Software Developer Kit (SDK), https://developer.arm.com/ip-products/processors/machine-learning/arm-nn
  38. 38. TensorRT[1] 38 ►NVIDIA GPU向けのDNN推論最適化エンジン [1] NVIDIA, NVIDIA TensorRT, https://developer.nvidia.com/Tensorrt
  39. 39. Vitis-AI[1] 39 ►Xilinx製FPGA向けのDNN最適化フレームワーク -DNNモデルに対して最適化を行い、DPU[2] IP上で実行可能な命令を生成 -DPU IPはリソース使用量や対応レイヤに応じてカスタマイズが可能 [1] Xilinx, Vitis AI, https://japan.xilinx.com/products/design-tools/vitis/vitis-ai.html [2] Xiilinx, DPU for Convolutional Neural Network, https://japan.xilinx.com/products/intellectual-property/dpu.html
  40. 40. TVM[1] 40 ►様々なアーキテクチャ向けの推論処理の最適化と コード生成が可能なコンパイラフレームワーク [1] Tianqi Chen et al, TVM: An Automated End-to-End Optimizing Compiler for Deep Learning, https://arxiv.org/abs/1802.04799
  41. 41. まとめ 41 ►AI・IoTエッジデバイスの種類は多様化 -最適なエッジデバイスを選ぶのはとても困難になってきている ►最適なエッジデバイスを選定するためのポイント -ピーク性能とメモリ性能に注目するべし -2種類のボトルネックを知るべし -各デバイスが得意な処理を知るべし -自分の動かしたいアプリケーションの特性を知るべし ►高速なライブラリやコンパイラツールを使おう
  42. 42. エッジビジョンのシステム開発・評価のための クラウドプラットフォーム
  43. 43. Device pool GENESISの概要 Backend Frontend ● フロントエンド Web UI経由で容易にア プリケーション構築 横断的なベンチマーク 結果を表示 ● バックエンド 研究成果であるコンパ イラ基盤を用いて 様々なターゲットに 最適化・変換 ● デバイスプール 各種ハードウェアを セットアップし、 クラウド上での 性能評価が可能 1.モデルコンパイラ 開発者 CPU GPU FPGA AI Chip VSION Sensor Imaging Sensing ✔ チップボードやセンサーの性能 を活かしたサンプル使用例を公 開 ✔ クラウドベースの製品展示によ り、サポート工数を最小にし、 瞬時に世界中の見込み顧客に 届けられます。 モバイル ビジョン 自動モビリティ 産業用 画像処理 開発者所有のエッジデバイスにデ プロイも可能 エッジビジョンAIの開発・評価のための クラウドプラットフォーム Private サプライヤ 2.ドメイン固有 コンパイラ 3.高位合成 コンパイラ
  44. 44. GENESISの特長 1. クラウドで完結 ブラウザさえあれば、ビジョン処理の実装から実機を使った性能評価までできる 2. ドメイン固有コンパイラによる強力な開発支援 様々なハードウェア向けの大域的な最適化から、ハードウェアデザインの生成までやってくれる 3. モデルベースの直感的な操作 絶対性能や電力効率を比較しながら、アルゴリズムとハードウェアの最適な組み合わせを探せる 4. 開発者の手元で最適化されたコードを実行可能 コンパイラが最適化したコードを、開発者の手元のデバイスにもデプロイして実行することができる
  45. 45. GENESIS ワークフロー ① • テンプレート ✔ アプリケーション例 • Stereo Matching • Object Detection • 6 Pipeline ISP • etc. ✔ 追加、修正に柔軟に対応 • アプリケーションの追加 • アプリケーションの登録 ✔ 使い方のサンプル枠 • 機能センサの使用例など
  46. 46. GENESIS ワークフロー ② • ビルディングブロック ✔ 最低限の機能単位 • フィルタ処理 • 深度推定 • オブジェクト認識 • SLAM • 各種I/O ✔ 追加、修正に柔軟に対応 • 機能ブロックの追加 • パラメータの変更 ✔ 差異化IPのサンプル枠
  47. 47. GENESIS ワークフロー ③ • アプリケーション作成 ✔ キャンバス内操作 • ドラッグ&ドロップ • コーディングレス ✔ ビルディングブロック接続 • 入出力を矢印で結合 ✔ プレビュー機能 • 出力画像確認
  48. 48. GENESIS ワークフロー ④ • ベンチマークレポート ✔ 機器上での実行結果 ✔ 性能指標 • 実行時間 • 消費電力 • スループット ✔ 性能指標の比較 • ハードウェア別 • ビルディングブロック別
  49. 49. GENESIS ワークフロー ⑤ • 最適化パターン ✔ ハードウェア別に複数生成 ✔ スケジューリング • CPU • GPU • 専用アクセラレータ
  50. 50. GENESIS ワークフロー ⑥ • デプロイ ✔ アプリケーション実行 • クラウド機器 • ローカル機器 ✔ 実行コード ✔ ファイルダウンロード可
  51. 51. Nurturing Promotion ・モジュール、IP提供 ・Online Project 参画 Cooperation Search ・実/仮想/モデル ・User Feedback ・Online 教育 ・技術ブログ発信 ・デバイス探索 ・アルゴP最適化 University ・AI Research ・Machine Vision Maker ・AIoT Products Device Maker Device Distributor ・Imaging/Sensing ・CPU/GPU/FPGA Platformer ・SaaS GENESISが実現する共創モデル ➥ GENESISというプラットフォーム上でニューノーマル時代の 共創モデルを実現し、Society 5.0 の実現を加速します 

  52. 52. 製品情報・ベータテスト登録 各種お問い合わせはこちらから
  53. 53. 業界向けテンプレート ビルディングブロック プロセッサ・センサ ジェスチャ認識 セグメン テーション 超解像変換 ノイズリダクション AI Chip Various Sensor RSC-V SoC FPGA SoC モバイルビジョン 自動モビリティ 産業用画像処理 ロボット サービス正式公開に向け鋭意開発中
  54. 54. アプリケーションはOSSで公開中 Ion-kit: https://github.com/fixstars/ion-kit
  55. 55. 製品情報・ベータテスト登録 各種お問い合わせはこちらから

×