功能介绍

模型仓库功能的核心定义是提供一个基于 Git 的版本控制存储系统,用于机器学习模型,支持团队管理模型文件、跟踪版本,并实现跨租户协作。它利用 Git LFS 进行大文件存储,并集成 MLOps 工作流,打通模型开发与部署的桥梁。

目录

优势

  1. Git 原生版本控制
    • 通过提交/分支/标签跟踪模型变更,确保可复现性。
  2. 高速传输
    • CLI/Notebook 上传利用内网带宽(例如 AML Notebooks 同机房加速)。
  3. 跨租户共享
    • 共享模型可跨命名空间访问(例如 public 作为模型 Marketplace)。
  4. 无缝集成
    • 可直接从仓库部署模型到推理服务。

适用场景

  • 团队协作
    • 多位数据科学家可在同一仓库中并行更新和版本管理模型。
  • 模型审计
    • 通过 Git 提交/标签追溯历史版本,满足合规需求。
  • 资产集中管理
    • 在统一中心管理私有/共享模型及其元数据(如标签/描述)。

带来的价值

  • 可复现性
    • 通过标签固定模型版本(如 production/v1.2),避免训练与推理不一致。
  • 效率提升
    • CLI 上传绕过浏览器限制,支持大文件(>10GB)。
  • 安全性
    • 通过 GitLab 凭证实现租户隔离,防止未授权访问。
  • 成本降低
    • 复用共享模型(如公共 BERT 权重),避免重复存储。

主要功能

模型仓库创建与删除

  • 创建带元数据(名称/描述/可见性)的空 Git 仓库。
  • 删除模型前进行依赖检查(如确保无活跃推理服务依赖)。

文件管理

  • Web UI 上传
    • 支持拖拽文件/文件夹(适合小/中等大小文件)。
  • 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

版本控制

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

跨租户共享

  • 共享模型
    • 创建时设置可见性为“共享”,支持跨租户访问。
  • 公共 Marketplace
    • 使用 public 命名空间发布开源模型(如 HuggingFace 转换模型)。

与 MLOps 集成

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

技术说明

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

创建模型仓库

第 1 步

参数说明
Name必填,模型仓库名称。
Labels自定义标签用于分类和搜索。(例如 "CV"、"NLP"、"production")
Description仓库用途、模型类型或使用指南的详细说明。

第 2 步

创建 空仓库。

第 3 步

上传模型文件

你可以通过以下任一方式上传模型文件:

方案一:Web UI 上传

  • 使用文件管理界面上传文件
  • 拖拽文件/文件夹到指定区域
  • 支持格式:所有模型文件类型(.h5、.bin、.pt 等)
  • 支持实时上传进度跟踪

方案二:Git 命令行上传

  1. 获取仓库地址:
  • 进入详情信息 → 基本信息
  • 复制 Git 仓库 URL(例如 https://<your-domain>/<namespace>/<repo-name>.git)
  1. 通过 Git 上传:

    
    # 克隆仓库
    git clone <repository-url>
    
    # 进入仓库目录
    cd <repo-name>
    
    # 初始化 Git LFS(如未设置)
    git lfs install
    
    # 添加模型文件(替换为你的实际文件)
    cp -r /path/to/your/model/files/* .
    
    # 配置 LFS 跟踪(针对大文件)
    git lfs track "*.h5" "*.bin" "*.pt"
    
    # 提交并推送
    git add .
    git commit -m "Add model files v1.0"
    git push origin main