测试模型的功能并扫描安全问题
以持久、安全、有组织和可扩展的方式存储和控制对模型图像的访问
将模型图像追溯到其原始源代码
如果配置正确,这种类型的自动化可以最大限度地减少所需的劳动力,并通过模型部署过程降低人为错误的风险。镜像推送过程的起点是 CI/CD 服务器成功构建的模型容器镜像。通过查看本系列之前的文章,确保您通过负责任地获取数据、遵循模型训练和版本控制的最佳实践以及使用 CI/CD 框架自动构建模型容器来快速了解生成模型所需的内容。
利用容器注册表
容器化对于确保模型在部署到生产环境后正常运行非常重要。容器化模型可确保无论基础架构如何,它们都将以相同的方式执行。
容器是一个正在运行的软件应用程序,由运行该应用程序所需的最低要求组成。这包括操作系统、应用程序源代码、系统依赖项、编程语言库和运行时。
容器存储库是具有相同名称但具有不同标签的容器映像的集合。
容器注册表是容器存储库的集合。
在使用容器化模型镜像时,容器注册表可能是众多容器存储库的集合,每个存储库对应一个特定模型。这些存储库中的每一个都可能包含多个图像,这些图像对应于相应标记的模型的多个版本。
就容器注册表而言,有许多选项,包括 Amazon Web Services (AWS) 弹性容器注册表 (ECR)、Microsoft Azure 容器注册表和 Google 容器注册表。使用 CI/CD 将模型容器映像自动部署到这些容器注册表会产生许多好处。容器注册表允许您轻松存储、保护和管理模型图像。通过自动部署容器镜像,您可以运行单元测试以确保正确的模型功能或在部署过程的早期发现问题;这包括扫描模型图像以查找潜在的安全漏洞。此外,如果使用 CI/CD 以自动化方式部署模型图像,则可以将容器注册表中存储库中的标记模型图像追溯到其原始源代码。
使用 CI/CD 将模型推送到注册表
在本系列的上一篇博文中,我们讨论了使用 Jenkins、CircleCI 和 GitHub 操作等 CI/CD 框架来自动构建、扫描和测试模型容器图像。这些 CI/CD 框架还支持自动标记模型容器图像并将其推送到容器注册表。对于某些 CI/CD 框架和容器注册表,有内置的兼容性,但对于其他人,需要额外的插件/配置才能成功地自动化推送过程。尽管该过程在某些方面有所不同,但可以使用流行的 CI/CD 框架和容器注册表的大多数组合来自动化容器映像推送。
Modzy 数据科学团队为我们开发的模型实施了类似的过程,在整个模型开发和容器化过程中依靠 Github 进行版本控制。每次将代码合并到模型存储库的主分支时,CircleCI 都会构建、扫描、测试、标记并将新的容器映像推送到 AWS ECR 注册表。通过这种方式,可以在将映像推送到注册表之前检测到错误或漏洞,并且可以使用其标签将注册表内每个存储库中的每个映像追溯到其源代码。
相关帖子DA内容精选
|


雷达卡



京公网安备 11010802022788号







