Successfully reported this slideshow.
Your SlideShare is downloading. ×

モバイル向けEdgeTPUの紹介

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad

Check these out next

1 of 12 Ad

More Related Content

Recently uploaded (20)

Advertisement

モバイル向けEdgeTPUの紹介

  1. 1. Mobility Technologies Co., Ltd. 郭 卓然 モバイル向けEdgeTPUの紹介
  2. 2. Mobility Technologies Co., Ltd. 2 はじめに ● これから話す内容 ○ TPUとは ○ Edge TPUとは ○ Edge TPUを用いてエッジモデルの推論評価
  3. 3. Mobility Technologies Co., Ltd. 3 TPUとは - TPU(Tensor Processing Unit)は、AI処理を高速化するためにGoogleが開発したプロセッサで、主にクラウドサービ ス側での使用を想定したものでした。 Google TPU v2 https://blog.inten.to/hardware-for-deep-learning-part-4- asic-96a542fe6a81 Google TPUの特徴: ● 巨大なオンチップRAMを備えている。メモリのアクセス時間を減らします。 ● 8ビット 量子化(8 bit quantization)。32ビットのfloating-pointの計算の代わりに8ビット のinteger 計算が実行される。ある程度の精度を犠牲に、効率を改善します。 ● Systolic arrayというアーキテクチャを使用します。 ● 「積和演算」などの特定の操作用に配線されている。ディープラーニングによく適用 できます。 ● 良い冷却システムがあり、リソースコストを節約できます。
  4. 4. Mobility Technologies Co., Ltd. 4 TPU vs GPU Nvidia Tesla Volta 100のGPUと比べてTPU v2の性能は明らかに高いとは言えない がコストを減らすことは明らかです。 https://www.hpcwire.com/2018/04/30/riseml-benchmarks-google-tpuv2- against-nvidia-v100-gpu/ https://qiita.com/nishiha/items/32276cc77b27383c825f
  5. 5. Mobility Technologies Co., Ltd. 5 EdgeTPUとは - Edge TPUはエッジ端末用に開発されたデバイスで、8ビットの演算のみをサポートしています。高速に機械学習ラ イブラリ(TensorFlow Lite)を実行させることができ、たとえば高解像度の動画上でフレームごとに複数のAIモデルを 30フレーム/秒で同時に実行させることができます。 今も様々なデバイスがリリースされています。 Edge teamのchallenge weekでDev Boardを購入して、自社Modelの推 論評価を担当しました。 https://coral.ai/docs/dev-board/get-started/#flash-the-board
  6. 6. Mobility Technologies Co., Ltd. 6 EdgeTPUの使い方 ● Edge TPUのデバイスとTensorFlow liteが緊密的に繋がります。 ● TensorFlow Liteのおかげで、モバイル、組み込み、IoTデバイスで TensorFlowモデルを変換して実行できるようになります。 https://blog.tensorflow.org/2018/03/using- tensorflow-lite-on-android.html
  7. 7. Mobility Technologies Co., Ltd. 7 EdgeTPUの使い方 ★ Edge TPUに向けて、TensorFlowモデルの導入フロ ーは以下のようになる: https://coral.ai/docs/edgetpu/models-intro/#compatibility-overview
  8. 8. Mobility Technologies Co., Ltd. 8 EdgeTPUの使い方 1. Dev BoardとUSB Acceleratorで推論速度が変わっていないことからCPU自体のスペックにはほとんど 影響しないということがこの表からわかります。 2. また同じハードでモデル同士を比較するとDesktop CPUにおけるInception v4からMobile Net V1は16 倍速くなっているといえますが、Dev Boardの場合だと45倍速くなっていると計算できます。 https://cdn-images- 1.medium.com/max/1024/1*pCYQHA_PmF2_awq2c oMJvg.png)
  9. 9. Mobility Technologies Co., Ltd. 9 EdgeTPUの使い方 demo:PyCoralAPIを使用してモデルを実行します。 https://coral.ai/docs/edgetpu/tflite- python/#overview
  10. 10. Mobility Technologies Co., Ltd. 10 EdgeTPUを用いてエッジModel推論評価 エッジのonnxモデルからEdgeTPUモデルまで二つの変換方法試しました: 1. onnx → tf → TFlite→edge_tpu.tflite: converter = tf.lite.TFLiteConverter.from_saved_model(pb_model_save_path) 1. onnx → keras→ TFlite→edge_tpu.tflite: converter = tf.lite.TFLiteConverter.from_keras_model(keras_model) ⭐️edge_tpuでうまく動くために、モデルはTFliteにコンパイルする場合量子化が必 要
  11. 11. Mobility Technologies Co., Ltd. 11 EdgeTPUを用いてエッジ推論評価ベンチマーク 自社Edge製品に搭載されているDSP、GPU、およびDevBoardのEdgeTPUのランタイムを用いて自 社モデルの推論速度のベンチマークを行いました。 ● model1とmodel2:edge_tpuの推 論速度はgpuとdspより明らかに速 いと分かります。 ● model3:edge_tpuの推論速度は gpuとの比較ではほぼ同等(か少 し遅い)になっていますが、それ はmodel3のアーキテクチャがgpu Runtimeに最適化されていること が1つの要因としてありそうです。
  12. 12. Mobility Technologies Co., Ltd. 12 まとめと感想 ■ CPUとGPUと違ってTPUは特にディープラーニングのために設計された。巨 大オンチップ RAM を備えているし、Systolic arrayのようなアーキテクチャ も使用されます。 ■ EdgeTPUのcomplierと仕様など複雑ではなく、Python APIとC++ API両方も 使えます。 ■ 一部のエッジモデルに対してある程度高速化できる傾向が見られます。

×