You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过DVC和GTO跟踪模型输出并添加版本信息?

问题解答

已完成的操作

1. Git仓库、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

2. 分支中跟踪训练数据

dvc remote --external s3://mlops-artifacts/experiment/one.csv
dvc remote --external s3://mlops-artifacts/experiment/two.csv

3. 跟踪SageMaker训练输出模型

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

4. GTO标注操作

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

问题解答

问题1:跟踪模型输出是否还需其他操作?若不同分支的模型导出至同一S3路径,使用dvc add --external能否正确跟踪各版本模型?

  • 额外操作:当前dvc add --external配合Git提交的流程已完成模型跟踪,无需核心额外操作。可执行dvc push确保模型校验和同步到DVC缓存(你已在GTO步骤中执行),建议检查model.tar.dvc中的校验和是否匹配S3上的模型文件,避免版本混乱。
  • 同一S3路径的多分支跟踪限制:无法正确跟踪。dvc add --external依赖文件校验和(hash)记录版本,若不同分支的模型覆盖同一S3路径,旧模型文件被替换后,旧分支的model.tar.dvc指向的校验和将无法对应有效文件,无法拉取旧版本模型。
    解决建议:为不同分支分配独立S3路径(如按分支名划分:s3://mlops-artifacts/output/sagemaker-experiment/branch1/model.tar),或导出模型时添加版本标识(时间戳、分支哈希后缀等)。

问题2:如何为模型添加版本信息?dvc get命令中的$REPO指什么,该如何配置使用?

  • 基于GTO添加模型版本:
    1. 完成gto annotate后,用gto register创建正式版本:
      gto register model --version v1.0.0
      
      也可通过--patch/--minor/--major自动递增版本,例如gto register model --patch会将v1.0.0升级为v1.0.1。
    2. 提交并推送版本变更:
      git add artifacts.yaml
      git commit -m "release model v1.0.0"
      git push
      
    3. (可选)用gto promote标记模型到特定阶段(如staging/production):
      gto promote model --version v1.0.0 --stage production
      
  • dvc get中$REPO的说明与使用:
    • $REPO指Git仓库地址,支持三种形式:本地仓库路径(如./my-ml-repo)、远程Git仓库URL(如https://github.com/username/my-ml-repo.git)、平台简写(如username/my-ml-repo,适用于GitHub/GitLab)。
    • 使用示例:
      • 从本地仓库拉取指定版本模型:
        dvc get ./my-ml-repo model.tar --rev v1.0.0 -o ./local-model.tar
        
      • 从远程仓库拉取:
        dvc get https://github.com/username/my-ml-repo.git model.tar --rev main -o ./downloaded-model.tar
        
      其中$ARTIFACT_PATH是模型在仓库中的路径(此处为model.tar),$REVISION可以是Git分支名、标签、提交哈希,或GTO的版本/阶段标识。

内容的提问来源于stack exchange,提问作者haju

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 19:33:22