Help us understand the problem. What is going on with this article?

Deep Learning推論用デバイスその1 Intel NCS2

More than 1 year has passed since last update.

はじめに

今回は深層学習用のエッジコンピューティングデバイスの市場調査を行ったので、まとめました。

調査したデバイス

調査したデバイスは以下の3つです。

  • Intel Neural Compute Stick2
  • NVIDIA Jetson Nano
  • Google EdgeTPU

デバイス間の比較をする前にまず、それぞれのデバイスの特徴などをまとめていこうと思います。
今回の記事ではIntel Neural Compute Stick2について紹介したいと思います。

Intel Neural Compute Stick2

center
Neural Compute Stick2(NCS2)はIntelが発売したDeepLearning推論用のUSB型外部演算装置です。既存のマシンに対してUSBからNCS2を接続することで、演算をさせることができます。NCS2は以前に発売した「Movidius Neural Compute Stick」の新型となります。公式サイトより、旧型と比べ8倍ほど推論時間が速くなっていると記述されています。
こちらがNCS2のスペック表です。

要素 Spec
プロセッサ The Intel Movidius Myriad X VPU
開発環境 The Intel Distribution of OpenVINO toolkit
対応OS Ubuntu 16.04.3 LTS (64 bit),Windows 10 (64 bit), or CentOS 7.4 (64 bit)
対応フレームワーク TensorFlow, Caffe, Apache MXNet, ONNX(PyTorch, PaddlePaddle)
接続方法 USB 3.0 Type-A
サイズ 72.5mm X 27mm X 14mm
運用温度 0° - 40° C

Myriad X VPU

Intel NCS2にはMyriad X Vision Processing Unit(VPU)というプロセッサが搭載されています。VPUは内部にはSHAVE processorと呼ばれるVLIWベクトルプロセッサがあり、旧世代のNCSにさらに4個追加した計16個のSHAVE processorが搭載されています。このSHAVEプロセッサによってニューラネットワークの推論計算を一部分並列化することができます。

Open VINO

IntelはNCSと同時にDeepLearning用のSDKであるOpenVINOを発表し、NCS2にも対応させています。
OpenVINOはIntelが提供しているハードウェアに対して最適化されたC++の推論APIです。
OpenVINOのドキュメント
また、IntelからONNX RuntimeのプロバイダとしてOpenVINOをサポートするようなコードがforkされて実装されています。
https://github.com/intel/onnxruntime/tree/master/onnxruntime/core/providers/openvino
今後、正式にサポートされることになれば、対応しているFramework(Tensorflow・Caffe)のみならず、様々なFrameworkからOpenVINO経由で推論できることになりそうです。

対応OS

旧世代ではUbuntuのみの対応でしたが、Windows・CentoOSなど対応OSが増えました。
他にもRaspbianなども対応されており、OpenVINOのツールキットをインストールできる環境であればそのOSが載っているマシンにNCS2を接続させることで推論させることができます。

対応フレームワーク

旧世代のNCSではCaffe, Tensorflowのみ対応ということですが、NCS2ではそれに加えMXNetやONNXなどに対応しています。特にONNXに対応したことによってPyTorchなどで実装されたモデルをONNXに変換してNCS2で推論するなどといったことが可能になっております。

運用温度

運用温度は0度〜40度と公式では記述されていますが、フォーラムなどを見ると推論時の温度が高くなってしまう問題が一つのトピックになっています。

今後について

ONNX対応による様々なフレームワークへの対応環境、OpenVINOによる推論最適化などがNCS2を通してやられています。またIntelは2019年の4月にVNNI命令セットを発表しており、CascadeLakeというCPUには畳み込み層の計算を高速化するような命令セットが用意されています。このあたりの命令セットもVPUなどに搭載されるとより高速な処理が可能になるのではと予想されます。また、熱問題に関してはフォーラムで議論されていますが、NCS2をプロダクトとして利用する場合には重要な要素となるので、一番最初にUSBスティック型推論デバイスを出したIntelが今後どのように対応していくかは注目です。

参考文献

habakan
metrica_me
「医療の常識をアップデートしよう。」をミッションに医療現場へのプロダクトを開発するスタートアップ
https://metrica.me/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした