ディープラーニング推論の活用を効率化するインテル「OpenVINOツールキット」
AI CORE Xスターターキットが採用するOpenVINOツールキットについても簡単に紹介しておこう。
AIの開発ではさまざまなフレームワークが利用されている。有名なところだけでもGoogleのTensorFlow、UCLAが開発しているCaffe、オープンソースのONNXなどさまざまだ。
これらのフレームワークを利用してニューラルネットワークを構築し学習を行わせ、学習済みのニューラルネットワーク(これをモデルなどという)を利用して推論を行うのが一般的だ。たとえば前出の例のように動画の顔を認識させたりといったことを行うのが推論である。
AIを用いた推論はCPUだけでも十分行えるものの、外部アクセラレーターを使うことでCPUにかかる負荷を軽減したり、さらにはAIの推論性能を高めたりできる。このような外部アクセラレーターは多岐にわたり、前出のMyriad Xのような専用のアクセラレーターの他、GPUを利用したり、プログラマブルな論理LSIであるFPGAを利用するといったことも行われている。
OpenVINOツールキットは、AIで利用されているさまざまなフレームワーク、そして幾多のハードウェアをひとつにつなげられるツールキットだ。そのために、OpenVINOツールキットは「モデルオプティマイザー」と「推論エンジン」という2つの大きな柱で構成されている。
モデルオプティマイザーは、前出のフレームワークで作成された学習済みモデルを、OpenVINOで扱える形式に変換し最適化するツールだ。そして推論エンジンはモデルオプティマイザーを使って変換された学習済みモデルを、各種ハードウェアを使って実行し推論を行うエンジンである。
推論エンジンはIntel製のCPU、Intel製のGPU、Myriad XをはじめとするIntel製のVPU、そしてIntel製のFPGAをサポートする。つまり、OpenVINOを利用すると、さまざまなフレームワークで作成された学習済みモデルを、Intelが展開しているさまざまなハードウェアで実行することができるわけだ。
また、IntelはOpenVINOを利用する人のためにモデルオプティマイザーを使ってOpenVINOで使える形式に変換した各種学習済みモデルをインターネットで公開している。前出の顔認識や感情認識も、Intelが配布している学習済みモデルを利用したものだ。公開モデルをそのまま利用したり、あるいは再学習を行って利用したりできるため、AIを利用したアプリケーションを素早く開発可能となっており、この点もOpenVINOツールキットのメリットといえるだろう。
開発言語としてはC++とPythonをサポート。AI CORE XスターターキットにはPythonスクリプトを利用したサンプルもプリインストールされているので、まずはそれらを改造して試し、AIの学習を進めていくという方法をオススメしたい。