Model management is an important aspect of the machine learning lifecycle, and currently, the Arena CLI tool lacks support for model management features. [MLflow](https://github.com/mlflow/mlflow) is an open source platform dedicated to managing machine learning lifecycles, with the MLflow Model Registry component acting as a centralized model store, providing a set of APIs, and a UI, to collaboratively manage the full lifecycle of an MLflow Model. It would be meaningful for Arena to support some form of model registry, and MLflow stands out as a good choice. Below are some examples:
Create a registered model or model version
# Create a registered model
$ arena model create \
--name my-model \
--tags key1,key2=value2 \
--description "This is some description about my-model"
registered model "my-model" created
# Create a model version
$ arena model create \
--name my-model \
--version auto \
--tags key1,key2=value2 \
--description "This is some description about my-model v1" \
--source pvc://my-pvc/models/my-model/1
model version 1 for "my-model" created
Get a registered model or model version
# Get a registered model
$ arena model get \
--name my-model
Name: my-model
LatestVersion 3
CreationTime: 2024-03-27T19:59:14+08:00
LastUpdatedTime: 2024-03-27T20:01:35+08:00
Description:
This is some description about my-model
Tags:
createdBy: arena
key1:
key2: value2
Versions:
Version Source
--- ---
1 pvc://my-pvc/models/my-model/1
2 pvc://my-pvc/models/my-model/2
3 pvc://my-pvc/models/my-model/3
# Get a model version
$ arena model get \
--name my-model \
--version 1
Name: my-model
Version: 1
CreationTime: 2024-03-27T20:01:31+08:00
LastUpdatedTime: 2024-03-27T20:01:31+08:00
Source: pvc://my-pvc/models/my-model/1
Description:
This is some description about my-model v1
Tags:
createdBy: arena
key1:
key2: value2
List all registered models
$ arena model list
NAME LATEST_VERSION LAST_UPDATED_TIME
model-1 1 2024-03-27 20:20:59
model-2 2 2024-03-27 20:21:04
my-model 3 2024-03-27 20:20:45
Update a registered model or model version
# Update a registered model
$ arena model update \
--name my-model \
--description "This is some updated description" \
--tags key1,key2=value2
registered model "my-model" updated
# Update a model version
$ arena model update \
--name my-model \
--version 1 \
--description "This is some updated description" \
--tags key1,key2=value2
model version "my-model/1" updated
# Update a model version(delete tags)
$ arena model update \
--name my-model \
--version 1 \
--tags key1-,key2=value2-
model version "my-model/1" updated
Delete a registered model or model version
# Delete a registered model with confirmation
$ arena model delete \
--name my-model
Delete a registered model will cascade delete all its model versions. Are you sure you want to perform this operation? (yes/no)
yes
registered model "my-model" deleted
# Delete a registered model forcely
$ arena model delete \
--name my-model \
--force
registered model "my-model" deleted
# Delete a model version with confirmation
$ arena model delete \
--name my-model \
--version 1
Are you sure you want to perform this operation? (yes/no)
yes
model version "my-model/1" deleted
# Delete a model version forcely
$ arena model delete \
--name my-model \
--version 1 \
--force
model version "my-model/1" deleted
Model management is an important aspect of the machine learning lifecycle, and currently, the Arena CLI tool lacks support for model management features. [MLflow](https://github.com/mlflow/mlflow) is an open source platform dedicated to managing machine learning lifecycles, with the MLflow Model Registry component acting as a centralized model store, providing a set of APIs, and a UI, to collaboratively manage the full lifecycle of an MLflow Model. It would be meaningful for Arena to support some form of model registry, and MLflow stands out as a good choice. Below are some examples:
Create a registered model or model version
Get a registered model or model version
List all registered models
Update a registered model or model version
Delete a registered model or model version