一文解答,亲自实践 | 计算机视觉MLOps自动化pipeline工具链

Posted Charmve

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一文解答,亲自实践 | 计算机视觉MLOps自动化pipeline工具链相关的知识,希望对你有一定的参考价值。

随着低代码(Low Code)和DevOps的推进,机器学习等的模型训练、部署全流程自动化技术、容器化技术的推广,逐渐可以做到计算机视觉MLOps。

今天分享的文章就是介绍这样的一个工具链,帮助你完成模型训练、调参、monitor、部署的全流程自动化。L0CV

项目主页 https://github.com/Charmve/computer-vision-in-action/tree/main/L0CV



📘 L0CV 概述

版权所有,🈲️ 止商用
本图片采用作者独立研发的图片水印技术作为版权认证 CC-BY-NC 4.0(署名可任意转载),点击查看


🍃 模型版本控制 - DVC

DVC 通常与 Git 一起运行。 Git 照常用于存储和版本代码(包括 DVC 元文件)。 DVC 有助于在 Git 之外无缝存储数据和模型文件,同时保留几乎与存储在 Git 本身相同的用户体验。 为了存储和共享数据缓存,DVC 支持多个远程 - 任何云(S3、Azure、Google Cloud 等)或任何本地网络存储(例如,通过 SSH)。

DVC 管道(计算图)功能将代码和数据连接在一起。 可以明确指定生成模型所需的所有步骤:输入依赖项,包括数据、要运行的命令和要保存的输出信息。 请参阅下面的快速入门部分或入门教程以了解更多信息。

⛳ 模型打包 - ONNX

为什么我们需要模型打包? 可以使用任何可用的机器学习框架(sklearn、tensorflow、pytorch 等)构建模型。 我们可能想要在不同的环境中部署模型,比如(移动、网络、树莓派)或者想要在不同的框架中运行(在 pytorch 中训练,在 tensorflow 中进行推理)。 使 AI 开发人员能够使用具有各种框架、工具、运行时和编译器的模型的通用文件格式将大有帮助。

这是由社区项目 ONNX 实现的。

所用的框架为:

  • ONNX
  • ONNXRuntime

🐾 模型打包 - Docker

为什么我们需要打包? 我们可能不得不与其他人共享我们的应用程序,当他们尝试运行该应用程序时,由于依赖关系问题/操作系统相关问题,大多数时间它无法运行,为此,我们说(工程师之间的名言)它有效 在我的笔记本电脑/系统上。

因此,其他人要运行应用程序,他们必须设置与在主机端运行相同的环境,这意味着需要大量手动配置和安装组件。

这些限制的解决方案是一种称为容器的技术

通过容器化/打包应用程序,我们可以在任何云平台上运行应用程序,以获得托管服务、自动扩展和可靠性等优势。

对应用程序进行打包最突出的工具是 Docker 🛳

🍀 CI/CD - GitHub Actions

CI/CD 是一种编码哲学和一组实践,您可以使用它来持续构建、测试和部署迭代代码更改。

这种迭代过程有助于减少您基于有缺陷或失败的先前版本开发新代码的机会。 使用这种方法,您可以努力减少从开发新代码到部署的人工干预,甚至根本不需要干预。

🌴 容器注册表 - AWS ECR

容器注册表是存储容器镜像的地方。 容器镜像是一个由多个层组成的文件,可以在单个实例中执行应用程序。 将所有图像托管在一个存储位置允许用户在需要时提交、识别和拉取图像。

Amazon Simple Storage Service (S3) 是一种用于 Internet 的存储。 它专为跨多个地理区域提供大容量、低成本的存储而设计。

⭐️ 无服务器架构 - AWS Lambda

无服务器架构是一种无需管理基础架构即可构建和运行应用程序和服务的方法。 该应用程序仍然在服务器上运行,但所有服务器管理都由第三方服务 (AWS) 完成。 我们不再需要配置、扩展和维护服务器来运行应用程序。 通过使用无服务器架构,开发人员可以专注于他们的核心产品,而不必担心在云中或本地管理和操作服务器或运行时。

⏳ 预测监视 - Kibana

监控系统可以帮助我们相信我们的系统运行顺利,并且在系统出现故障时,可以在诊断根本原因时快速提供适当的上下文。

我们想要在训练和推理过程中监控的东西是不同的。 在训练过程中,我们关心的是损失是否在减少,模型是否过度拟合等。

但是,在推理过程中,我们希望我们的模型能够做出正确的预测。



💖 Sponsor me

Code with ❤️ & ☕️ @Charmve

以上是关于一文解答,亲自实践 | 计算机视觉MLOps自动化pipeline工具链的主要内容,如果未能解决你的问题,请参考以下文章

机器学习算法和架构在MLOps框架下的工程实践

机器学习算法和架构在 MLOps 框架下的工程实践 | 文末赠书

分享《自然语言处理理论与实战》PDF及代码+唐聃+《深入浅出Python机器学习》PDF及代码+段小手+《深度学习实践:计算机视觉》PDF+缪鹏+《最优化理论与算法第2版》高清PDF+习题解答PDF+

PaddlePaddle应用于百度视觉技术的工程实践

一文开启计算机视觉之旅

Istio 网关之南北向流量管理(内含服务网格专家亲自解答)