投稿日: Nov 1, 2017

Apache MXNet バージョン 0.12 がリリースされ、今回より NVIDIA Volta GPU とスパーステンソルのサポートという 2 つの重要な機能が追加されました。 

NVIDIA Volta GPU アーキテクチャのサポート

MXNet v0.12 リリースには NVIDIA Volta V100 GPU サポートが追加されています。これにより、ユーザーは畳み込みニューラルネットワークのトレーニングを Pascal GPU に比べて 3.5 倍も速くすることができます。Volta GPU アーキテクチャは Tensor コアを採用しており、混合精度のトレーニングが可能です。混合精度に対応する Tensor コアにより、ユーザーはネットワークのほぼすべてのレイヤーで FP16 を使用し、必要な場合にのみより高い精度のデータタイプを使用することで、精密性に関して妥協することなく最適なトレーニングパフォーマンスを実現できます。Volta の Tensor コアを活用すれば、シンプルなコマンドをパスするだけで、FP16 を使用した MXNet でのトレーニングが実現します。

先日、AWS Deep Learning AMI の新しいセットをリリースしました。これは、Amazon EC2 P3 インスタンスファミリーの NVIDIA Volta V100 GPU に最適化した MXNet v0.12 を含む様々なディープラーニングフレームワークを備えた状態でプリインストールされています。AWS Marketplace にてクリック 1 回で開始、またはステップバイステップガイドを使用して最初のノートブックを始めることができます。

スパーステンソルのサポート

MXNet v0.12 にはスパーステンソルのサポートが追加されており、テンソルの保存・計算を効率的に実行できるようになったため、開発者は保存およびコンピューティングの点で効率よくスパース行列演算を行い、ディープトレーニングモデルのトレーニングを迅速化できます。このリリースは、2 つの重要なスパースデータ形式をサポートしています。すなわち、Compressed Sparse Row (CSR) と Row Sparse (RSP) です。CSR 形式は、多数の列を有し、各行にゼロ以外の要素が少数しかない行列を表すよう最適化されています。一方、RSP 形式は、多数の行を有し、ほとんどの行スライスが完全にゼロとなっている行列を表すよう最適化されています。このリリースでは、行列のドット積や要素ごとの演算子といった一般的に使用される演算子を対象とした、CPU でのスパースのサポートを実現しています。その他の演算子に対するスパースサポートは、今後のリリースで追加していく予定です。

MXNet で新しいスパース演算子を使用する方法については、チュートリアルをご覧ください。