Machine Learning > AI EasyMaker > コンソール使用ガイド

ダッシュボード

ダッシュボードでAI EasyMakerの全リソースの利用状況を確認できます。

サービス利用状況

リソースごとに利用中のリソース数を表示します。

  • ノートパソコン:利用中のACITVE(HEALTHY)状態のノートパソコン数
  • 学習:完了(COMPLETE)した学習数
  • ハイパーパラメータチューニング:完了(COMPLETE)したハイパーパラメータチューニング数
  • エンドポイント: ACTIVE状態のエンドポイント数

サービスモニタリング

  • API 呼び出しが最も多い Top 3 エンドポイントを表示します。
  • エンドポイントを選択すると、サブエンドポイントステージのAPI成功/失敗の合計指標を確認できます。

リソース使用率

  • CPU、GPUコアタイプ別に最も使用量が多いリソースを確認できます。
  • 指標にマウスポインタを合わせると、リソース情報が表示されます。

ノートパソコン

機械学習の開発に必要なパッケージがインストールされているJupyterノートパソコンを作成し、管理します。

ノートパソコンの作成

Jupyterノートパソコンを作成します。

  • イメージ:ノートパソコンインスタンスにインストールされるOSイメージを選択します。

    • コアタイプ:イメージのCPU、GPUコアタイプが表示されます。
    • フレームワーク:イメージにインストールされたフレームワークが表示されます。
      • TENSORFLOW:TensorFlowディープラーニングフレームワークがインストールされたイメージです。
      • PYTORCH:PyTorchディープラーニングフレームワークがインストールされたイメージです。
      • PYTHON:ディープラーニングフレームワークがインストールされておらず、Python言語のみインストールされたイメージです。
    • フレームワークバージョン:イメージにインストールされたフレームワークのバージョンが表示されます。
    • Pythonバージョン:イメージにインストールされたPythonバージョンが表示されます。
  • ノートパソコン情報

    • ノートパソコンの名前、説明を入力します。
    • ノートパソコンのインスタンスタイプを選択します。選択したタイプに基づいてインスタンスの仕様が選択されます。
  • ストレージ

    • ノートパソコンのブートストレージとデータストレージサイズを指定します。
      • ブートストレージは、Jupyterノートパソコンおよび基本仮想環境がインストールされるストレージです。このストレージはノートパソコンを再起動すると初期化されます。
      • データストレージは/root/easymakerディレクトリパスにマウントされるブロックストレージです。このストレージのデータはノートパソコンを再起動しても維持されます。
    • 作成されたノートパソコンのストレージサイズは変更できませんので、作成時に十分なストレージサイズで指定してください。
    • ストレージサイズは10GB単位で、最大2,040GBまで入力できます。
    • 必要な場合はノートパソコンを接続するNHN Cloud NASを接続できます。
      • マウントディレクトリ名:ノートパソコンにマウントするディレクトリ名を入力します。
      • NHN Cloud NASパス:nas://{NAS ID}:/{path}形式のディレクトリパスを入力します。
  • 追加設定

    • タグ:Key-Value形式のタグを指定できます。タグは最大10個まで入力できます。

[注意] NHN Cloud NASを使用する場合 AI EasyMakerと同じプロジェクトで作成されたNHN Cloud NASのみ使用できます。

[参考]ノートパソコン作成所要時間 ノートパソコンの作成には数分かかる場合があります。 最初のリソース(ノートパソコン、学習、実験、エンドポイント)作成時、サービス環境構成のためにさらに数分かかる場合があります。

ノートパソコンリスト

ノートパソコンリストが表示されます。リストのノートパソコンを選択すると、詳細情報を確認して情報を変更できます。

  • 名前:ノートパソコン名が表示されます。詳細画面で変更をクリックすると名前を変更できます。
  • 状態:ノートパソコンの状態が表示されます。主な状態は下表を参照してください。

    状態 説明
    CREATE REQUESTED ノートパソコン作成がリクエストされた状態です。
    CREATE IN PROGRESS ノートパソコンインスタンスを作成中の状態です。
    ACTIVE (HEALTHY) ノートパソコンアプリケーションが正常に動作している状態です。
    ACTIVE (UNHEALTHY) ノートパソコンアプリケーションが正常に動作していない状態です。ノートパソコンを再起動した後にもこの状態が持続する場合はサポートにお問い合わせください。
    STOP IN PROGRESS ノートパソコンを停止中の状態です。
    STOPPED ノートパソコンを停止した状態です。
    START IN PROGRESS ノートパソコンを起動中の状態です。
    DELETE IN PROGRESS ノートパソコンを削除中の状態です。
    CREATE FAILED ノートパソコンの作成中に失敗した状態です。作成が継続的に失敗する場合はサポートにお問い合わせください。
    STOP FAILED ノートパソコンの停止に失敗した状態です。もう一度お試しください。
    START FAILED ノートパソコンの起動に失敗した状態です。もう一度お試しください。
    DELETE FAILED ノートパソコンの削除に失敗した状態です。もう一度お試しください。
  • 作業 > Jupyterノートパソコンを開くJupyterノートパソコンを開くボタンをクリックすると、ブラウザの新しいウィンドウでノートパソコンを開きます。ノートパソコンはコンソールにログインしたユーザーのみアクセスできます。

  • タグ:ノートパソコンのタグが表示されます。タグは 変更をクリックして変更できます。

  • モニタリング:ノートパソコンを選択すると表示される詳細画面のモニタリングタブで、モニタリング対象インスタンスリストと基本指標チャートを確認できます。

    • モニタリングタブはノートパソコンが作成中または、進行中のタスクがある場合、無効になります。

ユーザー仮想実行環の境構成

AI EasyMakerノートパソコンインスタンスは、機械学習に必要なさまざまなライブラリおよびカーネルがインストールされた基本Conda仮想環境を提供します。 基本Conda仮想環境はノートパソコンを停止して起動する時に初期化されて動作しますが、ユーザーが任意のパスにインストールした仮想環境および外部ライブラリは自動的に初期化されないため、ノートパソコンを停止して起動する時に維持されません。 この問題を解決するには、/root/easymaker/custom-conda-envsディレクトリパスに仮想環境を作成し、作成された仮想環境から外部ライブラリをインストールする必要があります。 AI EasyMakerノートパソコンインスタンスは/root/easymaker/custom-conda-envsディレクトリパスに作成された仮想環境に対してノートパソコンを停止して起動する時に初期化されて動作するようにサポートします。

次のガイドを参照してユーザー仮想環境を構成してください。

  1. コンソールノートパソコンメニューのJupyterノートパソコンを開く > Jupyterノートパソコン > Launcher > Terminalをクリックします。
  2. /root/easymaker/custom-conda-envsパスに移動します。

    cd /root/easymaker/custom-conda-envs
    
  3. Python 3.8バージョンのeasymaker_envという仮想環境を作成するには、次のようにconda createコマンドを実行します。

    conda create --prefix ./easymaker_env python=3.8
    
  4. 作成された仮想環境はconda env listコマンドで確認できます。

    (base) root@nb-xxxxxx-0:~# conda env list
    # conda environments:
    #
                            /opt/intel/oneapi/intelpython/latest
                            /opt/intel/oneapi/intelpython/latest/envs/2022.2.1
    base                *   /opt/miniconda3
    easymaker_env           /root/easymaker/custom-conda-envs/easymaker_env
    

ノートパソコンの停止

動作中のノートパソコンを停止するか、停止したノートパソコンを起動します。

  1. ノートパソコンリストから起動または停止するノートパソコンを選択します。
  2. ノートパソコンの起動またはノートパソコンの停止をクリックします。
  3. リクエストされた作業はキャンセルできません。続行するには[OK]をクリックします。

[注意]ノートパソコンの停止後に起動時に仮想環境および外部ライブラリを維持する方法 ノートパソコンを停止して起動する時、ユーザーが作成した仮想環境および外部ライブラリが初期化されることがあります。 維持するにはユーザー仮想実行環境の構成を参照してユーザー仮想環境を構成してください。

[参考]ノートパソコンの起動と停止の所要時間 ノートパソコンの起動と停止は数分かかる場合があります。

ノートパソコンインスタンスタイプの変更

作成されたノートパソコンのインスタンスタイプを変更します。 変更するインスタンスタイプは既存インスタンスと同じコアタイプのインスタンスタイプにのみ変更できます。

  1. インスタンスタイプを変更するノートパソコンを選択します。
  2. ノートパソコンが動作中の状態(ACTIVE)の場合は、ノートパソコンの停止をクリックしてノートパソコンを停止します。
  3. インスタンスタイプの変更をクリックします。
  4. 変更するインスタンスタイプを選択し、[OK]をクリックします。

[参考]インスタンスタイプ変更所要時間 インスタンスタイプの変更は数分かかる場合があります。

ノートパソコンの削除

作成されたノートパソコンを削除します。

  1. リストから削除するノートパソコンを選択します。
  2. ノートパソコンの削除をクリックします。
  3. リクエストされた削除作業はキャンセルできません。続行するには[OK]をクリックします。

[参考]ストレージ ノートパソコンを削除すると、ブートストレージとデータストレージが削除されます。 接続したNHN Cloud NASは削除されず、NHN Cloud NASから個別に削除する必要があります。

実験

実験は、関連する学習を実験でグループ化し、管理します。

実験作成

  1. 実験作成をクリックします。
  2. 実験の名前と説明を入力し、確認をクリックします。

[参考]実験作成所要時間 実験の作成には数分の時間がかかる場合があります。 最初のリソース(ノートパソコン、学習、実験、エンドポイント)作成時、サービス環境の構成にさらに数分かかります。

実験リスト

実験リストが表示されます。リストの実験を選択すると、詳細情報を確認し、情報を変更できます。

  • 状態:実験の状態が表示されます。主な状態は下表を参照してください。

    状態 説明
    CREATE REQUESTED 実験の作成がリクエストされた状態です。
    CREATE IN PROGRESS 実験が作成されている状態です。
    CREATE FAILED 実験の作成に失敗した状態です。もう一度お試しください。
    ACTIVE 実験が正常に作成された状態です。
  • 作業

    • Tensorboardショートカットをクリックすると、実験に含まれる学習の統計情報を確認できるTensorboardがブラウザの新しいウィンドウで開きます。Tensorboardはコンソールにログインしたユーザーのみ接続できます。
    • 再試行:実験の状態が失敗の場合、再試行をクリックして実験を復旧できます。
  • 学習:学習を選択すると、表示される詳細画面の学習タブには、実験に含まれている学習のリストが表示されます。

実験の削除

実験を削除します。

  1. 削除する実験を選択します。
  2. 実験削除をクリックします。実験が作成中の場合、実験の削除はできません。
  3. リクエストされた削除作業はキャンセルできません。続行するには確認をクリックします。

[参考]関連した学習が存在する場合、実験の削除不可 実験と関連した学習が存在する場合、実験を削除できません。先に関連する学習を削除してから実験を削除してください。 関連した学習は、削除する実験をクリックすると表示される下段の詳細画面で[学習]タブをクリックしてリストを確認できます。

学習

機械学習アルゴリズムを学習し、学習結果を統計で確認できる環境を提供します。

学習作成

学習が実行されるインスタンスとOSイメージを選択して学習が実行される環境を設定し、学習するアルゴリズム情報と入力/出力データパスを入力して学習を進めます。

'- 学習テンプレート:学習テンプレートを読み込み、学習情報を設定するには「使用」を選択し、読み込む学習テンプレートを選択します。 - 基本情報:学習の基本情報と学習が含まれる実験を選択します。 - 学習名:学習名を入力します。 - 学習説明:説明を入力します。 - 実験:学習が含まれる実験を選択します。実験は関連する学習をグループ化します。作成された実験がない場合は追加をクリックして実験を作成します。 - アルゴリズム情報:学習するアルゴリズムの情報を入力します。 - アルゴリズムタイプ:アルゴリズムタイプを選択します。 - NHN Cloud提供アルゴリズム:AI EasyMakerが提供するアルゴリズムを使用します。提供するアルゴリズムの詳細については、NHN Cloud提供アルゴリズムガイド文書を参照してください。 - アルゴリズム:アルゴリズムを選択します。 - ハイパーパラメータ:学習に必要なハイパーパラメータ値を入力します。アルゴリズム別ハイパーパラメータの詳細については、NHN Cloud提供アルゴリズムガイド文書を参照してください。 - アルゴリズム指標:アルゴリズムで作成される指標に関する情報が表示されます。 - 独自アルゴリズム:ユーザーが作成したアルゴリズムを使用します。 - アルゴリズムパス - NHN Cloud Object Storage:アルゴリズムが保存されているNHN Cloud Object Storageのパスを入力します。
- obs://{Object Storage APIエンドポイント}/{containerName}/{path}形式でディレクトリパスを入力します。 - NHN Cloud Object Storageを利用する場合付録 > 1. NHN Cloud Object StorageにAI EasyMakerシステムアカウント権限追加を参照して権限を設定してください。必要な権限を設定しない場合はモデルの作成に失敗します。 - NHN Cloud NAS:アルゴリズムが保存されたNHN Cloud NASパスを入力します。
nas://{NAS ID}:/{path}形式でディレクトリパスを入力します。

        - **エントリーポイント**
            - エントリーポイントは学習が始まるアルゴリズム実行の入口点です。エントリーポイントファイル名を作成します。
            - エントリーポイントファイルはアルゴリズムパスに存在する必要があります。
            - 同じパスに**requirements.txt**を作成すると、スクリプトで必要なPythonパッケージがインストールされます。
        - **ハイパーパラメータ**
            - 学習用のパラメータを追加するには、**+ ボタン**をクリックしてKey-Value形式でパラメータを入力します。パラメータは最大100個まで入力できます。
            - 入力されたハイパーパラメータは、エントリーポイントが実行される時に実行引数として入力されます。詳しい活用方法は[付録 > 3. ハイパーパラメータ](./console-guide/#3)を参照してください。
  • イメージ:学習を実行しなければならない環境に合わせてインスタンスのイメージを選択します。

  • 学習リソース情報

    • 学習インスタンスタイプ:学習を実行するインスタンスタイプを選択します。
    • 分散ノード数:分散学習を実行するノード数を入力します。アルゴリズムコードでの設定により、分散学習が可能になります。詳細については、付録 > 6. フレームワーク別分散学習設定を参照してください。
    • torchrunの使用有無: Pytorchフレームワークでサポートするtorchrunの使用有無を選択してください。詳細については、 付録 > 8. torchrun使い方を参照してください。
    • ノードあたりのプロセス数: torchrunを使用する場合、ノードあたりのプロセス数を入力します。torchrunを使用すると、1つのノードに複数のプロセスを実行して分散学習が可能です。プロセス数によってメモリ使用量に影響があります。
  • 入力データ
    • データセット:学習を実行するデータセットを入力します。データセットは最大10個まで設定できます。
      • データセット名:データセットの名前を入力します。
      • データパス:NHN Cloud Object StorageまたはNHN Cloud NASのパスを入力します。
    • チェックポイント:保存されたチェックポイントから学習を進行する場合、チェックポイントの保存パスを入力します。
      • NHN Cloud Object StorageまたはNHN Cloud NASのパスを入力します。
  • 出力データ
    • 出力データ:学習の実行結果を保存するデータ保存パスを入力します。
      • NHN Cloud Object StorageまたはNHN Cloud NASのパスを入力します。
    • チェックポイント:アルゴリズムがチェックポイントを提供する場合、チェックポイントの保存パスを入力します。
      • 作成されたチェックポイントは以前の学習から学習を再開する際に利用できます。
      • NHN Cloud Object StorageまたはNHN Cloud NASのパスを入力します。
  • 追加設定
    • データストレージサイズ:学習を実行するインスタンスのデータストレージサイズを入力します。
      • NHN Cloud Object Storageを使用する場合にのみ使用されます。学習に必要なデータがすべて保存できるように十分なサイズを指定してください。
    • 最大学習時間:学習が完了するまでの最大待機時間を指定します。最大待機時間を超えた学習は終了処理されます。
    • ログ管理:学習進行中に発生するログをNHN Cloud Log & Crashサービスに保存できます。
    • タグ:タグを追加するには+ボタンをクリックしてKey-Value形式でタグを入力します。タグは最大10個まで入力できます。

[注意] NHN Cloud NASを使用する場合 AI EasyMakerと同じプロジェクトで作成されたNHN Cloud NASのみ使用できます。

[注意]学習入力データを削除すると学習失敗 学習が完了する前に入力データを削除すると、学習に失敗する可能性があります。

学習リスト

学習リストが表示されます。リストの学習を選択すると、詳細情報を確認して情報を変更できます。

  • 説明:学習の説明が表示されます。詳細画面で変更をクリックして説明を変更できます。
  • 学習時間:学習が進行された時間が表示されます。
  • 状態:学習の状態が表示されます。主な状態は下表を参照してください。

    状態 説明
    CREATE REQUESTED 学習の作成をリクエストした状態です。
    CREATE IN PROGRESS 学習に必要なリソースを作成中の状態です。
    RUNNING 学習が進行中の状態です。
    STOPPED 学習がユーザーのリクエストで停止した状態です。
    COMPLETE 学習が正常に完了した状態です。
    STOP IN PROGRESS 学習が停止中の状態です。
    FAIL TRAIN 学習の進行中に失敗した状態です。詳細な失敗情報はログ管理が有効になっている場合は、Log & Crash Searchログで確認できます。
    CREATE FAILED 学習の作成に失敗した状態です。作成が継続的に失敗する場合はサポートにお問い合わせください。
    FAIL TRAIN IN PROGRESS, COMPLETE IN PROGRESS 学習に使用されたリソースを整理中の状態です。
  • 作業

    • Tensorboard:学習の統計情報を確認できるTensorboardがブラウザの新しいウィンドウで開きます。
      Tensorboardログを残す方法は付録 > 5. Tensorboardを活用するための指標ログを保存を参照してください。Tensorboardはコンソールにログインしたユーザーのみ接続できます。
    • 学習の停止:進行中の学習を停止できます。
  • ハイパーパラメータ:学習を選択すると、表示される詳細画面のハイパーパラメータタブで学習に設定したハイパーパラメータ値を確認できます。

  • モニタリング:学習を選択すると表示される詳細画面のモニタリングタブで、モニタリング対象インスタンスリストと基本指標チャートを確認できます。

    • モニタリングタブは学習が作成中の場合、無効になります。

学習のコピー

既存の学習と同じ設定で新しい学習を作成します。

  1. コピーする学習を選択します。
  2. 学習のコピーをクリックします。
  3. 既存の学習と同じ設定で学習作成画面が表示されます。
  4. 設定を変更する情報がある場合は、変更した後に学習の作成をクリックして学習を作成します。

学習からモデルを作成する

完了した状態の学習でモデルを作成します。

  1. モデルとして作成する学習を選択します。
  2. モデルの作成をクリックします。完了(COMPLETE)状態の学習のみモデルとして作成できます。
  3. モデル作成ページに移動します。内容を確認し、モデルの作成をクリックしてモデルを作成します。 モデル作成の詳細についてはモデル文書を参照してください。

学習の削除

学習を削除します。

  1. 削除する学習を選択します。
  2. 学習の削除をクリックします。進行中の学習は停止後に削除できます。
  3. リクエストされた削除作業はキャンセルできません。続行するには[OK]をクリックします。

[参考]関連するモデルが存在する場合は学習の削除不可 削除する学習で作成されたモデルが存在する場合は学習を削除できません。モデルを先に削除してから学習を削除してください。

ハイパーパラメータチューニング

ハイパーパラメータチューニングは、モデルの予測精度を最大化するためにハイパーパラメータ値を最適化するプロセスです。もしこの機能を使用しない場合、多くの学習タスクを直接実行しながらハイパーパラメータを手動で調整し、最適な値を探す必要があります。

ハイパーパラメータチューニングの作成

ハイパーパラメータチューニング作業を構成する方法です。

  • 学習テンプレート
    • 使用:学習テンプレートを使用するかどうかを選択します。学習テンプレートを使用すると、ハイパーパラメータチューニングの一部構成値が事前に指定しておいた値で埋められます。
    • 学習テンプレート:ハイパーパラメータチューニングの一部構成値を自動で入力するために使用する学習テンプレートを選択します。
  • 基本情報
    • ハイパーパラメータチューニング名:ハイパーパラメータチューニングの作業名を入力します。
    • 説明:ハイパーパラメータチューニング作業の説明が必要な場合に入力します。
    • 実験:ハイパーパラメータチューニングが含まれる実験を選択します。実験は、関連するハイパーパラメータチューニングをグループ化します。作成された実験がない場合は追加をクリックし、実験を作成します。
  • チューニング戦略
    • 戦略名:どの戦略を使用して最適なハイパーパラメータを探すか選択します。
    • Random State:乱数作成を決定します。再現可能な結果のために固定された値で指定します。
  • アルゴリズム情報:学習するアルゴリズムに関する情報を入力します。
    • アルゴリズムタイプ:アルゴリズムタイプを選択します。
      • NHN Cloud提供アルゴリズム: AI EasyMakerが提供するアルゴリズムを使用します。提供するアルゴリズムの詳細情報は、NHN Cloud提供アルゴリズムガイド文書を参照してください。
        • アルゴリズム:アルゴリズムを選択します。
        • ハイパーパラメータスペック:ハイパーパラメータチューニングに使用するハイパーパラメータ値範囲を入力します。アルゴリズム別ハイパーパラメータに関する詳細情報は、NHN Cloud提供アルゴリズムガイド文書を参照してください。
          • 名前:どのハイパーパラメータをチューニングするか定義します。アルゴリズムごとに決まっています。
          • タイプ:ハイパーパラメータのデータタイプを選択します。アルゴリズムごとに決まっています。
          • 値/範囲
            • Min:最小値を定義します。
            • Max:最大値を定義します。
            • Step: "Grid"チューニング戦略を使用する場合、ハイパーパラメータ値の変化サイズを決定します。
        • アルゴリズム指標:アルゴリズムで作成される指標に関する情報が表示されます。
      • 独自アルゴリズム:ユーザーが作成したアルゴリズムを使用します。
        • アルゴリズムパス
          • NHN Cloud Object Storage:アルゴリズムが保存されているNHN Cloud Object Storageのパスを入力します。
          • NHN Cloud NAS:アルゴリズムが保存されているNHN Cloud NASパスを入力します。
            nas://{NAS ID}:/{path}形式でディレクトリパスを入力します。
        • エントリーポイント
          • エントリーポイントは学習が始まるアルゴリズム実行の入口点です。エントリーポイントファイル名を作成します。
          • エントリーポイントファイルはアルゴリズムパスに存在する必要があります。
          • 同じパスにrequirements.txtを作成すると、スクリプトで必要なPythonパッケージがインストールされます。
        • ハイパーパラメータスペック
          • 名前:どのハイパーパラメータをチューニングするか定義します。
          • タイプ:ハイパーパラメータのデータタイプを選択します。
          • 値/範囲
            • Min:最小値を定義します。
            • Max:最大値を定義します。
            • Step:"Grid"チューニング戦略を使用する際、ハイパーパラメータ値の変化サイズを決定します。
            • Comma-separated values:静的な値を使用してハイパーパラメータをチューニングします(例:sgd, adam)。
  • イメージ:学習を実行する必要がある環境に合わせてインスタンスのイメージを選択します。
  • 学習リソース情報
    • 学習インスタンスタイプ:学習を実行するインスタンスタイプを選択します。
    • 学習インスタンス数:学習を実行するインスタンス数です。学習インスタンス数は'分散ノード数×並列学習数'です。
    • 分散ノード数:分散学習を実行するノード数を入力します。アルゴリズムコードでの設定により、分散学習が可能になります。詳細については、付録 > 6. フレームワーク別分散学習設定を参照してください。
    • 並列学習数:同時に並列で実行する学習数を入力します。
    • torchrunの使用有無: Pytorchフレームワークでサポートするtorchrunの使用有無を選択してください。詳細については、 付録 > 8. torchrun使い方を参照してください。
    • ノードあたりのプロセス数: torchrunを使用する場合、ノードあたりのプロセス数を入力します。torchrunを使用すると、1つのノードに複数のプロセスを実行して分散学習が可能です。プロセス数によってメモリ使用量に影響があります。
  • 入力データ
    • データセット:学習を実行するデータセットを入力します。データセットは最大10個まで設定できます。
      • データセット名:データセットの名前を入力します。
      • データパス:NHN Cloud Object StorageまたはNHN Cloud NASのパスを入力します。
    • チェックポイント:保存されたチェックポイントから学習を進行する場合、チェックポイントの保存パスを入力します。
      • NHN Cloud Object StorageまたはNHN Cloud NASのパスを入力します。
  • 出力データ
    • 出力データ:学習の実行結果を保存するデータ保存パスを入力します。
      • NHN Cloud Object StorageまたはNHN Cloud NASのパスを入力します。
    • チェックポイント:アルゴリズムがチェックポイントを提供する場合、チェックポイントの保存パスを入力します。
      • 作成されたチェックポイントは以前の学習から学習を再開する際に利用できます。
      • NHN Cloud Object StorageまたはNHN Cloud NASのパスを入力します。
  • 指標
    • 指標名:学習コードが出力するログの中からどの指標を収集するかを定義します。
    • 指標フォーマット:指標の収集に使用する正規表現を入力します。学習アルゴリズムが正規表現に合わせて指標を出力する必要があります。
  • 目標指標
    • 指標名:どの指標の最適化が目標なのか選択します。
    • 目標指標タイプ:最適化タイプを選択します。
    • 目標指標Goal:目標指標がこの値に達するとチューニング作業が終了します。
  • チューニングリソース構成
    • 最大失敗学習数:失敗した学習の最大数を定義します。失敗した学習の数がこの値に達すると、チューニングは失敗となり終了します。
    • 最大学習数:最大学習数を定義します。自動実行された学習の数がこの値に達するまでチューニングが実行されます。
  • 学習の早期終了
    • 名前:学習を継続してもモデルがそれ以上良くならない場合、学習を早期に終了します。
    • Min Trainings Required:中間値を計算する際に、いくつの学習から目標指標値を取得するか定義します。
    • Start Step:何番目の学習段階から早期終了を適用するか設定します。
  • 学習の早期中止
    • 名前:学習を継続してもモデルが改善されない場合、学習を早期に終了します。
    • Min Trainings Required: 中間値を計算する際、何回の学習から目標指標値を取得するかを定義します。
    • Start Step: 何番目の学習段階から早期中止を適用するかを設定します。
  • 追加設定
    • データストレージサイズ:学習を実行するインスタンスのデータストレージサイズを入力します。
      • NHN Cloud Object Storageを使用する場合にのみ使用されます。学習に必要なデータがすべて保存されるように十分なサイズを指定してください。
    • 最大進行時間:学習が完了するまでの最大進行時間を指定します。最大進行時間を超過した学習は終了処理されます。
    • ログ管理:学習の進行中に発生するログをNHN Cloud Log & Crashサービスに保存できます。
    • タグ:タグを追加するには+ ボタンをクリックしてKey-Value形式でタグを入力します。タグは最大10個まで入力できます。

[注意]NHN Cloud NASを使用する場合 AI EasyMakerと同じプロジェクトで作成されたNHN Cloud NASのみ使用可能です。

[注意]学習入力データ削除時の学習失敗 学習が完了する前に入力データを削除すると、学習に失敗することがあります。

ハイパーパラメータチューニングリスト

ハイパーパラメータチューニングリストが表示されます。リストのハイパーパラメータチューニングを選択すると、詳細情報を確認し、情報を変更できます。

  • 所要時間:ハイパーパラメータチューニングにかかった時間を表示します。
  • 完了した学習:ハイパーパラメータチューニングによって自動作成された学習の中で完了した学習数を示します。
  • 進行中の学習:進行中の学習数を示します。
  • 失敗した学習:失敗した学習数を示します。
  • 最高学習:ハイパーパラメータチューニングによって自動作成された学習の中で、最高の目標指標値を記録した学習の目標指標情報を示します。
  • 状態:ハイパーパラメータチューニングの状態が表示されます。主な状態は下表を参照してください。

    状態 説明
    CREATE REQUESTED ハイパーパラメータチューニング作成をリクエストした状態です。
    CREATE IN PROGRESS ハイパーパラメータチューニングに必要なリソースを作成している状態です。
    RUNNING ハイパーパラメータチューニングが進行中の状態です。
    STOPPED ハイパーパラメータチューニングがユーザーのリクエストで停止された状態です。
    COMPLETE ハイパーパラメータチューニングが正常に完了した状態です。
    STOP IN PROGRESS ハイパーパラメータチューニングが停止している状態です。
    FAIL HYPERPARAMETER TUNING ハイパーパラメータチューニング進行中に失敗した状態です。失敗情報の詳細は、ログ管理が有効化された場合、Log & Crash Searchログを通じて確認できます。
    CREATE FAILED ハイパーパラメータチューニングの作成に失敗した状態です。継続的に作成に失敗する場合、サポートにお問い合わせください。
    FAIL HYPERPARAMETER TUNING IN PROGRESS, COMPLETE IN PROGRESS, STOP IN PROGRESS ハイパーパラメータチューニングに使用されたリソースを整理している状態です。
  • 状態詳細情報: COMPLETE状態のカッコ内の内容は状態の詳細情報です。主要詳細情報は以下の表を参照してください。

    詳細情報 説明
    GoalReached ハイパーパラメータチューニングの学習が目標値に達して完了したときの詳細情報です。
    MaxTrialsReached ハイパーパラメータチューニングが最大学習数に達し、完了した時の詳細情報です。
    SuggestionEndReached ハイパーパラメータチューニングの探索アルゴリズムがすべてのハイパーパラメータを探索したときの詳細情報です。
    - 作業
    - Tensorboardショートカット:学習の統計情報を確認できるTensorboardがブラウザの新しいウィンドウで開きます。
    Tensorboardログを残す方法は付録 > 5. Tensorboardを活用するための指標ログを保存を参照してください。Tensorboardはコンソールにログインしたユーザーのみ接続できます。
    - ハイパーパラメータチューニングの停止:進行中のハイパーパラメータチューニングを停止できます。
  • モニタリング:ハイパーパラメータチューニングを選択すると表示される詳細画面のモニタリングタブで、モニタリング対象インスタンスリストと基本指標チャートを確認できます。

    • モニタリングタブはハイパーパラメータチューニングが作成中の場合、無効になります。

ハイパーパラメータチューニングの学習リスト

ハイパーパラメータチューニングによって自動作成された学習リストが表示されます。リストの学習を選択すると、詳細情報を確認できます。

  • 目標指標値:目標指標値を示します。
  • *状態:ハイパーパラメータチューニングによって自動作成された学習の状態が表示されます。主な状態は下にある表を参照してください。

    状態 説明
    CREATED 学習が作成された状態です。
    RUNNING 学習が進行中の状態です。
    SUCCEEDED 学習が正常に完了した状態です。
    KILLED 学習がシステムによって停止された状態です。
    FAILED 学習の進行中に失敗した状態です。失敗情報の詳細は、ログ管理が有効化された場合、Log & Crash Searchログを通じて確認できます。
    METRICS_UNAVAILABLE 目標指標を収集できない状態です。
    EARLY_STOPPED 学習の進行中に性能(目標指標)が改善されず、早期終了した状態です。
    EARLY_STOPPED 学習進行中、性能(目標指標)が改善されないため、早期に中止した状態です。

ハイパーパラメータチューニングのコピー

既存ハイパーパラメータチューニングと同じ設定で新しいハイパーパラメータチューニングを作成します。

  1. コピーするハイパーパラメータチューニングを選択します。
  2. ハイパーパラメータチューニングのコピーをクリックします。
  3. 既存のハイパーパラメータチューニングと同じ設定で、ハイパーパラメータチューニングの作成画面が表示されます。
  4. 設定を変更したい情報がある場合、変更後ハイパーパラメータチューニングの作成をクリックしてハイパーパラメータチューニングを作成します。

ハイパーパラメータチューニングでモデルを作成する

完了した状態のハイパーパラメータチューニングの最高学習でモデルを作成します。

  1. モデルとして作成するハイパーパラメータチューニングを選択します。
  2. モデル作成をクリックします。完了(COMPLETE)状態のハイパーパラメータチューニングのみモデルとして作成できます。
  3. モデル作成ページに移動します。内容を確認後、モデル作成をクリックしてモデルを作成します。 モデルの作成に関する詳細はモデル文書を参照してください。

ハイパーパラメータチューニングの削除

ハイパーパラメータチューニングを削除します。

  1. 削除するハイパーパラメータチューニングを選択します。
  2. ハイパーパラメータチューニングの削除をクリックします。進行中のハイパーパラメータチューニングは停止後に削除できます。
  3. リクエストされた削除作業はキャンセルできません。続行するには[OK]をクリックします。

[参照]関連するモデルが存在する場合、ハイパーパラメータチューニングは削除不可 削除するハイパーパラメータチューニングで作成されたモデルが存在する場合、ハイパーパラメータチューニングは削除できません。先にモデルを削除してから、ハイパーパラメータチューニングを削除してください。

学習テンプレート

学習テンプレートを事前に作成しておくと、学習やハイパーパラメータチューニングを作成する際にテンプレートに入力した値を取り込むことができます。

学習テンプレートの作成

学習テンプレートに設定できる情報は学習の作成を参照してください。

学習テンプレートリスト

学習テンプレートリストが表示されます。リストの学習テンプレートを選択すると、詳細情報を確認し、情報を変更できます。

  • 作業
    • 変更:学習テンプレート情報を変更できます。
  • ハイパーパラメータ:学習テンプレートを選択すると表示される詳細画面のハイパーパラメータタブで学習テンプレートに設定したハイパーパラメータ名を確認できます。

学習テンプレートのコピー

既存学習テンプレートと同じ設定で新しい学習テンプレートを作成します。

  1. コピーする学習テンプレートを選択します。
  2. 学習テンプレートのコピーをクリックします。
  3. 既存の学習テンプレートと同じ設定で学習テンプレートの作成画面が表示されます。
  4. 設定を変更したい情報がある場合、変更後、学習テンプレートの作成をクリックして学習テンプレートを作成します。

学習テンプレートの削除

学習テンプレートを削除します。

  1. 削除する学習テンプレートを選択します。
  2. 学習テンプレートの削除をクリックします。
  3. リクエストされた削除作業はキャンセルできません。続行するには確認をクリックします。

モデル

AI EasyMakerの学習結果のモデルまたは外部のモデルをアーティファクトとして管理できます。

モデルの作成

  • 基本情報:モデルの基本情報を入力します。
    • 名前:モデル名を入力します。
      • モデルのフレームワークの種類がPyTorchの場合、PyTorchモデル名と同じモデル名を入力する必要があります。
    • 説明:モデルの説明を入力します。
  • フレームワーク情報:モデルのフレームワーク情報を入力します。
    • フレームワーク:モデルのフレームワークをTensorFlowまたはPyTorchから選択します。
    • フレームワークバージョン:モデルフレームワークのバージョンを入力します。
  • モデル情報:モデルのアーティファクトが保存されているリポジトリを入力します。
    • NHN Cloud Object Storage:モデルアーティファクトが保存されているObject Storageパスを入力します。
      • obs://{Object Storage APIエンドポイント}/{containerName}/{path}形式でディレクトリパスを入力します。
      • NHN Cloud Object Storageを利用する場合、付録 > 1. NHN Cloud Object StorageにAI EasyMakerシステムアカウント権限を追加を参考にして権限を設定してください。権限を設定していない場合、モデルのアーティファクトにアクセスができず、モデルの作成に失敗します。
    • NHN Cloud NAS:モデルアーティファクトが保存されているNHN Cloud NASパスを入力します。
      • nas://{NAS ID}:/{path}形式でディレクトリパスを入力します。
  • 追加設定:モデルの追加情報を入力します。
    • タグ:タグを追加するには+ボタンをクリックしてKey-Value形式でタグを入力します。タグは最大10個まで入力できます。

[注意] NHN Cloud NASを使用する場合 AI EasyMakerと同じプロジェクトで作成されたNHN Cloud NASのみ使用できます。

[注意]リポジトリのモデルアーティファクトを維持 リポジトリに保存されているモデルアーティファクトを維持しない場合、該当モデルのエンドポイント作成が失敗します。

モデルリスト

モデルリストが表示されます。リストのモデルを選択すると詳細情報を確認して情報を変更できます。

  • 名前:モデル名と説明が表示されます。モデル名と説明は変更をクリックして変更できます。
  • タグ:モデルのタグが表示されます。タグは 変更をクリックして変更できます。
  • モデルアーティファクトパス:モデルのアーティファクトが保存されているリポジトリが表示されます。
  • 学習名:学習で作成されたモデルの場合、もとになる学習の名前が表示されます。
  • 学習ID:学習で作成されたモデルの場合、もとになる学習のIDが表示されます。
  • フレームワーク:モデルのフレームワーク情報が表示されます。

モデルでエンドポイントを作成する

選択したモデルをサービスできるエンドポイントを作成します。

  1. エンドポイントとして作成するモデルをリストから選択します。
  2. エンドポイントの作成をクリックします。
  3. エンドポイントの作成ページに移動します。内容を確認し、エンドポイントの作成をクリックしてモデルを作成します。 エンドポイントの作成の詳細についてはエンドポイント文書を参照してください。

モデルの削除

モデルを削除します。

  1. リストから削除するモデルを選択します。
  2. モデルの削除をクリックします。
  3. リクエストされた削除作業はキャンセルできません。続行するには[OK]をクリックします。

[参考]関連するエンドポイントが存在する場合はモデル削除不可 削除しようとしているモデルで作成されたエンドポイントが存在する場合、モデルを削除できません。 削除するには先に該当モデルで作成されたエンドポイントを削除してからモデルを削除してください。

エンドポイント

モデルをサービスできるエンドポイントを作成し、管理します。

エンドポイントの作成

  • API Gatewayサービスの有効化
    • AI EasyMakerエンドポイントはNHN Cloud API Gatewayサービスを介してAPIエンドポイントを作成し、APIを管理します。エンドポイント機能を利用するにはAPI Gatewayサービスを必ず有効にする必要があります。
    • API Gatewayサービスの詳細と料金については、次の文書を確認してください。
  • エンドポイント:新規または既存エンドポイントにステージを追加するかどうかを選択します。
    • 新規エンドポイントとして作成:新規エンドポイントを作成します。API Gatewayに新規サービスと基本ステージでエンドポイントが作成されます。
    • 既存エンドポイントから新規ステージ追加:既存エンドポイントのAPI Gatewayのサービスに新規ステージとしてエンドポイントが作成されます。ステージを追加する既存エンドポイントを選択します。
  • エンドポイント名:エンドポイントの名前を入力します。エンドポイント名は重複できません。
  • ステージ名:既存エンドポイントから新規ステージを追加する場合、新規ステージ名を入力します。ステージ名は重複できません。
  • 説明:エンドポイントステージの説明を入力します。
  • ステージリソース情報:エンドポイントに配布するモデルアーティファクトの情報を入力します。
    • モデル:エンドポイントに配布するモデルを選択します。モデルを作成していない場合は、モデルを先に作成してください。
    • API Gatewayリソースパス:配布されるモデルのAPIリソースパスを入力します。例えば/inferenceと設定した場合、POST https://{enpdoint-domain}/inferenceで推論APIをリクエストできます。
    • Pod数:ステージリソースのPod数を入力します。
    • 説明:ステージリソース説明を入力します。
  • インスタンス情報:モデルがサービスされるインスタンス情報を入力します。
    • インスタンスタイプ:インスタンスタイプを選択します。
    • インスタンス数:インスタンスの動作数を入力します。
  • オートスケーラ:オートスケーラはリソース使用量ポリシーに基づいてノード数を自動的に調整する機能です。オートスケーラはステージ単位で設定されます。
    • 使用/使用しない:オートスケーラ使用有無を選択します。使用する場合、インスタンス負荷に応じてインスタンス数がスケールインまたはスケールアウトされます。
    • 最小ノード数:縮小可能な最小ノード数
    • 最大ノード数:増設可能な最大ノード数
    • 縮小:ノード縮小を有効にするかどうかの設定
    • リソース使用量しきい値:縮小の基準となるリソース使用量の基準値
    • しきい値維持時間(分):縮小対象となるノードのしきい値以下のリソース使用量維持時間
    • 増設後の縮小遅延時間(分):ノード増設後、縮小対象ノードでモニタリングを開始するまでの遅延時間
  • 追加設定 > タグ:タグを追加するには+ ボタンをクリックしてKey-Value形式でタグを入力します。タグは最大10個まで入力できます。

[参考]エンドポイント作成所要時間 エンドポイントの作成には数分かかる場合があります。 最初のリソース(ノートパソコン、学習、実験、エンドポイント)作成時、サービス環境構成のためにさらに数分かかります。

[参考]エンドポイント作成時のAPI Gatewayサービスリソース提供制約 新規エンドポイントを作成すると、API Gatewayサービスを新規作成します。 既存エンドポイントから新規ステージを追加すると、API Gatewayサービスに新規ステージを作成します。 API Gatewayサービスリソース提供ポリシーのリソース提供ポリシーを超えた場合、AI EasyMakerでのエンドポイント作成ができません。この場合はAPI Gatewayサービスリソースクォーターを調整してください。

エンドポイントリスト

エンドポイントリストが表示されます。リストのエンドポイントを選択すると、詳細情報を確認して情報を変更できます。

  • 基本ステージURL:エンドポイントのステージのうち、基本ステージのURLが表示されます。
  • 状態:エンドポイントの状態です。主な状態は下表を参照してください。

    状態 説明
    CREATE REQUESTED エンドポイントの作成がリクエストされた状態です。
    CREATE IN PROGRESS エンドポイントを作成中の状態です。
    UPDATE IN PROGRESS エンドポイントのステージの一部が処理中の作業がある状態です。
    エンドポイントステージリストでステージごとの作業状態を確認できます。
    DELETE IN PROGRESS エンドポイントを削除中の状態です。
    ACTIVE エンドポイントが正常に動作中の状態です。
    CREATE FAILED エンドポイントの作成に失敗した状態です。
    エンドポイントを削除してからもう一度作成する必要があります。作成失敗状態が繰り返される場合はサポートにお問い合わせください。
    UPDATE FAILED エンドポイントのステージの一部が正常にサービスされていない状態です。問題となるステージを削除してもう一度作成する必要があります。
  • API Gateway状態:エンドポイント基本ステージのAPI Gateway状態情報が表示されます。主な状態は下表を参照してください。

    状態 説明
    CREATE IN PROGRESS API Gatewayリソースを作成中の状態です。
    STAGE DEPLOYING API Gateway基本ステージが配布中の状態です。
    ACTIVE API Gateway基本ステージが正常に配布され、有効な状態です。
    NOT FOUND: STAGE エンドポイントの基本ステージが見つからない状態です。
    API Gatewayコンソールでステージが存在することを確認してください。
    ステージが削除された場合、削除されたAPI Gatewayステージは復元できず、エンドポイントを削除してからもう一度作成する必要があります。
    NOT FOUND: STAGE DEPLOY RESULT エンドポイント基本ステージの配布状態が見つからない状態です。
    API Gatewayコンソールで基本ステージが配布された状態であることを確認してください。
    STAGE DEPLOY FAIL API Gateway基本ステージが配布失敗した状態です。
    [参考]ステージのAPI Gateway「配布失敗」状態の場合の復旧方法を参照して配布失敗状態を復旧できます。

エンドポイントステージの作成

既存のエンドポイントに新規ステージを追加します。新規ステージを作成して基本ステージの影響を受けずに新規ステージをテストできます。

  1. エンドポイントリストでエンドポイント名をクリックします。
  2. + ステージ作成をクリックします。
  3. 既存エンドポイントで新規ステージ追加が自動選択され、設定方法はエンドポイント作成内容と同じです。
  4. リクエストされた削除作業はキャンセルできません。続行するには[OK]をクリックします。

エンドポイントステージリスト

エンドポイント下位に作成されたステージリストが表示されます。リストのステージを選択すると詳細情報を確認できます。

  • 状態:エンドポイントステージの状態が表示されます。主な状態は下表を参照してください。

    状態 説明
    CREATE REQUESTED エンドポイントステージの作成がリクエストされた状態です。
    CREATE IN PROGRESS エンドポイントステージを作成中の状態です。
    DEPLOY IN PROGRESS エンドポイントステージにモデルを配布中の状態です。
    DELETE IN PROGRESS エンドポイントステージを削除中の状態です。
    ACTIVE エンドポイントステージが正常に動作中の状態です。
    CREATE FAILED エンドポイントステージの作成に失敗した状態です。もう一度お試しください。
    DEPLOY FAILED エンドポイントステージの配布に失敗した状態です。もう一度作成してみてください。
  • API Gateway状態:エンドポイントステージが配布されたAPI Gatewayのステージ状態が表示されます。

  • ステージ基本ステージかどうか:基本ステージかどうかが表示されます。
  • ステージURL:モデルがサービスされたAPI GatewayのステージURLが表示されます。
  • API Gateway設定表示:AI EasyMakerがAPI Gatewayステージに配布した設定を確認するには、設定表示をクリックします。
  • API Gateway統計表示:エンドポイントのAPI統計を表示するには統計表示をクリックします。
  • インスタンスタイプ:モデルがサービスされるエンドポイントインスタンスタイプが表示されます。
  • 実行中のワークノード/Pod数:エンドポイントで使用中のノードとPod数が表示されます。
  • ステージリソース:ステージに配布されたモデルアーティファクト情報が表示されます。
  • モニタリング:エンドポイントステージを選択すると表示される詳細画面のモニタリングタブで、モニタリング対象インスタンスリストと基本指標チャートを確認できます。
    • モニタリングタブはエンドポイントステージが作成中の場合、無効になります。
  • API統計:エンドポイントステージを選択すると表示される詳細画面のAPI統計タブで、エンドポイントステージのAPI統計情報を確認できます。
    • API統計タブはエンドポイントステージが作成中の場合、無効になります。

[注意] AI EasyMakerが作成したAPI Gatewayの設定変更時の注意点 AI EasyMakerはエンドポイント作成またはエンドポイントステージ作成を行うと、エンドポイントに対するAPI Gatewayのサービスとステージを作成します。 AI EasyMakerによって作成されたAPI GatewayサービスとステージをAPI Gatewayサービスコンソールで直接変更作業を行う場合、次の注意事項を必ず参照してください。 1. AI EasyMakerが作成したAPI Gatewayサービスとステージを削除しないようにします。削除すると、エンドポイントにAPI Gateway情報が正常に表示されず、エンドポイントの変更事項がAPI Gatewayに適用されない場合があります。 2. エンドポイント作成時に入力したAPI Gatewayリソースパスのリソースを変更または削除しないようにします。削除すると、エンドポイントの推論APIの呼び出しに失敗する場合があります。 3. エンドポイント作成時に入力したAPI Gatewayリソースパス下位にリソースを追加しないようにします。追加したリソースはエンドポイントステージ追加/変更作業時に削除される場合があります。 4. API Gatewayのステージ設定でAPI Gatewayリソースパスに設定されたバックエンドエンドポイントURL再定義を無効にするか、URLを変更しないようにします。変更すると、エンドポイントの推論API呼び出しに失敗する可能性があります。 上記の注意事項以外の設定は、必要に応じてAPI Gatewayで提供する機能を利用できます。 API Gatewayの詳細についてはAPI Gatewayコンソールガイドを参照してください。

[参考]ステージのAPI Gateway 「配布失敗」状態の場合の復旧方法 一時的な問題でAI EasyMakerエンドポイントのステージ設定がAPI Gatewayステージに配布されていない場合、配布失敗状態と表示されます。 この場合、ステージリストからステージ選択 > 下部の詳細画面のAPI Gateway設定表示 > 「ステージ配布」をクリックしてAPI Gatewayステージを手動で配布できます。 上記のガイドでも配布状態が回復しない場合はサポートにお問い合わせください。

ステージリソース作成

既存のエンドポイントステージに新規リソースを追加します。

  • モデル:エンドポイントに配布するモデルを選択します。モデルを作成していない場合、モデルを先に作成してください。
  • API Gatewayリソースパス:配布されるモデルのAPIリソースパスを入力します。例えば、/inferenceに設定した場合、POST https://{enpdoint-domain}/inferenceで推論APIをリクエストできます。
  • Pod数:ステージリソースのPod数を入力します。
  • 説明:ステージリソース説明を入力します。

ステージリソースリスト

エンドポイントステージの下に作成されたソースリストが表示されます。

  • 状態:ステージリソースの状態が表示されます。主な状態は下記の表を参照してください。

    状態 説明
    CREATE REQUESTED ステージリソース作成がリクエストされた状態です。
    CREATE IN PROGRESS ステージリソースを作成中の状態です。
    DELETE IN PROGRESS ステージリソースを削除中の状態です。
    ACTIVE ステージリソースが正常に配布された状態です。
    CREATE FAILED ステージリソースの作成に失敗した状態です。もう一度お試しください。
  • モデル名:ステージに配布されたモデルの名前です。

  • API Gatewayリソースパス:ステージに配布されたモデルのエンドポイントURLです。APIクライアントは表示されたURLでAPIをリクエストできます。
  • Pod数:リソースで使用中の正常Podと全体Pod数が表示されます。

エンドポイント推論の呼び出し

  1. エンドポイント > エンドポイントステージでステージをクリックすると、下部にステージ詳細画面が表示されます。
  2. 詳細画面のステージリソースタブでAPI Gatewayリソースパスを確認します。
  3. HTTP POST MethodでAPI Gatewayリソースパスを呼び出すと、推論APIが呼び出されます。
    • ユーザーが作成したアルゴリズムによって推論APIのリクエスト、レスポンス仕様は異なります。
      // 推論API例:リクエスト
      curl --location --request POST '{API Gatewayリソースパス}' \
      --header 'Content-Type: application/json' \
      --data-raw '{
          "instances": [
              [6.8,  2.8,  4.8,  1.4],
              [6.0,  3.4,  4.5,  1.6]
          ]
      }'
      
      // 推論API例:レスポンス
      {
          "predictions" : [
              [
                  0.337502569,
                  0.332836747,
                  0.329660654
              ],
              [
                  0.337530434,
                  0.332806051,
                  0.329663515
              ]
          ]
      }
      

ステージリソースの削除

  1. エンドポイントリストでエンドポイント名をクリックしてエンドポイントステージリストに移動します。
  2. エンドポイントステージリストで削除するステージリソースが配布されたエンドポイントステージをクリックします。クリックすると、下部にステージの詳細画面が表示されます。
  3. 詳細画面のステージリソースタブで削除するステージリソースを選択します。
  4. ステージリソースの削除をクリックします。
  5. リクエストされた削除作業はキャンセルできません。続行するには確認をクリックします。

エンドポイントの基本ステージ変更

エンドポイントの基本ステージを他のステージに変更します。 サービスの瞬断なしでエンドポイントのモデルを変更するには、AI EasyMakerはステージ機能を活用してモデルを配布することを推奨します。

  1. 実際のサービスで運営中のステージは基本ステージで運営します。
  2. 新規モデルに交換する場合、既存エンドポイントに新規ステージを追加します。
  3. 新規ステージで交換されたモデルでエンドポイントサービスに問題がないことを確認します。
  4. 基本ステージの変更をクリックします。
  5. 基本ステージに変更する新規ステージを、変更するステージから選択します。
  6. 変更リクエスト作業はキャンセルできません。続行するには[OK]をクリックします。
  7. 変更するステージが基本ステージに変更され、既存基本ステージのリソースは自動的に削除されます。

エンドポイントステージの削除

  1. エンドポイントリストでエンドポイント名をクリックしてエンドポイントステージリストに移動します。
  2. エンドポイントステージリストから削除するエンドポイントステージを選択します。基本ステージは削除できません。
  3. ステージの削除をクリックします。
  4. リクエストされた削除作業はキャンセルできません。続行するには[OK]をクリックします。

[注意]エンドポイントステージを削除するとAPI Gatewayサービスのステージ削除 AI EasyMakerのエンドポイントステージを削除すると、エンドポイントのステージが配布されたAPI Gatewayサービスのステージも削除されます。 削除されるAPI Gatewayステージに運営中のAPIが存在する場合、API呼び出しができませんので注意してください。

エンドポイントの削除

エンドポイントを削除します。

  1. エンドポイントリストから削除するエンドポイントを選択します。
  2. エンドポイント下位に基本ステージを除くステージが存在する場合、エンドポイントを削除できません。先に他のステージを削除してからエンドポイントを削除してください。
  3. エンドポイントの削除をクリックします。
  4. リクエストされた削除作業はキャンセルできません。続行するには[OK]をクリックします。

[注意]エンドポイントを削除するとAPI Gatewayサービス削除 AI EasyMakerのエンドポイントを削除すると、エンドポイントが配布されたAPI Gatewayサービスも削除されます。 削除されるAPI Gatewayサービスに運営中のAPIが存在する場合、API呼び出しができませんので注意してください。

個人イメージ

ユーザーがパーソナライズされたコンテナイメージを利用してノートパソコン、学習、ハイパーパラメータチューニングを駆動できます。 AI EasyMakerで提供するノートパソコン/ディープラーニングイメージを基に派生した個人イメージのみ、AI EasyMakerでリソース作成時に利用できます。 AI EasyMakerの基盤イメージは下表を確認してください。

ノートパソコンイメージ

イメージ名 コアタイプ フレームワーク フレームワークバージョン Pythonバージョン イメージアドレス
Ubuntu 22.04 CPU Python Notebook CPU Python 3.10.12 3.10 fb34a0a4-kr1-registry.container.nhncloud.com/easymaker/python-notebook:3.10.12-cpu-py310-ubuntu2204
Ubuntu 22.04 GPU Python Notebook GPU Python 3.10.12 3.10 fb34a0a4-kr1-registry.container.nhncloud.com/easymaker/python-notebook:3.10.12-gpu-py310-ubuntu2204
Ubuntu 22.04 CPU PyTorch Notebook CPU PyTorch 2.0.1 3.10 fb34a0a4-kr1-registry.container.nhncloud.com/easymaker/pytorch-notebook:2.0.1-cpu-py310-ubuntu2204
Ubuntu 22.04 GPU PyTorch Notebook GPU PyTorch 2.0.1 3.10 fb34a0a4-kr1-registry.container.nhncloud.com/easymaker/pytorch-notebook:2.0.1-gpu-py310-ubuntu2204
Ubuntu 22.04 CPU TensorFlow Notebook CPU TensorFlow 2.12.0 3.10 fb34a0a4-kr1-registry.container.nhncloud.com/easymaker/tensorflow-notebook:2.12.0-cpu-py310-ubuntu2204
Ubuntu 22.04 GPU TensorFlow Notebook GPU TensorFlow 2.12.0 3.10 fb34a0a4-kr1-registry.container.nhncloud.com/easymaker/tensorflow-notebook:2.12.0-gpu-py310-ubuntu2204

ディープラーニングイメージ

イメージ名 コアタイプ フレームワーク フレームワークバージョン Pythonバージョン イメージアドレス
Ubuntu 22.04 CPU PyTorch Training CPU PyTorch 2.0.1 3.10 fb34a0a4-kr1-registry.container.nhncloud.com/easymaker/pytorch-train:2.0.1-cpu-py310-ubuntu2204
Ubuntu 22.04 GPU PyTorch Training GPU PyTorch 2.0.1 3.10 fb34a0a4-kr1-registry.container.nhncloud.com/easymaker/pytorch-train:2.0.1-gpu-py310-ubuntu2204
Ubuntu 22.04 CPU TensorFlow Training CPU TensorFlow 2.12.0 3.10 fb34a0a4-kr1-registry.container.nhncloud.com/easymaker/tensorflow-train:2.12.0-cpu-py310-ubuntu2204
Ubuntu 22.04 GPU TensorFlow Training GPU TensorFlow 2.12.0 3.10 fb34a0a4-kr1-registry.container.nhncloud.com/easymaker/tensorflow-train:2.12.0-gpu-py310-ubuntu2204

[参考]個人イメージ使用制約事項 * AI EasyMakerで提供する基盤イメージから派生した個人イメージのみ使用できます。 * 個人イメージが保存されるコンテナレジストリサービスは、NHN Container Registry(NCR)のみ連動可能です。 (2023年12月基準)

個人イメージの作成

次の文書は、ドッカー(Docker)を活用してAI EasyMakerベースのイメージでコンテナイメージを作成し、AI EasyMakerでノートパソコン用の個人イメージを使用する方法を案内します。

  1. 個人イメージのDockerFileを作成します。

        FROM fb34a0a4-kr1-registry.container.nhncloud.com/easymaker/python-notebook:3.10.12-cpu-py310-ubuntu2204 as easymaker-notebook
        RUN conda create -n example python=3.10
        RUN conda activate example
        RUN pip install torch torchvision
    
  2. 個人イメージビルドとコンテナレジストリPush DockerfileでイメージをビルドしてNCRレジストリにイメージを保存(Push)します。

        docker build -t {イメージ名}:{タグ} .
        docker tag {イメージ名}:{タグ} {NCRレジストリアドレス}/{イメージ名}:{タグ}
        docker push {NCRレジストリアドレス}/{イメージ名}:{タグ}
    
        (例)
        docker build -t cutstom-training:v1 .
        docker tag cutstom-training:v1 example-kr1-registry.container.nhncloud.com/registry/custom-training:v1
        docker push example-kr1-registry.container.nhncloud.com/registry/custom-training:v1
    
  3. NCRに保存(Push)したイメージをAI EasyMakerの個人イメージとして作成します。

    1. AI EasyMakerコンソールのイメージメニューに移動します。
    2. イメージ作成 ボタンをクリックして、作成したイメージの情報を入力します。
      • 名前、説明:イメージの名前と説明を入力します。
      • アドレス:レジストリイメージアドレスを入力します。
      • タイプ:コンテナイメージのタイプを入力します。ノートパソコンまたは学習を選択します。
      • アカウント: AI EasyMakerノートパソコン/学習ノードがユーザーのレジストリリポジトリにアクセスするためのアカウントを選択します。
        • 新規使用:新規レジストリアカウントを登録します。
          • 名前、説明:レジストリアカウントの名前と説明を入力します。
          • 分類:コンテナレジストリサービスを選択します。
          • ID:レジストリリポジトリのIDを入力します。
          • パスワード:レジストリリポジトリのパスワードを入力します。
        • 既存アカウント使用:すでに登録されたレジストリアカウントを選択します。
  4. 作成した個人イメージでノートパソコンを作成します。

    1. ノートパソコンメニューに移動します。 ノートパソコン作成 ボタンをクリックしてノートパソコン作成ページに移動します。
    2. イメージ情報で個人イメージタブをクリックします。
    3. ノートパソコンコンテナイメージとして使用する個人イメージを選択します。
    4. その他ノートパソコン情報を入力して作成すると、個人イメージでノートパソコンが駆動されます。

[参考] ノートパソコン以外の学習、ハイパーパラメータチューニングも同様に個人イメージを使用してリソースを作成できます。 [参考] コンテナレジストリサービス: NHN Container Registry(NCR) コンテナレジストサービスとしてNCRサービスのみ連動可能です。 (2023年12月基準)
NCRサービスのアカウントIDとパスワードは、次の値を入力します。
ID: NHN CloudユーザーアカウントのUser Access Key
パスワード: NHN CloudユーザーアカウントのUser Secret Key

レジストリアカウント

AI EasyMakerが、個人イメージが保存されているユーザーのレジストリからイメージを取得して(Pull)コンテナを駆動するにはユーザーのレジストリにログインする必要があります。 レジストリアカウントにログイン情報を保存しておけば、該当レジストリアカウントに連動されたイメージで再使用できます。 レジストリアカウントを管理するにはAI EasyMakerコンソールのイメージメニューに移動した後、レジストリアカウントタブを選択します。

レジストリアカウントの作成

新規レジストリアカウントを作成します。

  • 名前:レジストリアカウントの名前を入力します。
  • 説明:レジストリアカウントの説明を入力します。
  • 分類:コンテナレジストリサービスを選択します。
  • ID:レジストリアカウントのIDを入力します。
  • パスワード:レジストリアカウントのパスワードを入力します。

レジストリアカウントの修正

レジストリID、パスワードの修正

  • レジストリアカウントの修正ボタンをクリックします。
  • ID とパスワードを新たに入力した後、確認ボタンをクリックします。

[参考] レジストリアカウントを変更すると、そのアカウントと連動されたイメージを使用する際、変更されたIDとパスワードでレジストリサービスにログインします。 間違ったレジストリID、パスワードを入力すると、個人イメージPullの進行中にログインに失敗し、リソースの作成に失敗します。 レジストリアカウントが連動された個人イメージで作成中のリソースがあったり、実行中の学習やハイパーパラメータがある場合は修正できません。

レジストリアカウント > 名前、説明の変更

  1. レジストリアカウントリストから変更するアカウントを選択します。
  2. 下部画面の変更ボタンをクリックします。
  3. 名前と説明を変更した後、確認ボタンをクリックします。

レジストリアカウントの削除

削除するレジストリアカウントをリストから選択し、レジストリアカウントの削除ボタンをクリックします。

[参考] イメージと連動されたレジストリアカウントは削除できません。 削除するには、連動されたイメージを先に削除した後、レジストリアカウントを削除する必要があります。

付録

1. NHN Cloud Object StorageにAI EasyMakerシステムアカウント権限を追加

AI EasyMakerの一部機能で入出力ストレージとしてユーザーのNHN Cloud Object Storageを使用する場合、 ユーザーのNHN Cloud Object StroageコンテナにAI EasyMakerシステムアカウントへの読み取りまたは書き込み権限を許可した時のみ正常に機能が動作します。

ユーザーのNHN Cloud Object StroageコンテナにAI EasyMakerシステムアカウントの読み取り/書き込み権限を許可することは、AI EasyMakerシステムアカウントがユーザーのNHN Cloud Object Stroageコンテナのすべてのファイルに対して付与された権限に基づいてファイルの読み書きができることを意味します。

この内容を必ず確認して必要なアカウントと権限のみユーザーObject Storageにアクセスポリシーを設定する必要があります。

アクセスポリシー設定中にAI EasyMakerシステムアカウント以外のアカウントに対してユーザーのObject Storageアクセスを許可して発生したすべての結果に対する責任は「ユーザー」にあり、AI EasyMakerはそれに対して責任を負いません。

[参考]機能によってAI EasyMakerがObject Stroageにアクセスして読み書きするファイルは次のとおりです。

機能 権限 アクセス対象
学習 読み取り ユーザーが入力したアルゴリズムパス、学習入力データパス
学習 書き込み ユーザーが入力した学習出力データ、チェックポイントパス
モデル 読み取り ユーザーが入力したモデルアーティファクトパス
エンドポイント 読み取り ユーザーが入力したモデルアーティファクトパス

NHN Cloud Object StorageにAI EasyMakerシステムアカウントの読み取り/書き込み権限を追加するには、次の内容を参照してください。

  1. [学習]または[モデル]タブ > AI EasyMakerシステムアカウント情報をクリックします。
  2. AI EasyMakerシステムアカウント情報のAI EasyMakerテナントIDAI EasyMaker APIユーザーIDをアーカイブします。
  3. NHN Cloud Object Storageコンソールに移動します。
  4. 特定プロジェクトまたは特定ユーザーに読み取り/書き込み許可文書を参照してNHN Cloud Object StorageコンソールでAI EasyMakerシステムアカウントに必要な読み取りおよび書き込み許可権限を追加します。

AI EasyMakerサービスで発生するログ、イベントをNHN Cloud Log & Crash Searchサービスに保存できます。 Log & Crash Searchサービスにログを保存するには、Log & Crashサービスを有効にする必要があり、別途利用料金がかかります。

ログ照会

  1. Log & Crash Searchサービスコンソールページに移動します。
  2. Log & Crash Searchサービスで検索条件を入力してログを照会します。
    • AI EasyMaker学習ログクエリ:categoryフィールドが"easymaker.training"のログを照会します。
      • クエリ: category:"easymaker.training"
    • AI EasyMakerエンドポイントログクエリ:categoryフィールドが"easymaker.inference"のログを照会します。
      • クエリ: category:"easymaker.inference"
    • AI EasyMakerログ全体照会クエリ: logTypeフィールドが"NNHCloud-AIEasyMaker"のログを照会します。
      • クエリ:logType:"NHNCloud-AIEasyMaker"
  3. Log & Crash Searchサービスの詳細な利用方法はLog & Crash Searchサービスのコンソールガイドを参照してください。

AI EasyMakerサービスは、Log & Crash Searchサービスに次のように定義されたフィールドにログを転送します。

  • 共通ログフィールド

    名前 説明 有効範囲
    easymakerAppKey AI EasyMakerアプリケーションキー(AppKey) -
    category ログカテゴリー easymaker.training, easymaker.inference
    logLevel ログレベル INFO, WARNING, ERROR
    body ログの内容 -
    logType ログ提供サービス名 NHNCloud-AIEasyMaker
    time ログ発生時間(UTC時刻) -
  • 学習ログフィールド

    名前 説明
    trainingId AI EasyMaker学習ID
  • エンドポイントログフィールド

    名前 説明
    endpointId AI EasyMakerエンドポイントID
    endpointStageId エンドポイントステージID
    inferenceId 推論リクエスト固有ID
    action Action区分(Endpoint.Model)
    modelName 推論対象モデル名

3. ハイパーパラメータ

  • コンソールから入力されたKey-Value形式の値です。
  • エントリーポイント実行時、実行引数(--{Key}に渡されます。
  • 環境変数値(EM_HP_{大文字に変換されたKey})としても保存され活用できます。

以下の例のように、学習作成時に入力したハイパーパラメータの値を活用できます。
ハイパーパラメータの入力画面

    import argparse

    model_version = os.environ.get("EM_HP_MODEL_VERSION")

    def parse_hyperparameters():
        parser = argparse.ArgumentParser()

        # 入力したハイパーパラメータ解析
        parser.add_argument("--epochs", type=int, default=500)
        parser.add_argument("--batch_size", type=int, default=32)
        ...

        return parser.parse_known_args()

4. 環境変数

  • 学習に必要な情報は、環境変数として学習コンテナに渡され、学習スクリプトで渡された環境変数を活用できます。
  • ユーザー入力で作成される環境変数名は大文字に変換されます。
  • コード上で学習が完了したモデルは、必ずEM_MODEL_DIRパスに保存する必要があります。
  • 主な環境変数

    環境変数名 説明
    EM_SOURCE_DIR 学習作成時に入力したアルゴリズムスクリプトがダウンロードされているフォルダの絶対パス
    EM_ENTRY_POINT 学習作成時に入力したアルゴリズムエントリーポイント名
    EM_DATASET_${データセット名} 学習作成時に入力したそれぞれのデータセットがダウンロードされているフォルダの絶対パス
    EM_DATASETS 全体データセットリスト(json形式)
    EM_MODEL_DIR モデル保存パス
    EM_CHECKPOINT_INPUT_DIR 入力チェックポイント保存パス
    EM_CHECKPOINT_DIR 出力チェックポイント保存パス
    EM_HP_${大文字に変換されたハイパーパラメータキー} ハイパーパラメータキーに対応するハイパーパラメータ値
    EM_HPS 全体ハイパーパラメータリスト(json形式)
    EM_TENSORBOARD_LOG_DIR 学習結果を確認するためのTensorboardログパス
    EM_REGION 現在リージョン情報
    EM_APPKEY 現在使用中のAI EasyMakerサービスのアプリケーションキー
  • 環境変数活用サンプルコード

    import os
    import tensorflow
    
    dataset_dir = os.environ.get("EM_DATASET_TRAIN")
    train_data = read_data(dataset_dir, "train.csv")
    
    model = ... # 入力したデータを利用してモデル実装
    model.load_weights(os.environ.get('EM_CHECKPOINT_INPUT_DIR', None))
    callbacks = [
        tensorflow.keras.callbacks.ModelCheckpoint(filepath=f'{os.environ.get("EM_CHECKPOINT_DIR")}/cp-{{epoch:04d}}.ckpt', save_freq='epoch', period=50),
        tensorflow.keras.callbacks.TensorBoard(log_dir=f'{os.environ.get("EM_TENSORBOARD_LOG_DIR")}'),
    ]
    model.fit(..., callbacks)
    
    model_dir = os.environ.get("EM_MODEL_DIR")
    model.save(model_dir)
    

5. Tensorboardを活用するための指標ログを保存

  • 学習後、Tensorboard画面で結果指標を確認するために、学習スクリプト作成時にTensorboardログ記憶領域を指定された位置(EM_TENSORBOARD_LOG_DIR)に設定する必要があります。

  • Tensorboardログ保存のサンプルコード(TensorFlow)

    import tensorflow as tf
    
    # Tensorboardログパスの指定
    tb_log = tf.keras.callbacks.TensorBoard(log_dir=os.environ.get("EM_TENSORBOARD_LOG_DIR"))
    
    model = ... # モデル実装
    
    model.fit(x_train, y_train, validation_data=(x_test, y_test),
            epochs=100, batch_size=20, callbacks=[tb_log])
    

Tensorboardログ確認

6. フレームワーク別分散学習設定

  • Tensorflow
    • 分散学習に必要な環境変数TF_CONFIGは、自動的に設定されます。詳しい内容は、Tensorflow公式ガイド文書を参照してください。
  • Pytorch
    • 分散学習をするためのBackends設定が必要です。分散学習をCPUで行う場合はglooに、GPUで進行する場合はncclに設定してください。詳しい内容は、Pytorch公式ガイド文書を参照してください。

7. クラスタバージョンのアップグレード

AI EasyMakerサービスは、安定したサービスと新規機能を提供するため、定期的にクラスタバのージョンをアップグレードします。 新規クラスタのバージョンが配布されると、旧バージョンのクラスタで駆動されたノートパソコンおよびエンドポイントを新規クラスタに移行する必要があります。 リソース別の新規クラスタ移行方法を案内します。

ノートパソコンクラスタバージョンアップグレード

ノートパソコンリスト画面で新規クラスタに移行しなければならないノートパソコンは名前の左側に再起動ボタンが表示されます。 再起動ボタンの上にマウスポインタを合わせると、再起動案内文言と有効期限が表示されます。

  • 期限切れ前に次の注意事項を必ず確認てから再起動ボタンをクリックしてください。
    • 再起動時にデータストレージ(/root/easymakerディレクトリパス)に保存されたデータはそのまま維持されます。
    • 再起動を実行すると、ブートストレージに保存されたデータは初期化され、失われる可能性があります。データをデータストレージに移動してから再起動してください。

再起動は初回実行時に約25分かかり、その後は約10分かかります。 再起動に失敗した場合、管理者に自動的に報告されます。

エンドポイントクラスタバージョンアップグレード

エンドポイントリスト画面で新規クラスタに移行する必要があるエンドポイントは、名前の左側に! 案内文言が表示されます。 !案内文言の上にマウスポインタを合わせると、バージョンアップグレードの案内文言と有効期限が表示されます。 期限が切れるまでに、次の案内に従って旧バージョンのクラスタで運営されているステージを新バージョンのクラスタに移行する必要があります。

一般ステージのクラスタバージョンアップグレード
  1. 基本ステージ以外の一般ステージは削除します。削除する前に該当ステージがサービス中かどうかを確認します。
  2. ステージを再作成します。
  3. 新規ステージがACTIVE状態になったら、ステージエントポイントでAPI呼び出しと推論レスポンスが正常に来るか確認します。

[注意] ステージを削除すると、エンドポイントが終了し、API呼び出しができなくなります。削除する前にサービス中でないステージであることを確認してください。

基本ステージのクラスタバージョンアップグレード

基本ステージは実際のサービスが運営されるステージです。 サービス無瞬断で基本ステージのクラスタのバージョンを移行するには、次のガイドに従って移行します。

  1. 旧バージョンのクラスタの基本ステージを置き換える新規ステージを作成します。
  2. 新規ステージエンドポイントで正常にAPI呼び出しと推論レスポンスが来るか確認します。
  3. 基本ステージ変更ボタンをクリックします。新規ステージを選択して基本ステージに変更します。
  4. 変更が完了すると、新規ステージが基本ステージに設定され、既存の基本ステージは削除されます。

8. torchrun使い方

  • Pytorchで分散学習ができるようにコードを作成し、分散ノード数とノード当たりのプロセス数を入力すると、torchrunを利用した分散ノード及びマルチプロセスを活用した分散学習が行われます。
  • 総プロセス数、モデルサイズ、入力データサイズ、バッチサイズなどの要素によってメモリ不足で学習及びハイパーパラメータチューニングが失敗することがあります。メモリ不足で失敗した場合、下記のようなエラーメッセージが残ることがあります。ただし、下記のメッセージが表示されたからといって、全てメモリ不足による失敗ではありません。 メモリ使用量に応じて適切なインスタンスタイプを設定してください。
exit code : -9 (pid: {pid})
目次
TOP