1.1.3.5. Node-AI Berryの環境構築をする

本項では「Node-AI Berry」を使用した、予測自動化を行う環境の構築手順について記載します。

以下、Node-AI Berryをデプロイするサーバーインスタンスのことを「Berryサーバー」と呼びます。

なお、本項中の設定値の「< >」の表記については、利用の環境により各自入力いただく箇所となります("<"から">"までを設定値に置き換えてください)。

前提条件を確認する

あらかじめ、これまでの「1.1.3.1. Wasabiオブジェクトストレージの設定をする」、「1.1.3.2. サーバーインスタンスの構築をする」、「1.1.3.3. Flexible InterConnectの設定をする」、「1.1.3.4. Node-AIの環境構築・学習モデルの作成・エクスポートをする」に記載されているすべての作業が完了していることを確認してください。

注釈

Berryサーバーの環境構築をする

Node-AI Berryを利用する際に必要なソフトウェアやDocker imageをインストール・ダウンロードします。

Ubuntuの初期設定をする

  1. 1.1.3.2. サーバーインスタンスの構築をする - インスタンスのコンソール画面の開き方」を参考に、作成したサーバーのコンソール画面を開きます。

  2. 初期のユーザー名・パスワードを求められるのでそれぞれ「ubuntu」と入力します。

    Node-AI Berryの環境構築をする - ユーザー画面
  3. パスワード変更を求められるので、任意のパスワードに変更します。

    Node-AI Berryの環境構築をする - パスワード画面

    注釈

    • 入力したパスワードは画面上には表示されません。
  4. 作業用ディレクトリを作成し、そのディレクトリに移動します。下記のコマンドを実行してください。以降、Berryサーバーでの作業は作業ディレクトリ「/home/ubuntu/work」で行うものとします。

    $ mkdir /home/ubuntu/work
    $ cd /home/ubuntu/work
    

pandasをインストールする

  1. aptパッケージを更新します。Berryサーバーにて下記のコマンドを実行してください。

    $ sudo apt update
    
  2. 自動化スクリプトの実行に必要な「pandas」をインストールします(本項記載時の「pandas」のバージョンは"0.25.3+dfsg-7"です)。下記のコマンドを実行してください。

    $ sudo apt install python3-pandas=0.25.3+dfsg-7
    

AWS CLIをインストールする

  1. AWS CLI ZIPファイルを取得します(本項記載時の「AWS CLI」のバージョンは"1.15.58"です)。Berryサーバーにて下記のコマンドを実行してください。

    $ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64-1.15.58.zip" -o "awscliv2.zip"
    
  2. unzipをインストールします(本項記載時の「unzip」のバージョンは"6.0-25ubuntu1.1"です)。下記のコマンドを実行してください。

    $ sudo apt install unzip=6.0-25ubuntu1.1
    
  3. AWS CLI ZIPファイルを展開し、インストールします。下記のコマンドを実行してください。

    $ unzip awscliv2.zip
    $ sudo ./aws/install
    

Docker imageをダウンロードする

  1. 下記ページを参考にDocker imageファイル(tar.gzファイル)を受け取り、Wasabiオブジェクトストレージ(以下Wasabi)内の任意のバケットに保存します(本構成ガイドでは「nodeai-bucket」に保存するものとして記載をしています)。

  2. AWS CLIのコンフィグ設定をします。Berryサーバーにて下記コマンドを実行するとパラメーターの入力を求められるので、以下の表のとおりに入力します。

    $ aws configure
    
    項目 備考
    AWS Access Key Id <Node-AI Berry用Wasabiユーザーの「アクセスキー」> 1.1.3.1. Wasabiオブジェクトストレージの設定をする - Node-AI Berry用ユーザーを作成する」で生成された「アクセスキー」を入力してください。
    AWS Secret Access Key Id <Node-AI Berry用Wasabiユーザーの「秘密鍵」> 1.1.3.1. Wasabiオブジェクトストレージの設定をする - Node-AI Berry用ユーザーを作成する」で生成された「秘密鍵」を入力してください。
    Default region name <バケットのリージョン(例:ap-northeast-1)> 1.1.3.1. Wasabiオブジェクトストレージの設定をする - バケットを作成する」で指定したリージョンを入力してください。
    Default output format (入力なし)  
  3. BerryサーバーにDocker imageをダウンロードします。下記のコマンドを実行してください(下記コマンドはWasabiのリージョンが「ap-northeast-1」の場合です)。

    $ aws s3 cp s3://nodeai-bucket/berry.tar.gz . --endpoint-url=https://s3.ap-northeast-1-ntt.wasabisys.com --recursive
    

Dockerを入手する

  1. 必要なパッケージをインストールします。Berryサーバーにて下記のコマンドを実行してください。

    $ sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
    
  2. Docker公式のGPG公開鍵をインストールします。下記のコマンドを実行してください。

    $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    
  3. repository(stable)を追加します。下記のコマンドを実行してください。

    $ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
    
  4. Dockerをインストールします(本項記載時の「Docker」のバージョンは"23.0.0"です)。下記のコマンドを実行してください。

    $ sudo apt-get install docker-ce docker-ce-cli containerd.io
    

Node-AI Berryで推論APIを公開する

Docker imageを取り込む

  1. Docker imageファイルをloadしてimageを取り込みます。Berryサーバーにて下記のコマンドを実行してください。

    $ sudo docker load -i berry.tar.gz
    
  2. Docker imageがサーバーに格納されていることを確認します。下記のコマンドを実行し、出力結果例のように「REPOSITRY」以降が確認できるような出力がされることを確認してください。

    $ sudo docker image list
    
    • 出力結果例
    REPOSITRY TAG IMAGE ID CREATED SIZE
    berry latest 4c787f633d5d 13 days ago 2.11GB
    

コンテナを起動する

  1. コンテナにマウントするディレクトリを作成します。Berryサーバーにて下記のコマンドを実行してください。

    $ mkdir $(pwd)/models
    
  2. Docker imageを起動します。下記のコマンドを実行してください。

    $ docker run -p 8001:8001 --mount type=bind,src=$(pwd)/models,dst=/nodeai/models --name berry -d -it berry:latest
    
  3. 推論APIが起動していることを確認します。下記のコマンドを実行し、出力結果「[]」が返ってくることを確認してください。

    $ curl -X 'GET' 'http://localhost:8001/api/v2/models' -H 'accept: application/json'
    
    • 出力結果
    []
    

学習モデルをアップロードする

1.1.3.4. Node-AIの環境構築・学習モデルの作成・エクスポートをする - 学習モデルをアップロードする」にてWasabiへアップロードした学習モデル(本項では例として、フォルダー名を「Node-AI-Model」、保存しているバケット名を「nodeai-bucket」としています)をNode-AI Berryへアップロードします。

  1. Wasabiから学習モデルをダウンロードします(下記コマンドはWasabiのリージョンが「ap-northeast-1」の場合です)。下記のコマンドを実行してください。

    $ aws cp s3://nodeai-bucket/Node-AI-Model . --endpoint-url=https://s3.ap-northeast-1-ntt.wasabisys.com --recursive
    
  2. 下記のコマンドを実行し、モデルをNode-AI Berryへアップロードします。「出力結果」のようにモデルIDが返ってくることを確認してください。

    $ curl -X 'POST' 'http://localhost:8001/api/v2/models' -H 'accept: application/json' -H 'Content-Type: multipart/form-data' -F 'file=@TrainModel.zip;type=application/zip'
    
    • 出力結果
    {"id":"xxxxxxxx-xxxx-xxxx-xxxxxxxxxxxx"}