Amazon Web Services ブログ
AWS 深層学習 AMI が TensorFlow 1.13 と MXNet 1.4 を搭載し Amazon Linux 2 に対応
AWS 深層学習 AMI に、新たに MXNet 1.4.0、Chainer 5.3.0、TensorFlow 1.13.1 が追加されました。これらはソースから直接カスタムビルドされ、Amazon EC2 インスタンス全体で、高パフォーマンスのトレーニング向けに調整されています。
AWS 深層学習 AMI が Amazon Linux 2 で使用可能に
開発者は、AWS 深層学習 AMI と Deep Learning Base AMI を、次世代の Amazon Linux である Amazon Linux 2 で使用できるようになります。本バージョンは、2023 年 6 月 30 日までの長期サポート (LTS) を備え、Linux エコシステムの最新のイノベーションを利用することができます。Amazon Linux 2 の深層学習 AMI は、Python 3.6 と Python 2.7 で、TensorFlow (Keras 含む)、MXNet、PyTorch、Chainer 向けに事前構築され最適化された仮想環境を備えています。開発者は、Ubuntu と Amazon Linux で、AWS 深層学習 AMI と Deep Learning Base AMI を引き続き使用することができます。
Amazon Linux 2 は、ソフトウェアアップデートのための可用性が一段と拡大しました。このコアオペレーティングシステムは、5 年間の長期サポートを備え、Amazon Linux Extras のリポジトリを介して最新のソフトウェアパッケージへのアクセスを可能にしています。Amazon Linux 2 は、AWS での最適なパフォーマンスのために調整された LTS Kernel (4.14) 、systemd サポート、最新のツール (gcc 7.3.1、glibc 2.26、Binutils 2.29.1) を備えた、最先端の実行環境を提供しています。またユーザーは、Amazon Linux 2 の仮想マシンイメージをオンプレミスの開発とテストに使用することもできます。
TensorFlow 1.13 を使用したすばやいトレーニング
Ubuntu、Amazon Linux、Amazon Linux 2 上の深層学習 AMI に、TensorFlow 1.13.1 と CUDA 10 の最適化したビルドが追加されました。CPU インスタンスでは、TensorFlow 1.13 はソースから直接カスタムビルドされ、EC2 C5 インスタンスを駆動する Intel Xeon Platinum プロセッサでのパフォーマンスを高速化します。ResNet-50 モデルを、深層学習 AMI を使って合成の ImageNet データと共にトレーニングすると、スループットは元の TensorFlow 1.13 のバイナリの 9.4 倍になります。GPU インスタンスには、最適化された TensorFlow 1.13 のビルドが付属しています。このビルドは、NVIDIA CUDA 10 と cuDNN 7.4 を使って構成され、EC2 P3 インスタンスを駆動する Volta V100 GPU で、混合精度のトレーニングを活用します。深層学習 AMI は、TensorFlow の仮想環境が初めてアクティブ化されたとき、ユーザーが選択した EC2 インスタンスに最適化された最も高性能な TensorFlow のビルドを、自動でデプロイします。
自身の TensorFlow トレーニングを複数の GPU にスケールしたいと考える開発者のために、深層学習 AMI には、Horovod の分散トレーニングフレームワークが付属しています。このフレームワークは、Amazon EC2 P3 インスタンスから構成される分散トレーニングのクラスタートポロジを効率的に使用するように、完全に最適化されています。Horovod は、Message Passing Interface (MPI) モデルに基づいた、オープンソースの分散トレーニングフレームワークです。高性能な分散コンピューティング環境における、ノード間のメッセージの送受信や通信の管理では、一般的な基準となっています。深層学習 AMI で TensorFlow 1.13 と Horovod を使って ResNet-50 モデルをトレーニングすると、8 つのノードでのスループットは元の TensorFlow 1.13 よりも 27 % 高速化します。
MXNet 1.4 によりパフォーマンスと使いやすさが向上
AWS 深層学習 AMI に、最新版の Apache MXNet 1.4 が追加され、パフォーマンスと使いやすさがさらに向上しました。MXNet 1.4 では、推論用の Java バインディング、Julia バインディング、実験用の制御フロー演算子、JVM メモリ管理、その他数多くの内部強化を追加しました。今回のリリースでは、グラフの最適化と量子化の改善により、Intel MKL-DNN 向けの MXNet サポートも改善されています。この機能によりメモリ使用量が削減され、精度を大幅に犠牲にすることなく推論時間が向上しています。
Chainer 5.3
AWS 深層学習 AMI が Chainer 5.3.0 に対応しました。Chainer の define-by-run アプローチにより、開発者は、トレーニング中に計算グラフをその場ですぐに修正することができます。これにより、Sequence-to-Sequence 翻訳や質問応答システムといった自然言語処理 (NLP) タスクに使用されているリカレントニューラルネットワーク (RNN) のような、動的なニューラルネットワークを実装する際の柔軟性が格段に向上します。Chainer は、Amazon EC2 P3 インスタンスを駆動している NVIDIA Volta GPU の計算を高速化するために、NVIDIA CUDA 9 と cuDNN 7 ドライバを備えた CuPy を活用するように万全に構成されています。当社のステップバイステップチュートリアルを使うと、Chainer を今すぐ使用できるようになります。
AWS 深層学習 AMI の開始方法
開始方法のチュートリアルを利用すれば、AWS 深層学習 AMI を今すぐ使用できます。その他のチュートリアルについては、開発者ガイドでリソースやリリースノートを確認できます。最新の AMI は、AWS Marketplace で入手できます。当社のディスカッションフォーラムに登録すると、リリースに関する最新のお知らせを入手したり、質問を投稿したりすることができます。
著者について
Aditya Bindal は、AWS 深層学習のシニアプロダクトマネージャーです。顧客のために深層学習エンジンを使いやすくする製品に取り組んでいます。余暇には、テニスをしたり、歴史小説を読んだり、旅行を楽しんだりしています。
Bhavin Thaker は、AWS 深層学習グループのソフトウェア開発マネージャーです。AWS 深層学習 AMI に特に重点をおきながら、ユーザーが深層学習ツールを効率的に使用できるよう手助けする製品の開発に取り組んでいます。仲間と協力し、コンピュータを使用して、楽しみながらその実現に向かっています。余暇には、本を読んだり、家族や友人と過ごしたりしています。
Kalyanee Chendke は、AWS 深層学習のソフトウェアエンジニアです。ユーザーが深層学習を気軽に使い始められるような製品の開発に取り組んでいます。休みの日には、バドミントンをしたり、絵を描いたり、友人や家族と過ごしたりしています。