ディープラーニングのすべてをカバー

ディープラーニングの計算の大部分は、各層のニューロンの各入力値に重みを掛けて、それらの和をとるという処理で、これはマトリクスの積の計算と同じ処理である。このマトリクスの積などを計算するNVIDIA GPU用のBLASライブラリは、IntelのMKL BLASと比べると6~17倍高速で、1個のM40で、7TFlop(単精度)の性能が得られる。また、マルチGPUのサポートも提供されており、スケールアウトも可能になっている。

次の図の右のグラフはマトリクスのサイズを横軸にとり、GFlops性能をプロットしたもので、高性能の緑の方がTesla K40の性能で、青い方がXeon E5-2697 v2の結果である。

ディープラーニングの基本演算はマトリクス積の計算と同じで、GPUはXeonと比較して6~17倍速い

NVIDIAは複数のGPUの間のall-reduceやall-gatherなどの集合通信をサポートし、通信のトポロジを考慮した処理を行うライブラリを提供することでマルチGPUの場合の性能のスケーラビリティを改善している。

同一PCI Expressマスタに接続されたGPU間で直接集合通信を行うNCCLという機能をサポート

そして、NVIDIAは、GPUハードにディープラーニングをすぐに始められるソフトウェアをバンドルした「Digits」という開発システムを提供している。ソフトの改良でDigitsの性能は向上し、また、サポートするフレームワークも当初はCAFFEだけであったが、現在ではTorchやTheanoも追加されており、さらにサポートを追加して行くという。

NVIDIA DGITSはGPUとディープラーニング用のソフトを組み合わせて、すぐに使えるようにした開発システムである

そして、最新の「DIGITS 3」では、Torchフレームワークのサポートが追加され、性能の向上でDNNの評価の繰り返しが速くなり、学習時間が短縮されている。また、複数のジョブの管理が簡単になり、システムの利用率が改善できる。

最新のDIGIT 3ではTorchフレームワークのサポートが追加され、性能の向上で学習時間が短縮されている。また、複数のジョブの管理が簡単になり、システムの利用率が改善できる

このように、NVIDIAは単に性能が向上したGPUを提供するだけでなく、ツールについても継続的に改善を行っている。また、NVIDIAはDavenetという自動運転用のディープニューラルネットを開発しており、そのスキルを使って、顧客からのニューラルネットの構築に関するコンサルティングも提供しているという。