VPC 환경에서 이용 가능합니다.
Model Registry 화면 구성에 대해 설명합니다. Model Registry에서는 사용자가 학습 과정에서 생성한 중간 결과물로서의 모델과 최종 모델에 대한 메타 정보를 조회할 수 있습니다.
Model Registry에서 제공하는 기능은 ML expert Platform에서 제공하는 CLI, SDK를 통해서도 동일하게 이용 가능합니다.
Model Registry
Model Registry 화면의 기본적인 설명은 다음과 같습니다.
| 영역 | 설명 |
|---|---|
| ① 메뉴 이름 | 현재 확인 중인 메뉴 이름 |
| ② 기본 기능 | 모델 메타 정보 생성, 모델 메타 정보 삭제 |
| ③ 모델 목록 | 저장된 모델 목록 및 정보 확인 |
Model Registry 목록 조회
사용자가 저장한 모델 목록의 정보는 다음과 같습니다.
- Name: 최초 생성시 설정한 Volume 이름
- Tags: 버전을 관리할 수 있는 태그 정보
- Created At: 최초 생성 일시
모델 생성
모델의 신규 메타 정보를 생성하는 방법은 다음과 같습니다.
- [Create] 버튼을 클릭해 주십시오.
- 모델 신규 메타 정보 생성 화면이 나타나면 모델 이름을 입력해 주십시오.
- 영소문자, 숫자, 붙임표(-)를 사용하여 3~64자를 입력
- 첫 글자는 영문자, 마지막 글자는 영문자 또는 숫자
- 중복 사용 불가능
- Summary를 입력해 주십시오.
- 영문자, 숫자, 붙임표(-)를 사용하여 100자까지 입력 가능
- Description을 입력해 주십시오.
- Tag 정보를 입력해 주십시오.
- 최대 10개 입력 가능
- Label 정보를 입력해 주십시오.
- 최대 100개 입력 가능
- [Create] 버튼을 클릭해 주십시오.
모델 삭제
모델의 메타 정보를 삭제할 수 있습니다.
- 삭제할 모델을 선택한 다음 [Delete] 버튼을 클릭해 주십시오.
- 모델 삭제 팝업 창이 나타나면 삭제할 모델의 이름을 입력한 다음 [삭제] 버튼을 클릭해 주십시오.
- 모델 목록에서 선택한 모델이 삭제된 것을 확인해 주십시오.
모델 상세정보 조회
선택한 모델의 상세정보를 조회할 수 있습니다. 각 정보는 탭으로 나눠져 있습니다.
Description
선택한 모델의 상세정보는 다음과 같습니다.
- Tags: 모델의 버전을 관리할 수 있는 Tag 정보
- Labels: Key:Value 구조로 된 모델 Label 정보
- Description: 모델 메타 정보 생성시 작성한 설명
Versions and Files
선택한 모델의 메타 정보를 조회할 수 있습니다.
- Version: 모델 버전정보
- Size: 모델 사이즈
- Download: 모델 다운로드 횟수
- Tags/Labels: 모델에 설정한 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 사용을 위해서는 Model 권한이 있는 API Key가 필요합니다. Project의 모델에는 Project API Key를, Workspace의 모델에는 Workspace API Key를 사용합니다. 모델 조회·다운로드에는 reader, 모델·버전 생성과 파일 업로드·삭제에는 writer 권한이 필요합니다. API Key를 발급하는 방법은 API Key 관리를 참조해 주십시오.
방법 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 사용을 위해서는 Model 권한이 있는 API Key가 필요합니다. 필요한 API Key의 종류와 권한은 CLI 설정과 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,
)