投稿日: Jul 23, 2018
Ubuntu および Amazon Linux 用の AWS 深層学習 AMI に、ハイパフォーマンスなトレーニング用に最適化された TensorFlow 1.9 のカスタムビルド、パフォーマンスおよび使いやすさが改善された最新の Apache MXNet 1.2、ハイパフォーマンスなマルチ GPU トレーニングに対応している Keras 2-MXNet の新しいバックエンド、MXNet トレーニングモデルのデバッグおよび可視化が改善された MXBoard の新しいツールが追加されました。
最適化された TensorFlow 1.9 を使用した高速なトレーニング
深層学習 AMI には、ソースコードから直接カスタム構築され、TensorFlow 1.9 でコンピューティング最適化されているビルドが使用されているため、Intel Xeon Platinum プロセッサで動作する Amazon EC2 C5 インスタンスでのトレーニングパフォーマンスを高速化できます。AMI では、NVIDIA CUDA 9 および cuDNN 7 で設定された TensorFlow 1.9 の GPU 最適化されたビルドを利用でき、Volta V100 GPU で動作する Amazon EC2 P3 インスタンスでの混合精度トレーニングを活用できます。深層学習 AMI により、TensorFlow の仮想環境を初めてアクティブ化する際に、EC2 インスタンス用に最適化された TensorFlow のハイパフォーマンスなビルドが自動的にデプロイされます。詳細については、TensorFlow のチュートリアルをご覧ください。
さらに、AMI で単一の GPU から複数の GPU まで TensorFlow トレーニングをスケールしたい開発者のために、人気のオープンソース分散型トレーニングフレームワークの Horovod が構成済みとなっています。この構成済みバージョンの Horovod では、パフォーマンスの改良や設定がリリースされたため、Amazon EC2 P3 インスタンスのクラスターでの分散型トレーニングを高速に実行できます。詳細については、ブログ記事をご覧ください。
Apache MXNet 1.2 の改良点
深層学習 AMI は、Apache MXNet 1.2 の最新リリースに対応しているため、使いやすく、高速なパフォーマンスを実現しています。MXNet 1.2 には Scala ベースでスレッドセーフ、かつハイレベルで新しい推論 API が使用されているため、MXNet でトレーニングされた深層学習モデルを使用した予測が実行しやすくなります。MXNet 1.2 では、Intel MKL-DNN と新たに統合したため、コンピューティング最適化されている C5 インスタンスでの畳み込み、逆畳み込み、プーリングなどのニューラルネットワークオペレータを高速化できます。また、強化された FP16 に対応しているため、Tensor Core の NVIDIA Volta V100 GPU で動作する Amazon EC2 P3 インスタンスでの混合精度トレーニングを高速化できます。最後に、MXNet 1.2 には、Open Neural Network Exchange の新しい形式 (ONNX) のモジュールが付属しているため、ONNX モデルを MXNet のシンボリックインターフェイスにインポートできます。ONNX は、機械学習フレームワーク間で相互運用性を促進するために使用される、機械学習モデルを代表するオープンフォーマットです。
Keras 2 の MXNet のバックエンドを使用したハイパフォーマンスなマルチ GPU トレーニング
深層学習 AMI には、新しい Keras-MXNet の深層学習バックエンドがプリインストールされています。Keras は、Python の高レベルなニューラルネットワーク API なため、畳み込みニューラルネットワーク (CNN) や再帰型ニューラルネットワーク (RNN) のプロトタイプを迅速かつ簡単に作成できます。Keras の開発者は、CNN や RNN の分散型トレーニング用として MXNet を深いバックエンドエンジンとして使用できます。これによりさらに高いパフォーマンスを実現できます。開発者は Keras で設計し、Keras-MXNet でトレーニングを行い、MXNet の大規模な本番環境で推論を実行できます。詳細については、このブログ記事をご覧ください。
MXBoard によるデバッグサポートの改善点
TensorBoard で MXNet のログデータの可視化を行うための API が利用できる Python パッケージの MXBoard により、開発者は MXNet モデルトレーニングのデバッグと可視化を容易に実行できます。MXBoard は、ヒストグラム、畳み込みフィルター、ビジュアル埋め込みなどの幅広い可視化に対応しています。