深入了解AIOps和MLOps

476 阅读8分钟

监控和管理DevOps环境很复杂。新的分布式架构(如Kubernetes)产生的数据量使DevOps团队难以有效地响应客户的要求。因此,DevOps的未来必须以智能管理系统为基础。由于人类没有能力处理日常运营中的大量数据和计算,人工智能(AI)将成为计算、分析和改造团队开发、交付、部署和管理应用程序的关键工具。

什么是机器学习运营?

机器学习运营(MLOps)指的是机器学习(ML)项目的生命周期管理。它是现代机器学习应用开发的一个关键概念,其目的是使机器学习应用的训练、部署和维护无缝和高效。MLOps不是一套具体的技术,而是一个总括性的术语,指的是专注于建立可靠和功能良好的机器学习模型的活动。它既包括开发工作实践,也包括作为项目团队的工作方式--本质上是一套机器学习应用开发的最佳实践。

随着MLOps原则的应用,数据科学家可以专注于机器学习模型的核心开发,而MLOps实践则负责数据清理、质量控制和模型版本等任务。

应用MLOps同样有利于企业主和客户。自动化提高了开发的速度,导致更快的结果和更可靠的机器学习模型。这导致了更短的开发时间,反过来带来更快的最终结果交付和成本效益。最后,自动化质量控制确保了更可靠的解决方案,确保并测试其功能符合预期,减少了错误部署的风险。

机器学习模型的生命周期

机器学习项目的生命周期与传统的应用程序不同。图1中的图表详细说明了在生产中部署机器学习项目的步骤:

  1. 数据提取--从各种来源摄取数据
  2. 探索性数据分析--了解数据格式
  3. 数据准备--清理和处理数据以方便处理
  4. 模型训练--创建和训练一个模型来处理数据
  5. 模型验证和评估--在测试数据上评估模型以验证其性能
  6. 模型版本化--发布模型的版本
  7. 模型部署--在生产中部署模型

MLOps的核心要素

有几个机器学习框架允许你部署、管理和监控模型--例如,KubeFlow是一个工具包,它简化了Kubernetes平台上的模型管理。一个工具包应该由以下部分组成:

  • 一个版本控制,以跟踪数据集或模型的任何变化
  • 用于集中数据和常用功能的功能存储
  • 追踪器,监测模型在训练中的表现
  • 使用一组最佳超参数自动训练模型的工具
  • 一个在生产中部署模型的平台
  • 跟踪和管理部署在生产中的机器学习模型的监控工具

什么是人工智能运营?

Gartner是 "人工智能运营"(AIOps)一词的创造者,将其定义为利用大数据和机器学习来实现IT运营任务的自动化,如事件关联、识别异常事件和确定因果关系。AIOps利用大数据、分析和人工智能算法,实时分析IT系统和应用产生的大量数据。这些数据包括日志文件、性能指标和安全事件,等等。人工智能算法处理这些数据,以识别模式,检测异常,并产生洞察力,帮助IT团队快速解决事件,并在潜在问题发生之前预防。

AIOps解决方案还可以将事件关联、根本原因分析和事件解决等人工任务自动化,让IT团队腾出手来专注于更多战略举措。AIOps还可以帮助企业实现更快的问题解决,减少停机时间,并提高整体IT运营效率。它通过释放人工智能的力量,帮助团队更快、更聪明地工作。

AIOps实现工作流程高效数字化的核心能力是:

  1. 流程优化- 通过全面了解系统之间的联系和影响,提高整个企业的效率。在发现问题后,它有利于完善和持续监测流程。
  2. 性能分析--通过检查趋势来预测性能瓶颈,并根据需要做出必要的改进。
  3. 预测智能--利用机器学习对事件进行分类,提出解决方案,并主动提醒关键问题。
  4. AI搜索--通过语义搜索功能提供精确的、个性化的答案。
  5. 配置管理数据库--通过连接整个数字生命周期的产品,加强对IT环境的可视性决策,使团队能够理解影响和风险。

AIOps的核心要素

AIOps的定义在企业间有所不同,因为每个企业都有独特的需求和方法在IT运营中实施AI解决方案。AIOps的主要目标是有效识别和应对实时问题。AIOps的一些核心组件可以协助在IT运营中实施AI:

  1. 基于ML的模式发现- AIOps或IT分析涉及识别模式。机器学习利用计算机的计算能力来识别IT数据中的这些模式。
  2. 异常检测--异常的系统行为,如停机或糟糕的客户体验,可能来自正常行为的变化。AIOps能够检测到任何偏离典型活动的情况。
  3. 预测性见解--AIOps在IT运营中引入了可预测性,使IT人员能够在问题发生前主动解决,最终减少服务台的票据数量。
  4. 自动根本原因分析- 仅仅拥有洞察力是不够的。采取行动是很重要的。在传统的IT管理中,工作人员监控系统并根据需要采取行动。然而,随着IT基础设施问题数量的不断增加,工作人员很难及时管理和解决问题,特别是当涉及多个系统时,根本原因分析可能很耗时。AIOps在后台将这一过程自动化。

AIOps工具集

AIOps工具从多个来源收集数据,以提供一个全面的IT运营视图。它们收集数据,如应用程序日志和测量系统性能,打破IT信息的孤岛,弥合软件、硬件和云问题之间的差距。AIOps解决方案通过提供根本原因分析、事件关联和云映射的工具来帮助IT运营,支持自动化:

  1. 智能观察能力--AIOps采用先进的监测技术,使用上下文信息、人工智能和自动化,以获得对IT问题的全面了解。提供精确的根源分析与可操作的见解。
  2. 持续自动化- 减少部署、配置和管理方面的人工努力,并自动识别和评估用户和业务影响方面的问题的严重程度。实现连续发现、毫不费力的部署和自动依赖性映射成为可能。
  3. 人工智能辅助- 执行高效和无错误的根本原因分析。通过集成到每个方面的人工智能引擎,实现精确和可重复的结果。

MLOps和AIOps之间的区别是什么?

再加上现代应用程序的架构越来越复杂,这个数字经济的需求使IT运营的角色变得更加复杂。因此,ML和AI的出现,使一些人工业务流程自动化,以提高效率。

MLOps和AIOps都旨在为同一个最终目标服务:业务自动化。MLOps弥补了模型构建和部署之间的差距,而AIOps则专注于支持和实时反应问题,并向运营团队提供分析。AIOps结合了大数据和机器学习,以实现性能监控、事件分析、关联性和IT自动化。

另一方面,MLOps专注于管理有效创建机器学习模型所需的训练和测试数据。它是关于监测和管理ML模型。换句话说,MLOps将流程标准化,而AIOps将机器监控自动化。

尽管有明显的区别,但正确执行AIOps和MLOps所需的团队和能力有相似之处。值得考虑的是,它们的交叉点,以确定哪些资源可以支持这两个学科。

总结

世界各地的组织正越来越多地将自动化技术作为提高运营效率的一种手段。这表明,技术领导者对MLOps和AIOps越来越感兴趣。

机器学习系统可以简化DevOps系统各部分的数据收集,如速度、发现的缺陷和燃烧率。MLOps负责模型的持续集成和部署。它允许用户阐明重要的模式并利用数据来提取有意义的信息。它还意味着在生产中进行监视和持续的模型训练,以确保这些模型的可靠性和稳定性。

AIOps可以在加速DevOps效率方面发挥关键作用。它被定义为使用大数据和机器学习来自动化操作,如事件关联,确定因果关系,以及识别异常事件。

换句话说,MLOps和AIOps可以一起工作。人工智能将通过实现即时开发和运营周期,以及在这些功能上提供令人信服的客户体验来帮助提升性能。机器学习将使公司能够收集指标,如集成的数量、它们之间的时间、它们的成功率和每个集成的缺陷,这些指标只有在准确评估和关联的情况下才有价值。