模型仓库
模型仓库功能的核心定义是提供一个基于 Git 的版本控制存储系统,用于机器学习模型,帮助团队管理模型文件、跟踪版本,并在不同租户之间协作。它利用 Git LFS 进行大文件存储,并与 MLOps 工作流集成,以连接模型开发与部署。
优势
Git 原生版本控制
- 通过 commits/branches/tags 跟踪模型变更,确保可复现性。
高速传输
- CLI/Notebook 上传利用内部网络带宽。
跨租户共享
- 共享模型可在不同 namespaces 中访问(例如,
public作为模型 Marketplace)。
无缝集成
- 可直接将模型从仓库部署到推理服务。
核心功能
模型仓库创建与删除
- 创建一个带有元数据(name/description/visibility)的空 Git-backed 仓库。
- 在依赖检查后删除模型(例如,确保没有处于活动状态的推理服务)。
文件管理
- CLI/Git LFS
- 使用
git lfs track处理大文件(例如,*.bin、*.h5)。 - 示例:
- 使用
版本控制
- 分支
- 维护并行版本(例如,
experimental与main分支)。
- 维护并行版本(例如,
- 标签
- 通过 UI/CLI 标记发布版本(例如,
git tag -a v2.0 -m "Stable release")。
- 通过 UI/CLI 标记发布版本(例如,
- 元数据同步
- 自动从默认分支读取
README.md作为模型描述。
- 自动从默认分支读取
跨租户共享
- 共享模型
- 在创建时将可见性设置为“Shared”,以实现跨租户访问。
- 公共 Marketplace
- 使用
public命名空间发布开源模型(例如,HuggingFace 转换模型)。
- 使用
与 MLOps 集成
- 可直接部署
- 通过标记的模型版本一键启动推理服务。
- Notebook 集成
- 直接将模型拉取到 AML Notebooks 中进行测试:
技术说明
- Git LFS 要求
- 必须包含
.gitattributes,以指定由 LFS 跟踪的文件(例如,*.zip filter=lfs diff=lfs merge=lfs)。
- 必须包含
- 默认分支规则
- 配置错误的
README.md元数据可能会阻止推理部署。
- 配置错误的
创建模型仓库
WARNING
在开始之前,请确保系统中已安装 Git 和 Git LFS。
$ git lfs version
第 1 步:克隆或初始化仓库
如果你已经有一个远程仓库,请先克隆它。否则,可以在本地初始化一个新的 Git 仓库。
第 2 步:初始化 Git LFS
初始化 Git LFS
第 3 步:将模型文件复制到仓库目录(可选)
第 4 步:配置 Git LFS 跟踪模式(以下两种方式任选其一)
-
你可以选择主动创建一个
.gitattributes文件,以指定要跟踪的文件类型。 -
或者,使用 git lfs migrate 命令自动检查并迁移大文件。
-
选项 1:通过
.gitattributes进行主动跟踪(推荐用于新项目)TIP如果仓库中已经有需要由 Git LFS 跟踪的文件,你可能需要在提交
.gitattributes更改后运行以下命令,以确保 Git 重新处理这些文件并将其转换为 LFS 指针:git add --renormalize .
-
选项 2:使用 git lfs migrate 进行检查和迁移(推荐用于现有仓库或历史文件)
git lfs migrate命令可以查找并迁移 Git 历史中已经存在但未由 LFS 跟踪的大文件。此操作会重写历史记录——请与协作者协调。推送重写后的历史时,建议使用--force-with-lease。TIP对于共享仓库:在迁移前通知协作者,并在推送重写后的历史时使用:
git push --force-with-lease
第 5 步:添加、提交并推送
配置好 LFS 后,将文件添加到暂存区,提交,然后推送到远程仓库。