[ニュース]

50MHz駆動の低消費電力組み込み用チップで高精度かつ高性能なディープラーニング、国産技術で実現

2017/02/13
(月)
SmartGridニューズレター編集部

ディープインサイトとトプスシステムズは、組み込み向けの低消費電力プロセサでディープラーニングを応用した物体識別システムの構築に成功したと発表した。

ディープインサイトとトプスシステムズは2017年2月13日、組み込み向けの低消費電力プロセサでディープラーニングを応用した物体識別システムの構築に成功したと発表した。自動運転やロボットへの応用を期待しているという。ディープインサイトが開発したディープラーニングフレームワーク「KAIBER」と、トプスシステムズが開発した低消費電力でマルチコアの組み込み向けプロセサ「SMYLEdeep」を利用して実現した。

KAIBERは組み込みシステムに向けたディープラーニングフレームワーク。ディープインサイトがゼロから開発したものだという。完全オリジナルであり、オープンソースライセンスでないため、導入企業の用途に合わせた商用サポートを提供できるとしている。

KAIBERの大きな特徴として、学習モデルの構築と学習強化を担う部分と、学習済みデータに基づいて推論実行する部分を完全に分離している点が挙げられる。現在入手できる各種ディープラーニングフレームワークは、学習モデルの構築と学習強化に加えて、構築した学習モデルに基づく推論実行をする部分まで一体となっている。さらに、フレームワークでプログラムを作成するために動的型付け言語「Python」などの言語処理環境も必要になる。現実的な時間で処理を済ませるにはNVIDIAのGPUも必要だ。これでは、コンピュータリソースが少ない組み込みシステムで実現しようとしても、到底不可能だ。しかもNVIDIAのGPUはかなりの電力を消費する。

ディープインサイトが提供するソフトウェア部品は、Javaで記述したフレームワーク本体と、C言語で記述した推論実行ライブラリ(Javaで記述したものも用意)の2種類。Javaで記述したフレームワークは、学習モデルを構築、学習強化するGUIアプリケーションとして動作する。GUIを利用した比較的簡単な操作で学習モデルの構築と学習強化ができる。そして、このGUIアプリケーションはNVIDIAのGPUと、NVIDIA GPUで並列アプリケーションを開発する環境である「CUDA」をインストールしたサーバーで動作する。

学習モデルの構築と学習強化が済むと、「学習済みデータ(重みファイル)」を得られる。後は、C言語で組み込みアプリケーションを構築する際に、ディープインサイトが提供する推論実行ライブラリを静的リンクしてバイナリファイルを作成する。出来上がったバイナリファイルと学習済みデータを組み込みシステムに導入することで、コンピュータリソースが乏しい組み込みシステムでも、精度の高いディープラーニングを利用したものを作れる。今回のトプスシステムズとの協業では、推論実行部分をコンパイル、リンクしたバイナリファイルのサイズはわずか20Kバイト。サーバーとNVIDIA GPUで作成した学習済みデータのサイズに至ってはわずか7Kバイトに収まったという。

図 KAIBERは、学習モデルの構築と学習強化する部分と、その結果に基いて推論実行する部分を分割することで、組み込みシステムへの応用を可能にした

図 KAIBERは、学習モデルの構築と学習強化する部分と、その結果に基いて推論実行する部分を分割することで、組み込みシステムへの応用を可能にした

出所 ディープインサイト

今回は、トプスシステムズのプロセサ「SMYLEdeep」向けに推論実行部分のバイナリを生成して、学習済みデータとともに実行させた。SMYLEdeepは命令セットアーキテクチャも、マイクロアーキテクチャもトプスシステムズが独自開発したプロセサで、今回は8つのプロセサコアを集積したものを使った。現在トプスシステムズはSMYLEdeepプロセサの知的財産権(Intellectual Property)をライセンス販売しているほか、SMYLEdeepプロセサをFPGA(Field Programmable Gate Array:プログラムで内部の回路を書き換えられる半導体チップ)で再現した製品を販売している。

SMYLEdeepは「低い周波数で動作させること」「組み込み向けに、消費電力を極力抑えること」「高い性能を発揮すること」を目標に開発したもの。前者2つの目標と最後の1つの目標は互いに相反するもののように見えるが、トプスシステムズは独自技術でこれを実現した。

この目標を実現するためにトプスシステムズが開発した技術が「ZOMP(Zero Overhead Message Passing)技術」。国立研究開発法人新エネルギー・産業技術総合開発機構(NEDO)の「グリーンITプロジェクト」で開発したもので、マルチコアプロセサにおいて、コア間のデータ通信、データ同期のオーバーヘッドを解消する技術だ。

具体的に言うと、プロセサコアから、ほかのコアのレジスタにアクセスできるようにして、コア間のデータ転送のオーバーヘッドを解消している。一般的なマルチコアプロセサでは、コア間でデータをやり取りするときは、専用のインターコネクトを通してデータを送るか、データを一度メモリに配置して、渡す相手のコアにメモリから取得してもらうという手順を採る。どちらにしてもかなりのクロックカウントを消費する作業だ。

図 SMYLEdeepプロセサFPGA版のアーキテクチャ。「r-bus」というバスで、ほかのコアのレジスタに直接アクセスできるようになっている

図 SMYLEdeepプロセサFPGA版のアーキテクチャ。「r-bus」というバスで、ほかのコアのレジスタに直接アクセスできるようになっている

出所 トプスシステムズ

さらに、データをなるべくレジスタに置いて処理できるようにするため、レジスタファイルを大きくした。レジスタファイルのサイズは4kバイト。256ビット長のレジスタを128本用意できる計算になる。データをレジスタに置き、演算器などで処理することで、最短の遅延で処理できる。

しかし、画像や動画のファイルすべてをレジスタに置くことはできない。そこで、レジスタ上のデータを処理している間に、必要なデータをメモリから読み込み、レジスタに配置する「先読み」機能も実装した。メモリにアクセスすると処理の遅延が大きくなるが、レジスタ上のデータを処理している間に、メモリ上のデータをレジスタに移すことで、メモリアクセスで発生する遅延を隠蔽することに成功している。

「データを置くレジスタを大きくすること」「データ転送、データ同期時に発生するオーバーヘッドを排除すること」を達成した結果、並列処理の性能が大きく向上した。例えば、あるコアで画像のフィルタ処理をした後、ほかのコアでフィルタ処理後の画像の色調を換え、続いてさらにほかのコアで解像度を変換するといった、1つのデータに対して複数のコアが連携してそれぞれほかの処理を施すMISD (Multiple Instruction, Single Data)とも呼べる処理を高速に済ますことができる。これも、ほかのコアのレジスタにアクセス可能とする独自機能による効果と言えるだろう。

もちろんSMYLEdeepは、複数のデータを並べて、1種類の命令で一括処理するSIMD(Single Instruction Multiple Data)にも対応する。256ビット長のSIMDレジスタとSIMD命令を備えており、32個並んだ8ビットデータに同一の処理を一括で実行することが可能だ。

また、並列処理のもう1つのパターンである、大きなデータを分割して、それぞれを別のコアで並列処理するときも高速化可能だ。例えば、画像ファイルを処理しているときに、画像全体を複数のブロックに分割し、それぞれのブロックの処理をそれぞれ別々のコアに割り当てて、並列で処理する際の時間を短縮できる。

トプスシステムズは、SMYLEdeepが「プロセサコア間の並列処理」と、「プロセサコア内の並列処理」の両方で高い性能を発揮するとしている。プロセサコア間の並列処理は、先に挙げたMISD処理や、大きな画像データを分割し、それぞれのブロックを別々のコアに処理させるものであり、プロセサコア内の並列処理はSIMD処理だ。

今回、KAIBERとSMYLEdeepプロセサを利用して、車載カメラから歩行者を検出する画像認識処理を実装したところ、駆動周波数50MHzで8コアを集積したプロセサで、最大480フレーム/秒の性能を発揮したとしている。両社は、Intelの「Core i7プロセッサ(2.6GHz)」と比較して、52分の1の駆動周波数で、およそ20倍の画像認識性能を発揮したとしている。今後、半導体製造技術が進化し、より微細な製造技術を利用できるようになったらコア数を増やしていく予定だ。トプスシステムズは、SMYLEdeepプロセサはコア数を増やすことで、ほぼ直線的に性能が上がっていくとしている。

8つのコアを集積したSMYLEdeepプロセサは、28nm技術で製造すると、消費電力は500mW未満に収まるという。消費電力量が少ないので、動作に伴って発熱することもほとんどなく、ヒートシンクを付けずにチップそのままで動作させても、安定して動作するという。周辺の環境が高温になりやすい自動車や、蓄電池による少ない電力で動作させる必要があるロボットへの応用が期待できる。

また、SMYLEdeepプロセサに推論実行ライブラリと学習済みデータを組み合わせたものをカメラに組み込むことで、画像認識システムを作ることも可能だ。このカメラなら単体で画像を記録し続けるだけでなく、被写体の行動の変化を検知できる。例えば、乳児や老人の様子を常時記録しながら、いつもとは違う動きを見せたときにそれを即座に検知して、管理者や家族に知らせるということも可能だ。

ディープインサイトは、SMYLEdeepプロセサに向けて最適化したKAIBERを製品化する意向を示している。


■リンク
ディープインサイト
トプスシステムズ

TOPに戻る

関連記事
新刊情報
5G NR(新無線方式)と5Gコアを徹底解説! 本書は2018年9月に出版された『5G教科書』の続編です。5G NR(新無線方式)や5GC(コア・ネットワーク)などの5G技術とネットワークの進化、5...
攻撃者視点によるハッキング体験! 本書は、IoT機器の開発者や品質保証の担当者が、攻撃者の視点に立ってセキュリティ検証を実践するための手法を、事例とともに詳細に解説したものです。実際のサンプル機器に...
本書は、ブロックチェーン技術の電力・エネルギー分野での応用に焦点を当て、その基本的な概念から、世界と日本の応用事例(実証も含む)、法規制や標準化、ビジネスモデルまで、他書では解説されていないアプリケー...