ベンダーは、ANNの精度を落とすアプローチにも取り組んでいる。半精度(FP16など)演算により、ハードウェアのメモリや計算システムのパフォーマンスを倍増させることができるからだ。同様に、8ビット演算を使用すればパフォーマンスが4倍に向上する。
だが、残念ながら、低精度の浮動小数点演算性能に基づいて購入決定を行うのは悪いアイデアだ。なぜなら、モデリング時間の短縮に必ずしも直結しないからだ。その理由は、数値最適化を行うには、訓練プロセスが最適解に収束するまで候補パラメータセットを使った演算を繰り返さなければならないことにある。
キーワードは収束だ。低精度演算は収束を遅らせる。そのために最適解の発見に必要な訓練の繰り返し回数が増えて、低精度演算の導入によるスピードアップが帳消しになることがある。しかも、低精度演算で得られたローカルミニマム(局所最小値)と呼ばれる誤った局所解にとらわれ、訓練プロセスによる最適解の発見に失敗してしまうこともある。
訓練されるANNの種類についても考えてみよう。例えば、テンソル演算を低精度で実行する専用ハードウェアは、畳み込みニューラルネットワーク(CNN)など、非常に特定の種類の少数のニューラルアーキテクチャにしか恩恵をもたらさない。自分のプロジェクトでこうした特定の種類のニューラルアーキテクチャを使用する必要があるかどうかを理解することが重要だ。
一般的に、訓練では低精度演算は使用しない方が得策だ(※2)。この演算はメリットよりもデメリットの方が大きくなりがちだからだ。ただし、低精度演算は多くの(全てではない)推論タスクに有効だ。
L-BFGSや共役勾配法など、最も効果的な最適化アルゴリズムの多くにおいては、ANNのパラメータの勾配を計算する関数を、目的関数に関して評価する必要がある。
勾配を使用すると、アルゴリズムが高速化しモデリング時間を大幅に、あるいは桁違いに短縮することや、勾配を使用しない方法よりも精度の高い最適解を得ることが可能になる。「Theano」のような人気のソフトウェアパッケージは、自動微分を利用して勾配をシンボリックに計算できるので、ネイティブコードを生成でき、そのために非常に簡単に勾配関数が得られる。
問題は、ANNモデルのパラメータが増えると、勾配のサイズが急速に非常に大きくなることだ。これは、メモリの容量と帯域幅の制約(とキャッシュ性能、および可能性としては原子命令の性能)が、勾配計算の実行時間を左右することを意味する(※3)。
ハードウェアの命令メモリの容量が、勾配計算の実行に必要な全ての機械命令を保持するのに十分なサイズかを確認しておくことが重要だ。そこそこの規模のANNモデルでも、勾配計算のためのコードは極めて大きなサイズになる。
いずれにせよ、勾配計算には仮想メモリが使われ始めたころの格言が当てはまる。それは「実パフォーマンスを決めるのは実メモリ」というものだ。
勾配計算はメモリに依存しているので、スタックドメモリを使用するハードウェアを探し、ベンチマークを比較するとよい。スタックドメモリは、大容量メモリを搭載するハイエンドのデバイスやシステムに採用されている。高パフォーマンスのハードウェアを選択できれば見返りは大きい。
最近の製品発表は、業界がプロセッサとアクセラレータの双方に対し、高速なメモリを提供する必要性を認識していることを示している。一方、カスタムハードウェアの発表(具体的には、GoogleとIntel Nervana)は、カスタムソリューションが一部のANNについては、CPUとGPUいずれのパフォーマンスをも超える可能性があるという認識を高めている。
一部のIntelプロセッサ製品ではカスタムソリューション(ASICとFPGA)を利用できるように、オンパッケージのプロセッサインタフェースが提供される。これらのインタフェースにより、Intelプロセッサと密接に統合されたカスタムデバイスのパフォーマンス能力が提供されるとともに、Intelプロセッサはカスタムデバイスを市場に届けるためのフロントエンドプロセッサとしての役割を果たす(※4)。
だが、こうした中で、われわれは現時点でパフォーマンスに関して、次のような推測が成り立つと考えている。まず、特別なハードウェアを使用しなくても、Intelの強化されたx86ベクトル命令である「AVX-512」の搭載(とメモリチャネルの拡張)により、Intel Skylakeプロセッサでは並列処理を利用するためにデータセットサイズを拡大することなく、コア当たりの訓練と推論両方のパフォーマンスが2倍以上に向上すると予想される(使用するコアを増やせば、パフォーマンスはさらに向上するだろう)。
また、Intel Xeon PhiとIntel Xeon(Skylake)が提供するオンパッケージの「Intel Omni-Path」インタフェースは、システムコストとネットワークレイテンシを低減するとともに、ネットワーク帯域を拡大するだろう。これはネットワークを介して、あるいはクラウド内で訓練を行う(または大量の推論を行う)必要がある人々にとって朗報だ。われわれはこれらの点を全て実地に検証したいと考えている。
新しいハードウェアプラットフォームを評価する際は、以下を考慮する。
出典:Technology Requirements for Deep and Machine Learning(The Next Platform)
Consultant and company co-founder in HPC
Copyright © ITmedia, Inc. All Rights Reserved.