LeapMindは2018年10月19日、組み込み向けFPGA上でディープラーニングを動作させるソフトウェアスタックをオープンソースで公開した。同社が今まで強みとしてきた技術が、誰でも利用もできるようになった。同社CTO(最高技術責任者)を務める徳永拓之氏に、blueoilとはどのようなもので、何が実現できるのか。そして、オープンソース化した狙いなどを聞いた。
「今のディープラーニングは巨大な資金や電力リソースが必要であり、一部の企業でしか恩恵を享受できていない。この状況を打破し、あらゆるものにディープラーニング(深層学習)を実装し、より広く恩恵を受けられる環境を作りたい」
こう語るのは、エッジデバイスなど組み込み機器向けディープラーニングの実装を推進するベンチャー企業「LeapMind」である。同社は、“Deep Learning of Things”(あらゆるモノにDeep Learningの恩恵を)の実現を理念として掲げている。
同社のコア技術は、Intel製SoC(System On Chip)の「Cyclone V SoC」に代表される、安価かつ低消費電力な組み込み向けFPGAをフルに活用し、ディープラーニングの推論を高速処理するところにある。同社は、独自の軽量ニューラルネットワークアーキテクチャ「LMnet」の開発や積和演算のDSP活用による演算高速化を実施するなど、ソフトウェアとハードウェアの両面で独自技術を磨いている。*)
*)関連記事:エッジAIを安価・高速に、FPGAを駆使するベンチャー(EE Times Japan)
しかし、LeapMindは2018年10月19日、組み込み向けFPGA上でディープラーニングを動作させるソフトウェアスタック「Blueoil」をオープンソース(Apache License 2.0)で公開したと発表。同社が今まで強みとしてきた技術だが、現在では誰でもそのソースコードを確認でき、自由に利用できるようになっている。
今回、MONOistでは同社CTO(最高技術責任者)を務める徳永拓之氏にインタビューを実施。Blueoilとはどのようなもので、何が実現できるのか。そして、オープンソース化した狙いや、将来の展望を聞いた。
MONOist 今回オープンソース化されたソフトウェアスタック「Blueoil」とは、どのようなものですか。また、このソフトウェアスタックを利用すると、どのようなことが実現できるのでしょうか。
徳永拓之氏 Blueoilは「低消費電力FPGAでディープラーニングを動作させるために必要なニューラルネットワークアーキテクチャ」「FPGAで推論処理を動作させるランタイムライブラリ」「LeapMindが培ってきた知見」を組み合わせて実現したものだ。
従来のニューラルネットワークアーキテクチャが使用しているFP(浮動小数点)の演算は、低消費電力FPGAにとって非常に重い。また、メモリの制約も大きい。そこで、LeapMindではウェイト(重み係数)が1ビット、アクティベーション(入力)が2ビットの演算精度を用いる量子化を実行したニューラルネットワークアーキテクチャを開発し、大幅に演算量とメモリ使用量を圧縮した。
しかし、ここまでの量子化を実行した場合は推論アプリケーションの精度低下を防ぐため、量子化を考慮した特別な学習を行う必要がある。Blueoilでは、この特別な学習手法も実装した。ユーザーは事前に学習対象のデータを用意するだけで、Blueoilによって低消費電力FPGA用のニューラルネットワークが生成できる。生成したニューラルネットワークで必要な推論精度を満たした場合はそのままFPGA用バイナリに変換し、満たさなかった場合ではチューニングを行うプロセスとなる。
われわれの実感だが、ユーザーがゼロベースで低消費電力FPGA用ニューラルネットワークを開発した場合、優秀なエンジニアが開発しても12〜24人月程度の工数が必要だと考える。しかし、Blueoilを利用した場合は、1人月程度の工数で開発できるだろう。
MONOist オープンソース化したことで、誰でもBlueoilを利用できることになりました。どのような開発者の利用を想定していますか。
徳永氏 FAや車載機器に携わる組み込み開発者、そして家電業界でもGPUに代替する低コスト、低消費電力なソリューションを探している人に利用してもらいたい。
これまでも、量子化したニューラルネットワークを使いたいと考えている人は多かった。しかし、量子化したニューラルネットワークで推論を行うのは技術的に難しく、なおかつ低消費電力FPGAでニューラルネットワークが実用的に動作するツールはこれまでなかった。Blueoilでは、こういったニーズに対応できる。
MONOist Blueoilを今すぐ利用したいと考えるユーザーは、何を準備する必要がありますか。
徳永氏 x86アーキテクチャのCPUと学習用データ、Blueoilがそろえば試すことはできる。その他、ディープラーニングに関する一定の知識が必要だ。
Copyright © ITmedia, Inc. All Rights Reserved.