模型仓库

模型仓库功能的核心定义是提供一个基于 Git 的版本控制存储系统,用于机器学习模型,使团队能够管理模型文件、跟踪版本,并在多个租户之间协作。它利用 Git LFS 进行大文件存储,并与 MLOps 工作流集成,以连接模型开发和部署。

优势

原生 Git 版本控制

  • 通过 commits/branches/tags 跟踪模型变更,确保可复现性。

高速传输

  • CLI/Notebook 上传利用内部网络带宽。

跨租户共享

  • 共享模型可在多个 namespace 间访问(例如,public 作为模型 Marketplace)。

无缝集成

  • 直接从仓库将模型部署到推理服务。

核心功能

模型仓库创建与删除

  • 创建一个空的、基于 Git 的仓库,并附带元数据(名称/描述/可见性)。
  • 在依赖检查后删除模型(例如,确保没有正在运行的推理服务)。

文件管理

  1. CLI/Git LFS
    • 使用 git lfs track 管理大文件(例如,*.bin*.h5)。
    • 示例:
      git clone <model_repo_url>
      git lfs install
      cp ~/local_model/* . && git add . && git commit -m "v1.0" && git push

版本控制

  1. 分支管理
    • 维护并行版本(例如,experimentalmain 分支)。
  2. 打标签
    • 通过 UI/CLI 标记发布版本(例如,git tag -a v2.0 -m "Stable release")。
  3. 元数据同步
    • 自动从默认分支读取 README.md 作为模型描述。

跨租户共享

  1. 共享模型
    • 在创建时将可见性设置为 "Shared",以便跨租户访问。
  2. 公共 Marketplace
    • 使用 public namespace 发布开源模型(例如,HuggingFace 转换模型)。

与 MLOps 集成

  1. 可直接部署
    • 从已打标签的模型版本一键启动推理服务。
  2. Notebook 集成
    • 直接将模型拉取到 AML Notebooks 中进行测试:
      !git clone https://aml-public/resnet50.git

技术说明

  1. Git LFS 要求
    • 必须包含 .gitattributes 以指定由 LFS 跟踪的文件(例如,*.zip filter=lfs diff=lfs merge=lfs)。
  2. 默认分支规则
    • 配置错误的 README.md 元数据可能会阻止推理服务部署。

创建模型并上传模型文件

有关将模型文件上传到模型仓库的详细步骤,请参阅 使用 Notebook 上传模型