ダッシュボードでAI EasyMakerの全リソースの利用状況を確認できます。
リソースごとに利用中のリソース数を表示します。
機械学習の開発に必要なパッケージがインストールされているJupyterノートパソコンを作成し、管理します。
Jupyterノートパソコンを作成します。
イメージ:ノートパソコンインスタンスにインストールされるOSイメージを選択します。
ノートパソコン情報
ストレージ
/root/easymaker
ディレクトリパスにマウントされるブロックストレージです。このストレージのデータはノートパソコンを再起動しても維持されます。nas://{NAS ID}:/{path}
形式のディレクトリパスを入力します。追加設定
[注意] NHN Cloud NASを使用する場合: AI EasyMakerと同じプロジェクトで作成されたNHN Cloud NASのみ使用できます。
[参考]ノートパソコン作成所要時間: ノートパソコンの作成には数分かかる場合があります。 最初のリソース(ノートパソコン、学習、実験、エンドポイント)作成時、サービス環境構成のためにさらに数分かかる場合があります。
ノートパソコンリストが表示されます。リストのノートパソコンを選択すると、詳細情報を確認して情報を変更できます。
状態:ノートパソコンの状態が表示されます。主な状態は下表を参照してください。
状態 | 説明 |
---|---|
CREATE REQUESTED | ノートパソコン作成がリクエストされた状態です。 |
CREATE IN PROGRESS | ノートパソコンインスタンスを作成中の状態です。 |
ACTIVE (HEALTHY) | ノートパソコンアプリケーションが正常に動作している状態です。 |
ACTIVE (UNHEALTHY) | ノートパソコンアプリケーションが正常に動作していない状態です。ノートパソコンを再起動した後にもこの状態が持続する場合はサポートにお問い合わせください。 |
STOP IN PROGRESS | ノートパソコンを停止中の状態です。 |
STOPPED | ノートパソコンを停止した状態です。 |
START IN PROGRESS | ノートパソコンを起動中の状態です。 |
REBOOT IN PROGRESS | ノートパソコンを再起動中の状態です。 |
DELETE IN PROGRESS | ノートパソコンを削除中の状態です。 |
CREATE FAILED | ノートパソコンの作成中に失敗した状態です。作成が継続的に失敗する場合はサポートにお問い合わせください。 |
STOP FAILED | ノートパソコンの停止に失敗した状態です。もう一度お試しください。 |
START FAILED | ノートパソコンの起動に失敗した状態です。もう一度お試しください。 |
REBOOT FAILED | ノートパソコンの再起動に失敗した状態です。もう一度お試しください。 |
DELETE FAILED | ノートパソコン削除を失敗した状態です。もう一度お試しください。 |
作業 > Jupyterノートパソコンを開く:Jupyterノートパソコンを開くボタンをクリックすると、ブラウザの新しいウィンドウでノートパソコンを開きます。ノートパソコンはコンソールにログインしたユーザーのみアクセスできます。
タグ:ノートパソコンのタグが表示されます。タグは 変更をクリックして変更できます。
モニタリング:ノートパソコンを選択すると表示される詳細画面のモニタリングタブで、モニタリング対象インスタンスリストと基本指標チャートを確認できます。
AI EasyMakerノートパソコンインスタンスは、機械学習に必要なさまざまなライブラリおよびカーネルがインストールされた基本Conda仮想環境を提供します。
基本Conda仮想環境はノートパソコンを停止して起動する時に初期化されて動作しますが、ユーザーが任意のパスにインストールした仮想環境および外部ライブラリは自動的に初期化されないため、ノートパソコンを停止して起動する時に維持されません。
この問題を解決するには、/root/easymaker/custom-conda-envs
ディレクトリパスに仮想環境を作成し、作成された仮想環境から外部ライブラリをインストールする必要があります。
AI EasyMakerノートパソコンインスタンスは/root/easymaker/custom-conda-envs
ディレクトリパスに作成された仮想環境に対してノートパソコンを停止して起動する時に初期化されて動作するようにサポートします。
次のガイドを参照してユーザー仮想環境を構成してください。
/root/easymaker/custom-conda-envs
パスに移動します。
cd /root/easymaker/custom-conda-envs
Python 3.8バージョンのeasymaker_env
という仮想環境を作成するには、次のようにconda create
コマンドを実行します。
conda create --prefix ./easymaker_env python=3.8
作成された仮想環境は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
ノートPCを停止して起動する時、自動的に実行されるべきスクリプトを/root/easymaker/cont-init.d
パスに登録できます。
英数字(alphanumeric)順に昇順で実行されます。
/root/easymaker/cont-init.d
パスにあるファイルだけが実行されます。#!
で始まる必要があります。/root/easymaker/cont-init.d/{SCRIPT}.exitcode
/root/easymaker/cont-init.d/{SCRIPT}.output
/root/easymaker/cont-init.output
動作中のノートパソコンを停止するか、停止したノートパソコンを起動します。
[注意]ノートパソコンの停止後に起動時に仮想環境および外部ライブラリを維持する方法: ノートパソコンを停止して起動する時、ユーザーが作成した仮想環境および外部ライブラリが初期化されることがあります。 維持するにはユーザー仮想実行環境の構成を参照してユーザー仮想環境を構成してください。
[参考]ノートパソコンの起動と停止の所要時間: ノートパソコンの起動と停止は数分かかる場合があります。
作成されたノートパソコンのインスタンスタイプを変更します。 変更するインスタンスタイプは既存インスタンスと同じコアタイプのインスタンスタイプにのみ変更できます。
[参考]インスタンスタイプ変更所要時間: インスタンスタイプの変更は数分かかる場合があります。
ノートパソコンの利用中に問題が発生したり、状態は正常(ACTIVE)ですが、ノートパソコンにアクセスできない場合は ノートパソコンを再起動できます。
[注意]ノートパソコンの再起動時に仮想環境及び外部ライブラリを維持する方法: ノートパソコンを再起動すると、ユーザーが作成した仮想環境と外部ライブラリが初期化される場合があります。 維持するにはユーザー仮想実行環境構成を参考してユーザー仮想環境を構成してください。
作成されたノートパソコンを削除します。
[参考]ストレージ: ノートパソコンを削除すると、ブートストレージとデータストレージが削除されます。 接続したNHN Cloud NASは削除されず、NHN Cloud NASから個別に削除する必要があります。
実験は、関連する学習を実験でグループ化し、管理します。
[参考]実験作成所要時間: 実験の作成には数分の時間がかかる場合があります。 最初のリソース(ノートパソコン、学習、実験、エンドポイント)作成時、サービス環境の構成にさらに数分かかります。
実験リストが表示されます。リストの実験を選択すると、詳細情報を確認し、情報を変更できます。
状態:実験の状態が表示されます。主な状態は下表を参照してください。
状態 | 説明 |
---|---|
CREATE REQUESTED | 実験の作成がリクエストされた状態です。 |
CREATE IN PROGRESS | 実験が作成されている状態です。 |
CREATE FAILED | 実験の作成に失敗した状態です。もう一度お試しください。 |
ACTIVE | 実験が正常に作成された状態です。 |
作業
実験を削除します。
[参考]関連したリソースが存在する場合、実験の削除不可: 実験に関連するパイプラインスケジュールが存在したり、作成中の学習、ハイパーパラメータチューニング、パイプライン実行が存在する場合、実験を削除することはできません。 実験に関連するリソースを削除した後、実験を削除してください。 関連するリソースは、削除したい実験をクリックすると表示される下部の詳細画面で確認できます。
機械学習アルゴリズムを学習し、学習結果を統計で確認できる環境を提供します。
学習が実行されるインスタンスとOSイメージを選択して学習が実行される環境を設定し、学習するアルゴリズム情報と入力/出力データパスを入力して学習を進めます。
'- 学習テンプレート:学習テンプレートを読み込み、学習情報を設定するには「使用」を選択し、読み込む学習テンプレートを選択します。
アルゴリズム情報:学習するアルゴリズムの情報を入力します。
独自アルゴリズム:ユーザーが作成したアルゴリズムを使用します。
アルゴリズムパス
エントリーポイント
イメージ:学習を実行しなければならない環境に合わせてインスタンスのイメージを選択します。
学習リソース情報
[注意] 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 | 学習に使用されたリソースを整理中の状態です。 |
作業
ハイパーパラメータ:学習を選択すると、表示される詳細画面のハイパーパラメータタブで学習に設定したハイパーパラメータ値を確認できます。
モニタリング:学習を選択すると表示される詳細画面のモニタリングタブで、モニタリング対象インスタンスリストと基本指標チャートを確認できます。
既存の学習と同じ設定で新しい学習を作成します。
完了した状態の学習でモデルを作成します。
学習を削除します。
[参考]関連するモデルが存在する場合は学習の削除不可: 削除する学習で作成されたモデルが存在する場合は学習を削除できません。モデルを先に削除してから学習を削除してください。
ハイパーパラメータチューニングは、モデルの予測精度を最大化するためにハイパーパラメータ値を最適化するプロセスです。もしこの機能を使用しない場合、多くの学習タスクを直接実行しながらハイパーパラメータを手動で調整し、最適な値を探す必要があります。
ハイパーパラメータチューニング作業を構成する方法です。
[注意]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 | ハイパーパラメータチューニングの探索アルゴリズムがすべてのハイパーパラメータを探索したときの詳細情報です。 |
作業
モニタリング:ハイパーパラメータチューニングを選択すると表示される詳細画面のモニタリングタブで、モニタリング対象インスタンスリストと基本指標チャートを確認できます。
ハイパーパラメータチューニングによって自動作成された学習リストが表示されます。リストの学習を選択すると、詳細情報を確認できます。
*状態:ハイパーパラメータチューニングによって自動作成された学習の状態が表示されます。主な状態は下にある表を参照してください。
状態 | 説明 |
---|---|
CREATED | 学習が作成された状態です。 |
RUNNING | 学習が進行中の状態です。 |
SUCCEEDED | 学習が正常に完了した状態です。 |
KILLED | 学習がシステムによって停止された状態です。 |
FAILED | 学習の進行中に失敗した状態です。失敗情報の詳細は、ログ管理が有効化された場合、Log & Crash Searchログを通じて確認できます。 |
METRICS_UNAVAILABLE | 目標指標を収集できない状態です。 |
EARLY_STOPPED | 学習進行中、性能(目標指標)が改善されないため、早期に中止した状態です。 |
既存ハイパーパラメータチューニングと同じ設定で新しいハイパーパラメータチューニングを作成します。
完了した状態のハイパーパラメータチューニングの最高学習でモデルを作成します。
ハイパーパラメータチューニングを削除します。
[参照]関連するモデルが存在する場合、ハイパーパラメータチューニングは削除不可: 削除するハイパーパラメータチューニングで作成されたモデルが存在する場合、ハイパーパラメータチューニングは削除できません。先にモデルを削除してから、ハイパーパラメータチューニングを削除してください。
学習テンプレートを事前に作成しておくと、学習やハイパーパラメータチューニングを作成する際にテンプレートに入力した値を取り込むことができます。
学習テンプレートに設定できる情報は学習の作成を参照してください。
学習テンプレートリストが表示されます。リストの学習テンプレートを選択すると、詳細情報を確認し、情報を変更できます。
既存学習テンプレートと同じ設定で新しい学習テンプレートを作成します。
学習テンプレートを削除します。
AI EasyMakerの学習結果のモデルまたは外部のモデルをアーティファクトとして管理できます。
obs://{Object Storage APIエンドポイント}/{containerName}/{path}
形式でディレクトリパスを入力します。nas://{NAS ID}:/{path}
形式でディレクトリパスを入力します。[注意] NHN Cloud NASを使用する場合: AI EasyMakerと同じプロジェクトで作成されたNHN Cloud NASのみ使用できます。
[注意]リポジトリのモデルアーティファクトを維持: リポジトリに保存されているモデルアーティファクトを維持しない場合、該当モデルのエンドポイント作成が失敗します。
[参考]モデルパラメータ: モデルパラメータに入力された値は、モデルをサービングする際に使用されます。パラメータは引数と環境変数として使用できます。 引数は入力されたパラメータ名がそのまま使用され、環境変数はパラメータ名がスクリーミングスネーク表記(screaming snake case)に変換されて使用されます。
[参考] HuggingFaceモデルを作成する場合: HuggingFaceモデルを作成する際、HuggingFaceモデルのIDをパラメータとして入力すると、モデルを作成できます。 HuggingFaceモデルのIDはHuggingFaceモデルページのURLで確認できます。 詳細は付録 > 11. フレームワーク別のサービングに関する注意事項を参照してください。
[注意] HuggingFaceモデルのサポートタイプ: HuggingFaceモデルのファイルタイプはsafetensorsに制限しています。 safetensorsはHuggingFaceが開発した安全で効率的な機械学習モデルファイル形式です。 それ以外のファイル形式はサポートしません。
モデルリストが表示されます。リストのモデルを選択すると詳細情報を確認して情報を変更できます。
状態:モデルの状態が表示されます。主な状態は下表を参照してください。
状態 | 説明 |
---|---|
CREATE REQUESTED | モデル作成をリクエストした状態です。 |
CREATE IN PROGRESS | モデルに必要なリソースを作成中の状態です。 |
DELETE IN PROGRESS | モデルを削除中の状態です。 |
ACTIVE | モデルが正常に作成された状態です。 |
CREATE FAILED | モデルの作成に失敗した状態です。作成が継続的に失敗する場合は、サポートにお問い合わせください。 |
DELETE FAILED | モデルの削除を失敗した状態です。再試行してください。 |
学習名:学習で作成されたモデルの場合、もとになる学習の名前が表示されます。
選択したモデルをサービスできるエンドポイントを作成します。
選択したモデルでバッチ推論を行い、推論結果を統計で確認できるバッチ推論を作成します。
モデルを削除します。
[参考]関連するエンドポイントが存在する場合はモデル削除不可: 削除しようとしているモデルで作成されたエンドポイントが存在する場合、モデルを削除できません。 削除するには先に該当モデルで作成されたエンドポイントを削除してからモデルを削除してください。
モデルをサービスできるエンドポイントを作成し、管理します。
説明:エンドポイントステージの説明を入力します。
インスタンス情報:モデルがサービングされるインスタンス情報を入力します。
ステージ情報:エンドポイントに配布するモデルアーティファクトの情報を入力します。同じモデルを複数のステージリソースに配布すると、リクエストが分散して処理されます。
追加設定 > タグ:タグを追加するには+ ボタンをクリックしてKey-Value形式でタグを入力します。タグは最大10個まで入力できます。
[参考]推論リクエストAPIスペック: AI EasyMakerサービスはOIP(open inference protocol)スペックに基づいたエンドポイントを提供します。エンドポイントAPIスペックの仕様は付録 > 10. エンドポイントAPIスペック仕様を参照してください。 別途のエンドポイントを使用するにはAPI Gatewayサービスに作成されたリソースを参考にして新しいリソースを作成して使用します。 OIPスペックの詳細はOIPスペックを参照してください。
[参考]エンドポイント作成所要時間: エンドポイントの作成には数分かかる場合があります。 最初のリソース(ノートパソコン、学習、実験、エンドポイント)作成時、サービス環境構成のためにさらに数分かかります。
[参考]エンドポイント作成時のAPI Gatewayサービスリソース提供制約: 新規エンドポイントを作成すると、API Gatewayサービスを新規作成します。 既存エンドポイントから新規ステージを追加すると、API Gatewayサービスに新規ステージを作成します。 API Gatewayサービスリソース提供ポリシーの基本提供量を超過した場合、AI EasyMakerでエンドポイント作成ができない場合があります。この場合、API Gatewayサービスリソースのクォータを調整して解決できます。
エンドポイントリストが表示されます。リストのエンドポイントを選択すると、詳細情報を確認して情報を変更できます。
状態:エンドポイントの状態です。主な状態は下表を参照してください。
状態 | 説明 |
---|---|
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「配布失敗」状態の場合の復旧方法を参照して配布失敗状態を復旧できます。 |
既存のエンドポイントに新規ステージを追加します。新規ステージを作成して基本ステージの影響を受けずに新規ステージをテストできます。
エンドポイント下位に作成されたステージリストが表示されます。リストのステージを選択すると詳細情報を確認できます。
状態:エンドポイントステージの状態が表示されます。主な状態は下表を参照してください。
状態 | 説明 |
---|---|
CREATE REQUESTED | エンドポイントステージの作成がリクエストされた状態です。 |
CREATE IN PROGRESS | エンドポイントステージを作成中の状態です。 |
DEPLOY IN PROGRESS | エンドポイントステージにモデルを配布中の状態です。 |
DELETE IN PROGRESS | エンドポイントステージを削除中の状態です。 |
ACTIVE | エンドポイントステージが正常に動作中の状態です。 |
CREATE FAILED | エンドポイントステージの作成に失敗した状態です。もう一度お試しください。 |
DEPLOY FAILED | エンドポイントステージの配布に失敗した状態です。もう一度作成してみてください。 |
API Gateway状態:エンドポイントステージが配布されたAPI Gatewayのステージ状態が表示されます。
[注意] AI EasyMakerが作成したAPI Gatewayの設定変更時の注意点: AI EasyMakerはエンドポイント作成またはエンドポイントステージ作成を行うと、エンドポイントに対するAPI Gatewayのサービスとステージを作成します。 AI EasyMakerによって作成されたAPI GatewayサービスとステージをAPI Gatewayサービスコンソールで直接変更作業を行う場合、次の注意事項を必ず参照してください。
- AI EasyMakerが作成したAPI Gatewayサービスとステージを削除しないようにします。削除すると、エンドポイントにAPI Gateway情報が正常に表示されず、エンドポイントの変更事項がAPI Gatewayに適用されない場合があります。
- エンドポイント作成時に入力したAPI Gatewayリソースパスのリソースを変更または削除しないようにします。削除すると、エンドポイントの推論APIの呼び出しに失敗する場合があります。
- エンドポイント作成時に入力したAPI Gatewayリソースパス下位にリソースを追加しないようにします。追加したリソースはエンドポイントステージ追加/変更作業時に削除される場合があります。
- API Gatewayのステージ設定でAPI Gatewayリソースパスに設定されたバックエンドエンドポイントURL再定義を無効にするか、URLを変更しないようにします。変更すると、エンドポイントの推論API呼び出しに失敗する可能性があります。 上記の注意事項以外の設定は、必要に応じてAPI Gatewayで提供する機能を利用できます。 API Gatewayの詳細についてはAPI Gatewayコンソールガイドを参照してください。
[参考]ステージのAPI Gateway 「配布失敗」状態の場合の復旧方法: 一時的な問題でAI EasyMakerエンドポイントのステージ設定がAPI Gatewayステージに配布されていない場合、配布失敗状態と表示されます。 この場合、ステージリストからステージ選択 > 下部の詳細画面のAPI Gateway設定表示 > 「ステージ配布」をクリックしてAPI Gatewayステージを手動で配布できます。 上記のガイドでも配布状態が回復しない場合はサポートにお問い合わせください。
既存のエンドポイントステージに新規リソースを追加します。
リソース割り当て(%):モデルに割り当てるリソースを入力します。インスタンスのリソース実使用量を固定比率で割り当てます。
Pod数:ステージリソースのPod数を入力します。
説明:ステージリソース説明を入力します。
Podオートスケーラー:モデルのリクエスト量に基づいてPod数を自動的に調整する機能です。オートスケーラーはモデル単位で設定されます。
エンドポイントステージの下に作成されたソースリストが表示されます。
状態:ステージリソースの状態が表示されます。主な状態は下記の表を参照してください。
状態 | 説明 |
---|---|
CREATE REQUESTED | ステージリソース作成がリクエストされた状態です。 |
CREATE IN PROGRESS | ステージリソースを作成中の状態です。 |
DELETE IN PROGRESS | ステージリソースを削除中の状態です。 |
ACTIVE | ステージリソースが正常に配布された状態です。 |
CREATE FAILED | ステージリソースの作成に失敗した状態です。もう一度お試しください。 |
モデル名:ステージに配布されたモデルの名前です。
// 推論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
]
]
}
エンドポイントの基本ステージを他のステージに変更します。 サービスの瞬断なしでエンドポイントのモデルを変更するには、AI EasyMakerはステージ機能を活用してモデルを配布することを推奨します。
[注意]エンドポイントステージを削除するとAPI Gatewayサービスのステージ削除: AI EasyMakerのエンドポイントステージを削除すると、エンドポイントのステージが配布されたAPI Gatewayサービスのステージも削除されます。 削除されるAPI Gatewayステージに運営中のAPIが存在する場合、API呼び出しができませんので注意してください。
エンドポイントを削除します。
[注意]エンドポイントを削除するとAPI Gatewayサービス削除: AI EasyMakerのエンドポイントを削除すると、エンドポイントが配布されたAPI Gatewayサービスも削除されます。 削除されるAPI Gatewayサービスに運営中のAPIが存在する場合、API呼び出しができませんので注意してください。
AI EasyMakerのモデルでバッチ推論を行い、推論結果を統計で確認できる環境を提供します。
インスタンスとOSイメージを選択してバッチ推論が実行される環境を設定し、推論する入力/出力データのパスを入力してバッチ推論を行います。
[注意] NHN Cloud NASを使用する場合: AI EasyMakerと同じプロジェクトで作成されたNHN Cloud NASのみ使用可能です。
[注意]バッチ推論入力データを削除すると、バッチ推論に失敗: バッチ推論が完了する前に入力データを削除すると、バッチ推論に失敗する可能性があります。
[注意]入力データ詳細オプションを設定する場合: Globパターンを適切に入力しなかった場合、入力データが見つからず、バッチ推論が正常に動作しない場合があります。 含むGlobパターンと一緒に使用する場合、除外Globパターンが優先的に適用されます。
[注意]バッチオプションを設定する場合: バッチ推論するモデルの性能に応じてバッチサイズと推論制限時間を適切に設定する必要があります。 入力した設定値が正しくない場合、バッチ推論が十分な性能を発揮できない場合があります。
[注意] GPUインスタンスを使用する場合: GPUインスタンスを使用するバッチ推論はPod数に応じてGPUインスタンスを割り当てます。
Pod数 / GPU数
が整数で割り切れない場合、、割り当てられないGPUが発生する場合があります。 割り当てられないGPUはバッチ推論に使用されないため、GPUインスタンスを効率的に使用するために、Podの数を適切に設定してください。
バッチ推論リストが表示されます。リストのバッチ推論を選択すると、詳細情報を確認し、情報を変更できます。
状態:バッチ推論の状態が表示されます。主な状態は下表を参照してください。
状態 | 説明 |
---|---|
CREATE REQUESTED | バッチ推論の作成をリクエストした状態です。 |
CREATE IN PROGRESS | バッチ推論に必要なリソースを作成している状態です。 |
RUNNING | バッチ推論が進行中の状態です。 |
STOPPED | バッチ推論がユーザーのリクエストにより停止した状態です。 |
COMPLETE | バッチ推論が正常に完了した状態です。 |
STOP IN PROGRESS | バッチ推論が停止している状態です。 |
FAIL BATCH INFERENCE | バッチ推論が進行中に失敗した状態です。詳細な失敗情報は、ログ管理が有効になっている場合、Log \& Crash Searchのログで確認できます。 |
CREATE FAILED | バッチ推論の作成に失敗した状態です。作成が継続的に失敗する場合は、サポートにお問い合わせください。 |
FAIL BATCH INFERENCE IN PROGRESS, COMPLETE IN PROGRESS | バッチ推論に使用されたリソースを整理している状態です。 |
作業
既存のバッチ推論と同じ設定で新しいバッチ推論を作成します。
バッチ推論を削除します。
ユーザーがパーソナライズされたコンテナイメージを利用してノートパソコン、学習、ハイパーパラメータチューニングを駆動できます。 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でノートパソコン用の個人イメージを使用する方法を案内します。
個人イメージの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
個人イメージビルドとコンテナレジストリ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
NCRに保存(Push)したイメージをAI EasyMakerの個人イメージとして作成します。
作成した個人イメージでノートパソコンを作成します。
[参考]> [参考]個人イメージ使用先: 個人イメージはノートPC、学習、ハイパーパラメータチューニングに使用してリソースを作成できます。
[参考] コンテナレジストリサービス: 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、パスワードを入力すると、個人イメージPullの進行中にログインに失敗し、リソースの作成に失敗します。 レジストリアカウントが連動された個人イメージで作成中のリソースがあったり、実行中の学習やハイパーパラメータがある場合は修正できません。
削除するレジストリアカウントをリストから選択し、レジストリアカウントの削除ボタンをクリックします。
[参考] イメージと連動されたレジストリアカウントは削除できません。 削除するには、連動されたイメージを先に削除した後、レジストリアカウントを削除する必要があります。
MLパイプラインは、移植可能でスケーラブルな機械学習ワークフローを管理・実行するための機能です。 Kubeflow Pipelines(KFP) Python SDKを使用してコンポーネント及びパイプラインを作成し、パイプラインを中間表現YAMLにコンパイルし、AI EasyMakerで実行することができます。
[参考]パイプラインとは? パイプラインは、一つ以上のコンポーネントを組み合わせて方向非巡回グラフ(directed acyclic graph, DAG)を形成するワークフローの定義です。 各コンポーネントは実行中に単一のコンテナを実行し、MLアーティファクトを作成ができます。
[参考] MLアーティファクトとは? コンポーネントは入力を受け取り、出力を作成できます。I/Oタイプには2つのタイプがあります。パラメータ(parameters)とアーティファクト(artifacts)です:
1.パラメータは、コンポーネント間で少量のデータを渡すのに便利です。 2.アーティファクトタイプは、データセット、モデル、メトリックなどのMLアーティファクトを出力するためのものです。オブジェクトストレージに保存するための便利なメカニズムを提供します。
[参考]パイプライン実行ログ照会 パイプラインを実行しながら発生するコンソール出力を照会する機能は提供されません。 パイプラインコードのログを確認するには、SDKのLog送信機能を利用してLog & Crash Searchに送信してご確認ください。
ほとんどのパイプラインは、データセット、モデル、評価メトリックなどの1つ以上のMLアーティファクトを作成することを目的としています。
[参考] Kubeflow Pipelines(KFP)公式文書
パイプラインをアップロードします。
[参考]パイプラインアップロード所要時間: パイプラインのアップロードには数分かかる場合があります。 初回リソース作成時、サービス環境構成のため、さらに数分の時間がかかります。
パイプラインリストが表示されます。リストのパイプラインを選択すると、詳細情報を確認し、情報を変更できます。
状態:パイプラインの状態が表示されます。主な状態は下表を参照してください。
状態 | 説明 |
---|---|
CREATE REQUESTED | パイプラインの作成がリクエストされた状態です。 |
CREATE IN PROGRESS | パイプラインの作成が進行中の状態です。 |
CREATE FAILED | パイプラインの作成に失敗した状態です。再試行してください。 |
ACTIVE | パイプラインが正常に作成された状態です。 |
パイプライングラフが表示されます。グラフのノードを選択すると、詳細情報を確認できます。
グラフはパイプラインを図で表したもので、グラフ内の各ノードはパイプラインの段階を表し、各段階で表示されたパイプラインコンポーネント間の親/子関係を矢印で表します。
パイプラインを削除します。
[参考]関連するパイプラインスケジュールが存在する場合、パイプライン削除不可: 削除しようとするパイプラインで作成されたスケジュールが存在する場合、パイプラインを削除することはできません。パイプラインスケジュールを先に削除してからパイプラインを削除してください。
アップロードしたパイプラインをAI EasyMakerで実行し、管理できます。
パイプラインを実行します。
nas://{NAS ID}:/{path}
形式のパスを入力します。[注意] NHN Cloud NASを使用する場合: AI EasyMakerと同じプロジェクトで作成されたNHN Cloud NASのみ使用可能です。
[参考]パイプライン実行の作成所要時間: パイプライン実行の作成には数分かかる場合があります。 初回リソース作成時、サービス環境構成のため、さらに数分の時間がかかります。
パイプライン実行リストが表示されます。リストのパイプライン実行を選択すると、詳細情報を確認し、情報を変更できます。
状態:パイプライン実行の状態が表示されます。主な状態は下表を参照してください。
状態 | 説明 |
---|---|
CREATE REQUESTED | パイプライン実行作成がリクエストされた状態です。 |
CREATE IN PROGRESS | パイプライン実行作成が進行中の状態です。 |
CREATE FAILED | パイプライン実行作成に失敗した状態です。再試行してください。 |
RUNNING | パイプライン実行が進行中の状態です。 |
COMPLETE IN PROGRESS | パイプライン実行に使用されたリソースをクリーンアップ中の状態です。 |
COMPLETE | パイプライン実行が正常に完了した状態です。 |
STOP IN PROGRESS | パイプライン実行が停止中の状態です。 |
STOPPED | パイプライン実行がユーザーのリクエストにより停止した状態です。 |
FAIL PIPELINE RUN IN PROGRESS | パイプライン実行に使用されたリソースをクリーンアップしている状態です。 |
FAIL PIPELINE RUN | パイプラインの実行が失敗した状態です。詳細な失敗情報は、ログ管理が有効になっている場合、Log & Crash Searchのログで確認できます。 |
作業
パイプライン実行グラフが表示されます。グラフのノードを選択すると、詳細情報を確認できます。
グラフは、パイプライン実行を図示したものです。このグラフは、パイプライン実行中に既に実行されたステップと現在実行中のステップを示し、各ステップに表示されたパイプラインコンポーネント間の親/子関係を矢印で示します。グラフ内の各ノードは、パイプラインのステップを表します。
ノード別詳細情報を通じて、作成されたアーティファクトをダウンロードできます。
[注意]パイプラインアーティファクト保管周期: 120日が経過したアーティファクトは自動的に削除されます。
進行中のパイプラインの実行を停止します。
[参考]パイプライン実行停止所要時間: パイプライン実行停止は数分かかる場合があります。
既存のパイプライン実行と同じ設定で新しいパイプライン実行を作成します。
パイプライン実行を削除します。
アップロードしたパイプラインをAI EasyMakerで定期的に繰り返し実行するスケジュールを作成して管理できます。
パイプラインを定期的に繰り返し実行するためのスケジュールを作成します。
パイプラインスケジュール作成に設定できる情報のうち、下記の項目以外の情報はパイプライン実行作成を参照してください。
[参考]パイプラインスケジュールの作成所要時間: パイプラインスケジュールの作成は数分かかる場合があります。 初回リソース作成時、サービス環境構成のため、さらに数分の時間がかかります。
[参考] Cron式形式: Cron式は、6つのスペースで区切られたフィールドを使用して時間を表します。 詳細はCron式形式文書を参照してください。
パイプラインスケジュールリストが表示されます。リストのパイプラインスケジュールを選択すると、詳細情報を確認し、情報を変更できます。
状態:パイプラインスケジュールの状態が表示されます。主な状態は下表を参照してください。
状態 | 説明 |
---|---|
CREATE REQUESTED | パイプラインスケジュールの作成がリクエストされた状態です。 |
CREATE FAILED | パイプラインスケジュール作成に失敗した状態です。再試行してください。 |
ENABLED | パイプラインスケジュールが正常に開始された状態です。 |
ENABLED(EXPIRED) | パイプラインスケジュールが正常に開始されましたが、設定した終了時間が経過した状態です。 |
DISABLED | パイプラインスケジュールがユーザーのリクエストで停止した状態です。 |
実行管理:リストのパイプラインスケジュールを選択すると表示される詳細画面の実行管理タブで、パイプラインスケジュールによって作成された実行リストを確認できます。
開始されたパイプラインスケジュールを停止したり、停止されたパイプラインスケジュールを開始します。
既存のパイプラインスケジュールと同じ設定で新しいパイプラインスケジュールを作成します。
パイプラインスケジュールを削除します。
[参考]関連するパイプライン実行が進行中の場合、パイプラインスケジュール削除不可: 削除しようとするパイプラインスケジュールによって作成された実行が進行中の場合は、削除できません。パイプライン実行が完了した後、パイプラインスケジュールを削除してください。
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システムアカウントの読み取り/書き込み権限を追加するには、次の内容を参照してください。
AI EasyMakerサービスで発生するログ、イベントをNHN Cloud Log & Crash Searchサービスに保存できます。 Log & Crash Searchサービスにログを保存するには、Log & Crashサービスを有効にする必要があり、別途利用料金がかかります。
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 | 推論対象モデル名 |
以下の例のように、学習作成時に入力したハイパーパラメータの値を活用できます。
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()
主な環境変数
環境変数名 | 説明 |
---|---|
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)
EM_TENSORBOARD_LOG_DIR
)に設定する必要があります。[注意] Tensorboard指標ログ保管周期: 120日が経過した指標ログは自動的に削除されます。
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])
TF_CONFIG
は、自動的に設定されます。詳しい内容は、Tensorflow公式ガイド文書を参照してください。Backends
設定が必要です。分散学習をCPUで行う場合はglooに、GPUで進行する場合はncclに設定してください。詳しい内容は、Pytorch公式ガイド文書を参照してください。AI EasyMakerサービスは、安定したサービスと新規機能を提供するため、定期的にクラスタバのージョンをアップグレードします。 新規クラスタのバージョンが配布されると、旧バージョンのクラスタで駆動されたノートパソコンおよびエンドポイントを新規クラスタに移行する必要があります。 リソース別の新規クラスタ移行方法を案内します。
ノートパソコンリスト画面で新規クラスタに移行しなければならないノートパソコンは名前の左側に再起動ボタンが表示されます。 再起動ボタンの上にマウスポインタを合わせると、再起動案内文言と有効期限が表示されます。
再起動は初回実行時に約25分かかり、その後は約10分かかります。 再起動に失敗した場合、管理者に自動的に報告されます。
エンドポイントリスト画面で新規クラスタに移行する必要があるエンドポイントは、名前の左側に! 案内文言が表示されます。 !案内文言の上にマウスポインタを合わせると、バージョンアップグレードの案内文言と有効期限が表示されます。 期限が切れるまでに、次の案内に従って旧バージョンのクラスタで運営されているステージを新バージョンのクラスタに移行する必要があります。
[注意] ステージを削除すると、エンドポイントが終了し、API呼び出しができなくなります。削除する前にサービス中でないステージであることを確認してください。
基本ステージは実際のサービスが運営されるステージです。 サービス無瞬断で基本ステージのクラスタのバージョンを移行するには、次のガイドに従って移行します。
exit code : -9 (pid: {pid})
AI EasyMakerでバッチ推論とエンドポイントを作成する際、選択したインスタンスタイプから基本使用量を除いたリソースを割り当てます。 モデルのリクエスト量と複雑さによって必要なリソースが異なるため、適切なインスタンスタイプと一緒にPodの数、リソース割り当て量を慎重に設定してください。
バッチ推論は、実際の使用量をPodの数で割って各Podにリソースを割り当てます。エンドポイントは、入力した割り当て量がインスタンスの実際の使用量を超えることができないので、事前にリソースの使用量を確認してください。 バッチ推論とエンドポイントともに、割り当てられたリソースが推論に必要な最小使用量より少ない場合、作成に失敗する可能性があるので注意してください。
AI EasyMakerサービスはOIP(open inference protocol)スペックに基づいたエンドポイントを提供します。 OIPスペックの詳細はOIPスペックを参照してください。
名前 | メソッド | APIパス |
---|---|---|
モデルリスト | GET | /{model_name}/v1/models |
モデルReady | GET | /{model_name}/v1/models/{model_name} |
推論 | POST | /{model_name}/v1/models/{model_name}/predict |
説明 | POST | /{model_name}/v1/models/{model_name}/explain |
サーバー情報 | GET | /{model_name}/v2 |
サーバーLive | GET | /{model_name}/v2/health/live |
サーバーReady | GET | /{model_name}/v2/health/ready |
モデル情報 | GET | /{model_name}/v2/models/{model_name} |
モデルReady | GET | /{model_name}/v2/models/{model_name}/ready |
推論 | POST | /{model_name}/v2/models/{model_name}/infer |
OpenAI生成型モデル推論 | POST | /{model_name}/openai/v1/completions |
OpenAI生成型モデル推論 | POST | /{model_name}/openai/v1/chat/completions |
[参考] OpenAI生成型モデル推論 OpenAI生成型モデル推論はOpenAIのGPT-4oのような生成型モデルを使用する場合に使用されます。 推論に必要な入力値はOpenAIのAPIスペックに従って入力する必要があります。詳細はOpenAI API文書を参照してください。 AI EasyMakerで提供するCompletion, Chat Completion APIをサポートするモデルはModel endpoint compatibillityをご確認ください。
AI EasyMakerで提供するTensorFlowモデルのサービングは、TensorFlowが推奨するSavedModel(.pb)を使用しています。 チェックポイントを使うためには、SavedModelで保存されたチェックポイントvariablesディレクトリをモデルディレクトリに一緒に保存するとモデルサービングに使われます。 参考: https://www.tensorflow.org/guide/saved_model
AI EasyMakerはTorchServeでPyTorchモデル(.mar)をサービングします。 model-archiverを使って作ったMARファイルを使うことを推奨し、weightファイルでもサービングが可能ですが、weightファイルと一緒に必要なファイルがあります。 必要なファイルと詳しい説明は下記の表とmodel-archiver説明文書をご確認ください。
ファイル名 | 必須かどうか | 説明 |
---|---|---|
model.py | 必須 | model-fileパラメータで渡されるモデル構造ファイルです。 |
handler.py | 必須 | 推論ロジックを処理するためのhandlerパラメータとして渡されるファイルです。 |
weightファイル(.pt, .pth, .bin) | 必須 | モデルの重みと構造を保存したファイルです。 |
requirements.txt | 人に | サービングする時に必要なPythonパッケージをインストールするためのファイルです。 |
extra/ | 選択 | ディレクトリにあるファイルはextra-filesパラメータで渡すことができます。 |
Hugging Faceモデルは、AI EasyMakerが提供するRuntimeやTensorFlow Serving、TorchServeを利用してサービングできます。
簡単にHugging Faceモデルをサービングする方法です。 Hugging Face Runtimeサービングは微調整をサポートしていません。微調整されたモデルをサービングするにはTensorFlow/Pytorch Servingの方法を使用してください。
[参考]サポートするHugging Face Task: 現在Hugging Face RuntimeはHugging Faceの全体Taskをサポートしません。 サポートするTaskは
sequence_classification
,token_classification
,fill_mask
,text_generation
,text2text_generation
です。 サポートしないTaskを使用するにはTensorFlow/Pytorch Serving方法を使用してください。[参考] Gated Model: Gated Modelをサービングするにはアクセスが許可されたアカウントのトークンをモデルパラメータとして入力する必要があります。 トークンを入力しなかったり、許可されていないアカウントのトークンを入力した場合、モデルの配布に失敗します。
TensorFlowとPyTorchで学習されたHugging Faceモデルをサービングする方法です。
Hugging Faceモデルをダウンロードします。
下記のサンプルコードのようにtransformersライブラリのAutoTokenizer, AutoConfig, AutoModelを使用してダウンロードできます。
from transformers import AutoTokenizer, AutoConfig, AutoModel
model_id = "<model_id>"
revision = "main"
model_dir = f"./models/{model_id}/{revision}"
tokenizer = AutoTokenizer.from_pretrained(model_id, revision=revision)
model_config = AutoConfig.from_pretrained(model_id, revision=revision)
model = AutoModel.from_config(model_config)
tokenizer.save_pretrained(model_dir)
model.save_pretrained(model_dir)
モデルのダウンロードに失敗した場合は、AutoModelではなく、モデルに合うクラスをimportしてダウンロードしてください。
Hugging Faceモデル情報を確認してサービングに必要なファイルを作成します。