VPC環境で利用できます。
Model Registryの画面構成について説明します。Model Registryでは、ユーザーが学習中に作成した中間結果としてのモデルと、最終モデルに関するメタ情報を照会できます。
Model Registryで提供する機能は、ML expert Platformで提供する CLIおよび SDKからも同様に利用できます。
Model Registry
Model Registry画面における基本的な説明は、次の通りです。

| 領域 | 説明 |
|---|---|
| ① メニュー名 | 現在確認中のメニューの名前 |
| ② 基本機能 | モデルメタ情報の作成、モデルメタ情報の削除 |
| ③ モデルリスト | 保存されたモデルリストと情報の確認 |
Model Registryリストの照会
ユーザーが保存したモデルリストの情報は、次の通りです。
- Name: 初回作成時に設定した Volumeの名前
- Tags: バージョンを管理できるタグ情報
- Created At: 初回作成日時
モデル作成
モデルの新規メタ情報を作成する方法は、次の通りです。
- [Create] をクリックします。
- モデル新規メタ情報の作成画面が表示されたら、モデルの名前を入力します。
- 英小文字(a-z)、数字(0-9)、記号(-)を使用して3~64文字で入力
- 先頭は英字、末尾は英字または数字
- 重複使用不可
- Summaryを入力します。
- 英文字(a-z、A-z)、数字(0-9)、記号「-」を使用して100文字まで入力可能
- Descriptionを入力します。
- Tag情報を入力します。
- 最大10つまで入力可能
- Label情報を入力します。
- 最大100つまで入力可能
- [Create] をクリックします。
モデル削除
モデルのメタ情報を削除できます。
- 削除するモデルを選択し、 [Delete] ボタンをクリックします。
- モデル削除のポップアップが表示されたら、削除するモデルの名前を入力して [削除] ボタンをクリックします。
- モデルリストで選択したモデルが削除されたことを確認します。
モデルの詳細情報を照会
選択したモデルの詳細情報を照会できます。各情報はタブで区切られています。
Description
選択したモデルの詳細情報は、次の通りです。
- Tags: モデルバージョンを管理できる Tag情報
- Labels: Key:Value構造になっているモデルの Label情報
- Description: モデルのメタ情報作成時に作成した説明
Versions and Files
選択したモデルのメタ情報を照会できます。
- Version: モデルのバージョン情報
- Size: モデルのサイズ
- Download: モデルのダウンロード回数
- Tags/Lables: モデルに設定した Tagおよび Label情報
- Updated at: 最終変更日
Settings
選択したモデルの Description情報を変更できます。
- Tags: モデルバージョンを管理できる Tag情報
- Labels: Key:Value構造になっているモデルの Label情報
- Description: モデルのメタ情報作成時に作成した説明
Model Registry CLI を使用する
Model Registry CLIは、コマンドラインでモデルを管理するためのツールを提供します。
CLIインストール
CLIインストールは、以下のコマンドで行えます。
pip install "ncloud-mlx[model-registry]" # double quotes are required
CLI設定
CLIを使用するには、API Keyが必要です。API Keyを作成する方法は、Dashboardをご参照ください。
方法1: 環境変数を設定
以下のように環境変数を設定できます:
export MLX_ENDPOINT_URL="https://your-mlx-endpoint"
export MLX_APIKEY="your-api-key"
export MLX_PROJECT="your-project-name"
方法2: mlx configureを使用(推奨)
以下のコマンドを実行して設定を入力します:
$ mlx configure
Endpoint: https://... # 使用する mlx endpoint。例) https://clustername.mlxp.ncloud.com
Workspace name: xxxx # 使用する Workspace
Project name: xxxx # 使用する Project
API Key: xxxx # 発行された API key
CLIの基本的な使い方
モデル作成
mlx model-registry create model {model_name}
バージョン作成
mlx model-registry create version {model_name} {version}
モデルアップロード
mlx model-registry upload {model_name} {version} ./local_path
モデルダウンロード
mlx model-registry download {model_name} {version} ./output_path
その他のコマンド
# モデル情報の照会
mlx model-registry get {model_name}
# バージョン情報の照会
mlx model-registry get {model_name} {version}
# モデルアップデート
mlx model-registry update model {model_name}
# バージョンアップデート
mlx model-registry update version {model_name} {version}
# モデル削除
mlx model-registry delete {model_name}
# ファイル削除
mlx model-registry delete {model_name} {version} {file_path}
# ヘルプ
mlx model-registry --help
各コマンドの詳細なオプションや使い方は、--helpオプションを使用して確認できます。
例: mlx model-registry upload --help, mlx model-registry download --help
Model Registry SDK を使用する
Model Registry SDKは Pythonベースの SDKを提供します。
SDKを通じてモデルパラメータをアップロード・ダウンロードする方法は、次の通りです。
SDKインストール
SDKインストールは、以下のコマンドで行えます。
# cliと同様のパッケージであるため、cliインストール後に使用できます。
pip install "ncloud-mlx[model-registry]" # double quotes are required
使用準備
SDKを使用するには、API Key作成が必要です。
方法1: 直接入力
作成された API Keyを直接入力して使用できます:
import os
from mlx.sdk.model_registry import ModelRegistryAPI
mlxp_endpoint = "{ Model Registry URL }"
mlxp_apikey = "{ API Key }"
mlxp_project = "{ Project名 }"
client = ModelRegistryAPI(mlxp_endpoint, mlxp_apikey)
方法2: 環境変数を設定
以下のように環境変数を設定できます:
export MLX_ENDPOINT_URL="https://your-mlx-endpoint"
export MLX_APIKEY="your-api-key"
export MLX_PROJECT="your-project-name"
環境変数を設定し、SDKで以下のように使用できます:
from mlx.sdk.model_registry import ModelRegistryAPI
import os
mlxp_endpoint = os.getenv("MLX_ENDPOINT_URL")
mlxp_apikey = os.getenv("MLX_APIKEY")
mlxp_project = os.getenv("MLX_PROJECT")
client = ModelRegistryAPI(mlxp_endpoint, mlxp_apikey)
方法3: mlx configureを使用(推奨)
以下のコマンドを実行して設定を入力します:
$ mlx configure
Endpoint: https://... # 使用する mlx endpoint。例) https://clustername.mlxp.ncloud.com
Workspace name: xxxx # 使用する Workspace
Project name: xxxx # 使用する Project
API Key: xxxx # 発行された API key
設定完了後、SDKで以下のように使用できます:
from mlx.sdk.core import config
from mlx.sdk.model_registry import ModelRegistryAPI
# configファイルから自動的に設定をインポート
# (環境変数が設定されていると、自動的に環境変数として設定された値で overrideされます)。
mlxp_endpoint = config.ConfigFile().endpoint_url
mlxp_apikey = config.ConfigFile().apikey
mlxp_project = config.ConfigFile().project
client = ModelRegistryAPI(mlxp_endpoint, mlxp_apikey)
モデルレジストリを作成
SDKでモデルパラメータをアップロード・ダウンロードするには、モデルレジストリが作成されている必要があります。
モデル作成
SDKを使用してモデルを作成する方法は、次の通りです:
from mlx.sdk.model_registry import ModelRegistryAPI
from mlx.api.model_registry import ModelRequest
# クライアントリセット(前述のいずれかの方法を使用)
client = ModelRegistryAPI(mlxp_endpoint, mlxp_apikey)
# モデル作成リクエスト
model_request = ModelRequest(name="my_model")
model = client.model_api.create(mlxp_project, model_request)
print(f"モデル作成完了: {model.name}")
モデルバージョンを作成
作成されたモデルにバージョンを追加する方法は、次の通りです:
from mlx.api.model_registry import VersionRequest
# バージョン作成リクエスト
version_request = VersionRequest(version="v1.0")
version = client.model_version_api.create(mlxp_project, "my_model", version_request)
print(f"モデルバージョン作成完了: {version_request.version}")
モデルパラメータアップロード
モデルパラメータをアップロードする方法は、次の通りです。
# モデルパラメータアップロードの状況および完了 Callbackの作成
def progress_callback(progress_size: int, total_size: int):
print(f"アップロード進捗率: {progress_size}/{total_size} bytes")
def completion_callback(file_path: str, size: int):
print(f"アップロード完了: {file_path} ({size} bytes)")
# ファイルアップロードを実行
client.file_api.upload_sync(
project_name=mlxp_project,
model_name="my_model",
version_name="v1.0",
local_path="/path/to/local/files",
remote_path="/",
# Optional parameters:
excludes=[], # 除外するファイルリスト
overwrite=True, # ファイルが存在する場合、上書き有無
parallel=1, # 並列処理のワーカー数
progress_callback_func=progress_callback,
file_complete_callback_func=completion_callback,
)
モデルパラメータダウンロード
モデルパラメータをダウンロードする方法は、次の通りです。
# モデルパラメータダウンロードの状況および完了 Callbackの作成
def progress_callback(progress_size: int, total_size: int):
print(f"ダウンロード進捗率: {progress_size}/{total_size} bytes")
def completion_callback(file_path: str, size: int):
print(f"ダウンロード完了: {file_path} ({size} bytes)")
# ファイルダウンロード実行
client.file_api.download_sync(
project_name=mlxp_project,
model_name="my_model",
version_name="v1.0",
remote_path="/",
local_path="/path/to/download",
# Optional parameters:
overwrite=True, # ファイルが存在する場合、上書き有無
parallel=1, # 並列処理のワーカー数
progress_callback_func=progress_callback,
file_complete_callback_func=completion_callback,
)