什么是 MLOps?
MLOps 的定义
机器学习运营 (MLOP) 是一系列实践方法,目的是简化机器学习模型和工作流程的开发、部署以及持续维护过程。MLOps 是人工智能 (AI) 的一个子领域,位于机器学习 (ML)、开发运营 (DevOps) 和数据工程的交叉点。它将端到端的机器学习模型开发与机器学习系统的部署和运行相结合。这一方法是数据科学家、DevOps 工程师和 IT 人员共同努力的结果,旨在确保机器学习系统的可靠性、安全性和可扩展性。
机器学习系统如今在各种技术应用中随处可见。它们支持预测分析、自动化决策,并在可观测性、网络安全和定制化等方面发挥作用,推动各行各业的生产力和创新。部署机器学习模型需要一个强大的运营框架,MLOps 正好可以大显身手。
什么是机器学习?
机器学习是 AI 的一个分支,它通过数据和算法让计算机在没有明确编程的情况下学习和自我完善,这和人类的学习方式相似。机器学习算法通过分析大量数据来识别模式。这样可以让它们在被询问时做出准确的预测或决策。
机器学习算法用于各种应用程序,包括推荐引擎、警报自动化、欺诈检测、自然语言处理等。随着数据量的不断增长,机器学习系统能够帮助不同规模的公司自动化执行任务、处理数据以及推动发展和创新。
什么是 MLOps 框架?
MLOps 框架使得在组织内部开发和部署机器学习系统成为可能。MLOps 生命周期始于数据准备。接下来将这些数据输入机器学习模型,进行训练和验证。然后,利用持续集成和部署 (CI/CD)、自动测试、版本控制、模型监测和数据治理等 DevOps 原则,对模型进行部署、监测和再训练。MLOps 的目标是提高机器学习模型生命周期的效率、可扩展性和安全性。
MLOps 在软件开发中的作用
在软件开发中,mLOps 有助于统一机器学习和软件应用程序的发布周期。MLOps 在将机器学习模型集成到生产系统中方面起着至关重要的作用。传统的软件开发侧重于代码,而机器学习模型则需要精心管理数据、算法和计算资源。MLOps 通过提供规范化的模型部署、监控和迭代流程,确保机器学习模型能够与传统软件一同部署,同时保持性能稳定,并尽量减少服务中断时间。
与可观测性、网络安全和定制化的交叉点
MLOps 在两个方面与可观察性、网络安全和定制化相交叉。可观测性、网络安全和定制化依靠机器学习功能来完成各种任务,包括警报自动化、预测分析、规划和优化。相反,MLOps 则依赖于可观测性、网络安全和定制化,为企业提供机器学习模型的全部优势。
- 可观测性:应用于 MLOps 时,可观测性实践有助于检测数据漂移或模型退化等问题,这些问题可能会影响预测的准确性和可靠性。
- 网络安全:与数字生态系统的任何方面一样,MLOps 管道也容易受到各种威胁。在 MLOps 生命周期中实施网络安全实践,意味着要确保数据安全,验证数据完整性,并实施严格的访问控制来保护模型。
- 定制化:在 MLOps 中,定制化指的是根据特定业务需求或行业法规要求,对 ML 管道(从数据筛选和预处理到模型选择和部署策略)进行个性化调整。通过将定制化集成到 MLOps 工作流程中,企业可以确保其机器学习解决方案既满足自身需求,又符合行业标准和最佳实践。
了解可观测性、网络安全、定制化和 MLOP 的交叉点,最终可以获得更好的结果:模型的准确性、安全性和可靠性。
MLOps 的组件
MLOps 生命周期包括多个组件,有助于机器学习模型的成功迭代和部署。这些组件包括持续集成、数据准备、特征工程、模型训练和评估、部署、监测和管理。
持续集成
持续集成 (CI) 是 DevOps 的核心实践,包括自动集成代码变更并将其合并到源代码中。在机器学习项目的背景下,持续集成还包括数据和模型变更的自动集成。持续集成实践可确保机器学习模型始终能够可靠地部署和运行。
数据准备和特征工程
MLOps 的第一个关键组件是数据准备。这包括对原始数据进行清洗、转换,并将其整理成适合机器学习模型需求的格式。数据准备还包括汇总和重复清洗等过程。
特征工程是数据准备过程的扩展,它包括将原始数据转换成适合用于监督机器学习(也就是模型训练)的特征。特征是帮助模型在数据点之间建立关系并最终产生预测结果的新变量。特征工程对机器学习模型的准确性有直接影响。
模型训练、调整和评估
模型训练是将数据输入算法的过程,使算法能够识别数据中的关联和模式,并据此进行预测。训练可以是监督式、非监督式或半监督式。监督式学习需要已加标注的数据集,而非监督式学习模型则不需要。半监督式学习依赖于已加标注和未加标注的数据集来训练算法。
调整模型是指通过调整模型的超参数来提高模型性能的过程。超参数是控制模型学习过程的“顶层”或封装值。
评估模型意味着用新数据对模型进行测试,并对其预期用途进行验证。这能确保模型在部署前能够按照预期正常工作。
模型部署
机器学习模型经过训练和验证后,就可以部署到生产环境中。机器学习模型可以处理生产环境中的新数据,进行实时预测。部署过程的一部分涉及持续监测,以确保模型在负载下按预期执行。
持续监测与可观测性
可观测性实践通过依赖预测准确性、延迟和系统健康等指标来帮助监测模型的性能。可观测性还有助于通过追踪资源使用和技术债务,更全面地了解模型与生态系统的整合情况。这反过来又允许工程师调整模型,从而提升整个系统的性能。
以数据为中心的管理和数据漂移
以数据为中心的管理是 MLOps 的重要组件,其重点是保持机器学习项目中所用数据的质量和一致性。当输入数据的统计属性和特征发生变化时,模型的性能可能有所下降。这是数据漂移。为了确保模型发挥最佳性能,并保障数据的完整性,监测数据漂移是必不可少的。
实验
一个业务问题可能有多个机器学习解决方案。要了解哪种模式适合特定环境中的特定业务问题,需要进行实验。与 DevOps 一样,MLOps 的一个基本原则是通过迭代和持续改进来解决问题。
治理
哪里有数据,哪里就有治理。所有组织都必须遵守相关政策和程序,以确保满足监管要求和道德标准。监测 MLOps 管道包括对实验的追踪和管理模型的版本,确保机器学习模型满足监管标准。
MLOps 挑战
尽管 MLOps 在机器学习项目管理中发挥着关键作用,但从成本、人力和资源的角度来看,实施 MLOps 可能会遇到一些挑战。
初始设置成本
MLOps 的初始设置需要大量成本:组织必须投资于合适的基础设施、工具和人员。采购了这些资源之后,组织还需要面对与时间相关的成本挑战——最初的数据准备工作可能会耗时较长且成本较高。
工具选择
为机器学习项目找到合适的工具需要专业知识和时间。面对众多选择,组织应该优先考虑系统的可扩展性、集成能力和易用性。
技能要求
MLOps 是一个需要多方协作的过程,依赖于数据科学家、工程师以及 IT 专业人员的专业知识。构建和管理机器学习模型需要特定的专业技能,因此企业需要在招聘热门人才和进行训练方面进行投资。
维护和可扩展性
维护 MLOps 管道可能很复杂,尤其是在企业增加模型和数据源数量的情况下。机器学习模型的扩展可能会消耗大量资源,这对员工和系统来说都是如此。选对合适的平台和工具可以带来巨大的变化。
MLOps 的优势
MLOps 的优势说明了为什么机器学习集成如此受欢迎。MLOps 能够为企业提供更好的可观测性、更强的网络安全、更高的工作效率以及更便捷的模型应用。
提高可观测性
MLOps 将监测纳入其流程,这反过来又为可观测性工具提供了额外的重要数据。它们可以监测性能和资源使用情况,让组织更清晰地了解自身运营情况。
改善网络安全
在机器学习模型的开发过程中融入安全实践,MLOps 能够确保在各个环节都增强网络安全。
提高效率
MLOps 为数据科学家、DevOps 工程师和 IT 团队提供了一个可靠的框架,用于部署和集成机器学习模型。有了自动化的加持,工作效率得到了提升,团队能够更加迅速和灵活地推进工作。
易用性
MLOps 实践简化了机器模型的管理,使企业更容易大规模部署和维护模型。因此,MLOps 减轻了数据科学家、DevOps 工程师和 IT 团队的负担,使他们能够专注于更具战略性的计划。
MLOps 的最佳实践
遵循 MLOps 的最佳实践,对于在系统中有效地部署机器学习模型非常关键。MLOps 的最佳实践包括自动化执行任务、持续进行模型的训练与验证,以及监测模型性能和数据质量。
实施策略
自动化是实施 MLOps 的关键策略。 通过尽可能自动化 MLOps 流程的各个环节,如数据准备、模型训练、部署和监控,工程师可以减少人为错误,加速 MLOps 生命周期的进程,并把精力集中在战略性任务上。
优化机会
在 MLOps 的生命周期中,存在许多优化的机会,特别是在提升模型性能和资源利用效率方面。通过持续监测机器学习模型,工程师可以发现优化机会,并通过重新训练和验证来解决这些问题。性能监测有助于识别和解决延迟或吞吐量瓶颈等问题。主动寻求优化可以确保模型保持准确性,并产生相关的输出结果。
风险与合规
就 MLOps 而言,风险管理涵盖了执行严格的安全协议、定期进行审计以及保持所有机器学习流程的完整文档记录。通过跟踪模型沿革和版本,企业可以确保遵守监管要求,并确保机器学习系统的安全性。
可观测性要求
在 MLOps 中,可观测性对于保持最佳模型性能至关重要。可观测性工具应监测数据漂移、模型准确性、公平性和偏差以及延迟和吞吐量等系统级指标。可观测性实践还揭示了 MLOps 生命周期与 DevOps 周期的整合方式,以及对业务成果的影响。
带有 Elastic 的 MLOP
Elastic 提供的强大可观测性工具、实时分析能力,以及集成了机器学习技术的搜索功能,可以帮助您及时发现响应时间的延迟、识别异常行为、评估潜在威胁,并定制异常检测规则,从而提升您团队和客户的搜索体验。
不知道如何开始使用您的数据?Elastic Common Schema (ECS) 是 Elastic 开发的开放式通用数据模型,可以让您灵活地收集、存储和可视化任何数据,从而轻松提取数据。