NVIDIAのTegra K1と3種のFPGAサイズのAristotleを使って、性能評価を行った。実行するベンチマークは、VGG16でのイメージ認識、YOLO Tinyを使ったオブジェクト検出、カスタムなネットワークを使った顔のアライメント処理である。

NVIDIAのTegra K1と3種のFPGAサイズのAristotleアクセラレータの性能比較。実行するベンチマークは、VGG16でのイメージ認識、YOLO Tinyでもオブジェクト検出、カスタムなネットワークでの顔のアライメントである

使用したFPGAは53,200LUTの「Zynq 7020」、78,600LUTの「Zynq 7030」、218,600LUTの「Zynq 7045」である。Zynq 7020は2PE、7030は4PE、7045は12PEを搭載することができる。

使用した3種のFPGA。Zynq 7020は2PE、Zynq 7030は4PE、Zynq 7045は12PEを搭載できる

次の図は、VGG16でのイメージ認識、YOLO Tinyでのオブジェクト検出、カスタムネットワークでの顔のアライメントを実行させたときの性能比較である。左の図が実行時間、右の図が性能で、逆数の関係にある。2本の棒グラフは青がTegra K1、オレンジがZynq 7020の性能を表す。VGG16ではTegra K1の方が1.5倍性能が高いが、YOLO Tinyと顔のアライメントではZynq 7020の方が速い。そして、Zynq 7020 の消費電力は、Tegra K1の20%~30%と小さく、値段も安い。

また、性能は、7030を使うと1.78倍、7045を使うと4.94倍に向上する。

VGG16、YOLO Tiny、カスタムなネットワークのベンチマークでのTegra K1とZynq 7020の性能比較

次はLSTMでのNVIDIAのK40 GPUとDescartesアクセラレータの性能比較である。ベンチマークは、実際のスピーチの認識で、最大の行列サイズは4096×1536で、毎秒100フレームの処理を行う。

実際のスピーチ認識でのNVIDIA K40とDescartesアクセラレータの性能を比較する

次の図を見ると、K40ではFP32で計算し、DescartesではFIXED-4からFIXED-16を可変で使用しているようであるので計算アルゴリズムを含めた性能比較となっている。結果の棒グラフをみると、左端のバッチサイズ1の場合はDescartesが6.4倍の性能。2スレッド実行すると7.2倍の性能となっている。32スピーチの認識をバッチで実行させた場合は、8.2倍の性能となっている。

また、EIEチップの消費電力が分からないので、正確な比較はできないが、235WのK40よりもDescartesアクセラレータの方が消費電力は低そうである。

NVIDIAのK40とDescartesアクセラレータの性能比較。現実のスピーチ認識の性能は、バッチサイズ1の場合、Descartesが6.4倍。バッチサイズ32の場合は8.2倍の性能が得られた

結論であるが、DeePhiの開発システムは、圧縮を行うコンパイラとCNN用のAristotleアクセラレータとLSTM用のDescartesアクセラレータから構成され、簡単で効率的にディープラーニングアルゴリズムを使用できるようになっていると述べた。また、DeePhiのアクセラレータの評価ボードは10月に出荷予定で、2016年第4四半期にはCNN用の新しいアーキテクチャを発表することをアナウンスした。

DeePhiの開発システムは、コンパイラとAristotleアクセラレータ、Descartesアクセラレータからなり、ディープラーニングを簡単、効率的に使うことができる

この性能比較では、NVIDIAのシステムはFP32で計算しているが、NVIDIAも低精度の計算をGPUでサポートして来ており、比較結果は変わってくると思われるが、少なくとも、現状では、DeePhiのシステムは、性能、消費電力、コストの点で高い性能のディープラーニングシステムを作れるという点で注目に値する。

しかし、この分野では日本からの発表はなく、中国に置いて行かれているのではないかという心配が頭をよぎった。