如何通过DVC和gto跟踪模型输出?



我已经设置了我的git repo并初始化了dvc。此外,还添加了远程存储(aws s3存储桶),请参见下面的设置。

dvc remote add -d awsstorage s3://mlops-artifacts
dvc remote add s3cache s3://mlops-artifacts/cache
dvc config cache.s3 s3cache
git add .dvc/config && git commit -am "comment"
git push

一旦设置完成,我创建一个新的分支,然后通过

跟踪我的训练数据
dvc remote --external s3://mlops-artifacts/experiment/one.csv
dvc remote --external s3://mlops-artifacts/experiment/two.csv

我在sagemaker中运行我的训练,模型文件转储到,例如s3://mlops-artifacts/output/sagemaker-experiment/output/model.tar.gz。为了跟踪它,我通过dvc

添加它
dvc add --external say s3://mlops-artifacts/output/sagemaker-experiment/output/model.tar
git add model.tar.dvc && git commit -am "comment"
git push

我想知道,如果还有什么,我需要做跟踪模型输出。我希望能够创建其他分支,进行实验并跟踪它们的模型输出。如果生成的模型被转储到相同的s3路径,通过DVC add——external添加模型,应该跟踪模型的每个版本吗?

接下来,我想在生成的输出/模型中添加一些元数据,所以我下载了GTO (https://mlem.ai/doc/gto/user-guide/dvc/)并按照

的说明进行操作
dvc import-url --no-download s3://mlops-artifacts/output/sagemaker-experiment/output/model.tar
git add model.tar.dvc
gto annotate model --path model.tar
git add artifacts.yaml
git commit -m "annotate it with GTO"
dvc push
git push

我如何添加版本信息到我的模型。文档讨论了如何设置模型注册表,并显示了以下命令来下载工件,这里的$Repo是什么?这一切应该如何设置/工作。这里的医生不清楚吗?

dvc get $REPO $ARTIFACT_PATH --rev $REVISION -o $OUTPUT_PATH

我希望能够创建其他分支并进行实验并跟踪它们的模型输出

你可以创建一个DVC管道调用你的训练和做实验/创建分支与dvc exp runhttps://dvc.org/doc/start/experiments/building-pipelines

如果生成的模型被转储到相同的s3路径,通过dvc add—external添加模型,应该跟踪模型的每个版本吗?

IIUC, DVC会将您用dvc add -external s3://mlops-artifact/something跟踪的文件复制到DVC缓存中,因此即使在s3上重写了dvc add,也应该允许您访问文件版本。https://dvc.org/doc/user-guide/data-management/managing-external-data

接下来,我想在生成的输出/模型中添加一些元数据,所以我下载了GTO (https://mlem.ai/doc/gto/user-guide/dvc/)并按照说明

你不需要运行dvc import-url --no-download s3://mlops-artifacts/output/sagemaker-experiment/output/model.tar,因为在运行dvc add --external s3://mlops-artifacts/output/sagemaker-experiment/output/model.tar之后它已经被dvc跟踪了。

这里的$Repo是什么

这是一个使用shell变量$REPO的例子。将其替换为github repo URL(如果您将cd替换为您的repo文件夹,则将其替换为".")。

如何添加版本信息到我的模型

您可以使用命令gto register为您的模型创建一个语义版本。这将创建一个Git标记,稍后您可以引用并使用它来访问所需的模型版本。https://mlem.ai/doc/gto/get-started/

注意:

中有一个$REVISION
$ dvc get $REPO $ARTIFACT_PATH --rev $REVISION -o $OUTPUT_PATH

最新更新