Neuron SDK 開発環境のセットアップ

事前学習済みの機械学習モデルをコンパイルする開発環境及びコンパイルされたモデルを実行する運用環境として、Inf1 インスタンスを起動、セットアップします。 AMI は、Ubuntu 18.x、Amazon Linux 2 ベースの任意の AMI を選択可能です。

本ワークショップでは、開発環境と推論実行環境とを同一のinf1.2xlargeインスタンス上で通して実施します。より大規模なモデルをコンパイルする必要がある場合は、開発環境としてc5.4xlargeか、これより大きいインスタンスを使用することをお勧めします。

Step 1. 開発及び実行環境用 EC2 インスタンスを起動

EC2 ポータルに移動し、Deep Learning AMI (Ubuntu 18.04) バージョン 51 を選択し、inf1.2xlargeを起動します。

DLAMI の起動方法についてはこちらを合わせてご参照ください。

Amazon EC2 Inf1 インスタンスは、2021年10月現在、米国東部 (バージニア北部、オハイオ)、米国西部 (オレゴン、北カリフォルニア)、AWS GovCloud (米国西部、米国東部)、カナダ (中部)、欧州 (フランクフルト、アイルランド、ロンドン、ミラノ、パリ、ストックホルム)、 アジアパシフィック (香港、ムンバイ、ソウル、シンガポール、シドニー、東京)、中東 (バーレーン)、南米 (サンパウロ)、および中国 (北京、寧夏) などの 23 のリージョンで利用可能です。

Step 2. プリインストール済みの Neuron SDK 開発環境をセットアップ

2021 年 10 月 27 日にリリースされた Neuron 1.16.0 より前のリリースでは、Neuron Runtime はデーモン (neuron-rtd) として提供されていました。 Neuron 1.16.0 以降、Neuron Runtime 2.x は共有ライブラリ (libnrt.so) として実装され、Neuron フレームワークの一部として提供されています。 本ワークショップは Neuron 1.16.0 をベースにしています。

ここではDeep Learning AMI にプリインストールされた Neuron SDK をそのまま利用する手順を実行します。Neuron SDKを個別にインストールする場合はこちらをご参照下さい。

ソフトウェアツールやパッケージは頻繁に更新するため、更新プロセスを実行します。更新プロセスを実行する前に、不要な Neuron runtime 1.0 デーモン (neuron-rtd) を停止、削除します。

# Stop and uninstall existing Neuron runtime 1.0 daemon
sudo systemctl stop neuron-rtd
sudo apt remove aws-neuron-runtime aws-neuron-runtime-base -y

# Update OS packages
sudo apt-get update -y

# Update OS headers
sudo apt-get install linux-headers-$(uname -r) -y

# Update Neuron Driver
sudo apt-get install aws-neuron-dkms -y

# Update Neuron Tools
sudo apt-get install aws-neuron-tools -y

# Optional: Update Neuron TensorFlow model server
sudo apt-get install tensorflow-model-server-neuron -y

apt-get のインストール中に次のエラーが表示された場合は、バックグラウンドの更新が完了するまで 1 分ほど待ってから、apt-get install を再試行してください。

E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it?

最新の開発環境がインストールされていることを確認します。

dpkg -l | grep neuron

2021 年 11 月 1 日時点での最新版は以下の通りです。不要な Neuron ランタイム (aws-neuron-runtime) が削除され、Neuron ドライバ (aws-neuron-dkms)、ツール (aws-neuron-tools) がアップデートされている事が確認できます。

ii  aws-neuron-dkms                        2.2.6.0                             amd64        aws-neuron driver in DKMS format.
rc  aws-neuron-runtime                     1.5.0.0                             amd64        Neuron Runtime Driver and Inference Server
rc  aws-neuron-runtime-base                1.5.1.0                             amd64        neuron_base built using CMake
ii  aws-neuron-tools                       2.0.277.0                           amd64        neuron_tools built using CMake
ii  tensorflow-model-server-neuron         2.5.2.2.0.3.0                       all          TensorFlow Serving ModelServer