Day 07 : MLOps 的挑战与技术要求

Day 06 引用与介绍 3 个 MLOps 相关定义,如果 MLOps 是一种工程文化与实践,旨在 ML 系统开发与 ML 系统操作,实际遇到的挑战与技术要求 持续交付基金会 CDF 有不少深刻的整理,摘述如下:

MLOps 的挑战

  • CDF MLOps SIG 基於以下问题而关注 MLOps 发展:

    • ML 使用持续交付 (CI/CD) 可能会提高部署速度,但是否会提高或确保品质?
    • 是否正在部署提供道德、公平和无偏见的预测模型?
    • ML 执行的操作是否可验证?
    • 能否严格维护和测试?
    • 是否有明确的 Metadata 收集、实验跟踪、版本控制、ETL 操作等指南?
  • MLOps Roadmap 2021 撰写了各种 MLOps 挑战与技术要求指引,摘述几个特色说明:

    • MLOps 实践不限何种程序语言、平台、模组。
    • 在资料科学家可能不具有部署软件服务的丰富经验情况下,将训练过的 ML 模型包装为可部署的方法。
    • 将 MLOps 应用於 PB 级及更高级别的超大规模问题的方法。
    • 管理 MLOps 资产发布周期的治理流程,包括负责任的 AI 原则。
    • 模型的内在保护。
  • MLOps Roadmap 2021 的小叮咛:

    • 必须认识到,虽然 Python 作为一种表达 ML 概念的语言很方便,但它是一种解释性脚本语言,在生产环境中本质上是不安全的,因为任何可以注入 Python 环境的临时 Python 源都可以不受约束地执行, 即使 shell 访问被禁用。不应长期使用 Python 来构建任务关键型 ML 模型,而应采用更安全的设计选项。
      /images/emoticon/emoticon82.gif
  • 在实践 MLOps 过程中,以下四步骤可以供参考:

    1. 为了确保运行的实验有信心建构出最佳模型,训练资料、程序、模型需要追踪程序、版本控制的一些技巧。
    2. 设定触发器已重新运行训练作业,通常是自动化的。
    3. 模型应该要经过严格的可控可逆的 CI/CD 流程进行适当的测试、评估和批准才能发布,此为资料科学家很大的缺口。
    4. 我们希望持续能理解模型的性能,这与确保品质与业务持续性很重要。
  • 另外, Google Cloud 的 Architecture for MLOps using TFX, Kubeflow Pipelines, and Cloud Build 指引,在意的是如何实现 MLOPs ,将 MLOps 说明为:

    • 如需在生产环境中结合机械学习系统,您需要安排 ML pipeline 中的步骤。此外,您需要将 pipeline 自动化,已持续训练模型。如需实验新想法与功能,您需要在 pipeline 采用 CI/CD 作法。

End to end 解决方案

MLOps 与 DevOps 不同之处,很大一部分在於纪录的主体不同, MLOps 除了「持续整合」(CI)、「持续交付」(CD),也需要实现「持续训练」(CT)。

  • 上图为 Google展示的 CI/CD 流程与持续机械学习 CT 的关系:
    • 您的 Code 包含采用的"模型",训练後的"超参数"。
    • 您的资料是变动的资料。
    • 透过部署触发持续训练 CT 流程。
    • 最後部署在产品服务中。
  • 基於用於生产的机械学习有庞大的自动化需求,简要提出 Google 及 微软的自动化解决架构如後。

端对端的 ML 流程 TensorFlow Extended (TFX)

  • Google 提出以 TensorFlow Extended (TFX) 建构端对端的机械学习系统, TFX 主打用於生产情境的开源解决方案,从资料输入、产生 Schema、资料验证、前处理、调参、训练到部署,系列文後续介绍。

Azure Machine Learning 的 Python 模型 MLOps

小结

  • MLOps 架构主要关系用於生产的机械学习系统,如何在市场中维持营运,并有系统的因应情境变化带来的资料与模型调整作业,对自动化需求高。
  • 既然 MLOps 是精神也是实践,倡议时就不局限在任何程序语言与平台。
  • MLOps Roadmap 2021 撰写了各种 MLOps 挑战与技术要求指引,虽然本系列文有摘述,碍於篇幅与知识量,仍建议有兴趣者阅读。

参考


<<:  @Day7 | C# WixToolset + WPF 帅到不行的安装包 [自订页面-增加自订页面]

>>:  D-23. Self的意思、实体方法与类别方法、Private方法 && Minimum Moves to Equal Array Elements II

27.unity换图片表情

换图片就是换Sprite sprite是物件的皮,每个看的见的gameobject都有sprite,...

Day 4 python回圈

今天我们要介绍的是python当中的FOR回圈,所谓的回圈就是只我们如果要在某个条件下要重复做某些事...

OpenStack 介绍 1

本系列文章同步发布於笔者网站 我们在前几一篇文章叙述本次铁人赛所会架出的云端架构了,今天开始的文章将...

HERE API Example - 在执行期间变更地图样式

本文说明如何在执行期间变更地图样式。 主要步骤为取得 BaseLayer,修订样式并且合并回 Bas...

33岁转职者的前端笔记-DAY 19 练习写一个计算机

写计算机前必学的知识点 资料型别 (typeof) 检查变数的型别:typeof 资料型别如下: s...