机器学习笔记 - 什么是 MLOps?

什么是 MLOps?

Machine learning operations (MLOps)

作为一个新兴领域,MLOps 在数据科学家、机器学习工程师和人工智能爱好者中迅速崛起。MLOps 代表机器学习操作。MLOps 是机器学习工程的核心功能,专注于简化将机器学习模型投入生产、然后维护和监控的过程。MLOps 是一种协作功能,通常由数据科学家、devops 工程师和 IT 人员组成。

MLOps 有什么用?

MLOps 是一种用于创建机器学习和人工智能解决方案并提高其质量的有用方法。通过采用 MLOps 方法,数据科学家和机器学习工程师可以通过实施持续集成和部署 (CI/CD) 实践以及对 ML 模型的适当监控、验证和治理来协作并加快模型开发和生产的速度。

为什么我们需要 MLOps?

产品化机器学习很困难。机器学习生命周期由许多复杂的组件组成,例如数据摄取、数据准备、模型训练、模型调整、模型部署、模型监控、可解释性等等。它还需要跨团队的协作和交接,从数据工程到数据科学再到机器学习工程。当然,需要严格的操作严谨性才能保持所有这些流程同步并协同工作。MLOps 涵盖机器学习生命周期的实验、迭代和持续改进。

为什么 MLOps 对 AI 实施变得至关重要?

拿使用汽车工厂进行类比,它非常成立:MLOps 是您为扩展分析而构建的工厂。有一些大的概念。

第一步是将您在研发和试点方面的部分支出转移到建设基础设施上,以便您能够大规模生产和扩展您的人工智能项目。您还需要监控模型正在使用的数据(以汽车为例,油表或仪表板),以便您可以跟踪进出模型的数据的质量及其性能水平。

所以如果你从头开始建造每辆车,一直到门把手,那么你将花费大量的时间和精力做重复的老董。

MLOps 有什么好处?

MLOps 的主要优点是效率、可扩展性和降低风险。效率:MLOps 使数据团队能够实现更快的模型开发、交付更高质量的 ML 模型以及更快的部署和生产。可扩展性:MLOps 还支持巨大的可扩展性和管理,可以监督、控制、管理和监控数千个模型,以实现持续集成、持续交付和持续部署。具体来说,MLOps 提供了 ML 管道的可重复性,从而实现数据团队之间更紧密耦合的协作,减少与 DevOps 和 IT 的冲突,并加快发布速度。降低风险:机器学习模型通常需要监管审查和偏差检查。

MLOps 由哪些部分组成?

机器学习笔记 - 什么是 MLOps?_第1张图片

        机器学习项目中 MLOps 的跨度可以根据项目需求而集中或广泛。在某些情况下,MLOps 可以涵盖从数据管道到模型生产的所有内容,而其他项目可能只需要 MLOps 实现模型部署过程。大多数企业在以下方面部署 MLOps 原则:

探索性数据分析 (EDA)

数据准备和特征工程

模型训练和调优

模型审查和治理

模型推理和服务

模型监控

自动模型再训练

MLOps 的最佳实践是什么?

MLOps 的最佳实践可以通过应用 MLOps 原则的阶段来描述。

  • 探索性数据分析 (EDA) - 通过创建可重现、可编辑和可共享的数据集、表格和可视化,迭代地探索、共享和准备机器学习生命周期的数据。
  • 数据准备和特征工程- 迭代地转换、聚合和删除重复数据以创建精细的特征。最重要的是,利用特征存储,使特征在数据团队中可见并可共享。
  • 模型训练和调整- 使用流行的开源库(例如 scikit-learn 和 hyperopt)来训练和提高模型性能。作为更简单的替代方案,使用 AutoML 等自动化机器学习工具自动执行试运行并创建可审查和可部署的代码。
  • 模型审查和治理- 跟踪模型沿袭、模型版本,并在整个生命周期中管理模型工件和转换。借助 MLflow 等开源 MLOps 平台,发现、共享和协作跨 ML 模型。
  • 模型推理和服务- 管理模型刷新的频率、推理请求时间以及测试和 QA 中的类似生产细节。使用 CI/CD 工具(例如存储库和协调器(借用 DevOps 原则))来自动化预生产管道。
  • 模型部署和监控- 自动执行权限和集群创建以生产注册模型。启用 REST API 模型端点。
  • 自动模型再训练- 创建警报和自动化以采取纠正措施,以防由于训练和推理数据的差异而导致模型漂移。

MLOps 和 DevOps 之间有什么区别?

MLOps 是一组特定于机器学习项目的工程实践,借鉴了软件工程中更广泛采用的 DevOps 原则。DevOps 带来了一种快速、持续迭代的方法来交付应用程序,而 MLOps 则借鉴了相同的原则将机器学习模型投入生产。在这两种情况下,结果都是更高的软件质量、更快的修补和发布以及更高的客户满意度。

训练大型语言模型 (LLMOps) 与传统的 MLOps 有何不同?

虽然 MLOps 的许多概念仍然适用,但在训练Dolly等大型语言模型时还需要考虑其他因素。让我们看一下 LLM 培训可能与传统 MLOps 方法不同的一些关键点:

  • 计算资源:训练和微调大型语言模型通常涉及对大型数据集执行更多数量级的计算。为了加快这一过程,使用 GPU 等专用硬件来实现更快的数据并行操作。访问这些专用计算资源对于训练和部署大型语言模型至关重要。推理成本也使得模型压缩和蒸馏技术变得重要。
  • 迁移学习:与许多从头开始创建或训练的传统机器学习模型不同,许多大型语言模型从基础模型开始,并使用新数据进行微调,以提高更特定领域的性能。微调可以使用更少的数据和计算资源为特定应用程序提供最先进的性能。
  • 人类反馈:训练大型语言模型的主要改进之一是通过人类反馈强化学习(RLHF)。更一般地说,由于 LLM 任务通常非常开放,因此应用程序最终用户的人工反馈对于评估 LLM 性能通常至关重要。将此反馈循环集成到 LLMOps 管道中通常可以提高经过训练的大型语言模型的性能。
  • 超参数调优:在经典机器学习中,超参数调优通常以提高准确性或其他指标为中心。对于法学硕士来说,调优对于降低训练和推理的成本和计算能力要求也变得很重要。例如,调整批量大小和学习率可以显着改变训练的速度和成本。因此,经典的机器学习和法学硕士都受益于跟踪和优化调整过程,但侧重点不同。
  • 性能指标:传统的机器学习模型具有非常明确定义的性能指标,例如准确性、AUC、F1 分数等。这些指标的计算相当简单。然而,在评估法学硕士时,适用一套完全不同的标准指标和评分——例如双语评估替补 (BLEU) 和面向回忆的 Gisting 评估替补 (ROGUE),在实施时需要一些额外的考虑。 
  • 什么是 MLOps 平台?

    MLOps 平台为数据科学家和软件工程师提供了一个协作环境,可促进迭代数据探索、用于实验跟踪、特征工程和模型管理的实时协同工作功能,以及受控模型转换、部署和监控。MLOps 可自动执行机器学习生命周期的操作和同步方面。

你可能感兴趣的:(机器学习,MLOps)