解读CRISP-ML(Q):机器学习生命周期流程

译文
人工智能 机器学习
本文介绍了构建可持续机器学习应用程序的标准流程。

译者 | 布加迪

审校 | 孙淑娟

目前,没有用于构建和管理机器学习(ML)应用程序的标准实践。机器学习项目组织得不好,缺乏可重复性,而且从长远来看容易彻底失败。因此,我们需要一套流程来帮助自己在整个机器学习生命周期中保持质量、可持续性、稳健性和成本管理。

图1. 机器学习开发生命周期流程

使用质量保证方法开发机器学习应用程序的跨行业标准流程(CRISP-ML(Q))是CRISP-DM的升级版,以确保机器学习产品的质量。

CRISP-ML(Q)有六个单独的阶段:

1. 业务和数据理解

2. 数据准备

3. 模型工程

4. 模型评估

5. 模型部署

6. 监控和维护

这些阶段需要不断迭代和探索,以构建更好的解决方案。即使框架中有顺序之分,后一阶段的输出可以决定我们要不要重新检查前一阶段。

图2. 每个阶段的质量保证

质量保证方法被引入到框架的每个阶段。这套方法有要求和约束,比如性能指标、数据质量要求和稳健性。它有助于降低影响机器学习应用程序成功的风险。它可以通过持续监控和维护整个系统来实现。

比如说:在电子商务企业,数据和概念漂移会导致模型退化;如果我们没有部署系统来监控这些变化,公司就会蒙受损失,即失去客户。

业务和数据理解

开发流程一开始,我们需要确定项目范围、成功标准和ML应用程序的可行性。之后,我们开始数据收集和质量验证过程。这个过程漫长而又充满挑战。

范围:我们希望通过使用机器学习流程实现的目标。是留住客户,还是通过自动化降低运营成本?

成功标准:我们必须定义清晰和可衡量的业务、机器学习(统计指标)和经济(KPI)成功指标。

可行性:我们需要确保数据可用性、机器学习应用程序的适用性、法律约束、稳健性、可扩展性、可解释性和资源需求。

数据收集:通过收集数据,对其进行版本控制以实现可重复性,并确保源源不断的真实数据和生成数据。

数据质量验证:通过维护数据描述、要求和验证来确保质量。

为了确保质量和可重复性,我们需要记录数据的统计属性和数据生成过程。

数据准备

  第二阶段很简单。我们将为建模阶段准备数据。这包括数据选择、数据清洗、特征工程、数据增强和规范化。

1. 我们从特征选择、数据选择以及通过过采样或欠采样来处理不平衡类入手。

2. 然后,专注于减少噪音和处理缺失值。出于质量保证的目的,我们将添加数据单元测试,以减少错误值。

3. 视模型而定,我们执行特征工程和数据增强,比如独热编码和聚类。

4. 规范化和扩展数据。这可降低特征有偏差的风险。

为了确保可重复性,我们创建了数据建模、转换和特征工程管道。

模型工程

业务和数据理解阶段的约束和要求将决定建模阶段。我们需要了解业务问题以及我们将如何开发机器学习模型来解决这些问题。我们将专注于模型选择、优化和训练,将确保模型性能指标、稳健性、可扩展性、可解释性,并优化存储和计算资源。

1. 模型架构和类似业务问题方面的研究。

2. 定义模型性能指标。

3. 模型选择。

4. 通过整合专家来了解领域知识。

5. 模型训练。

6. 模型压缩和集成。

为确保质量和可重复性,我们将存储模型元数据并进行版本控制,比如模型架构、训练和验证数据、超参数以及环境描述。

最后,我们将跟踪ML试验,并创建ML管道,以创建可重复的训练流程。

模型评估

这是我们测试并确保模型已准备好部署的阶段。

  • 我们将在测试数据集上测试模型性能。
  • 通过提供随机或虚假数据,评估模型的稳健性。
  • 增强模型的可解释性,以满足监管部门要求。
  • 自动或请教领域专家,将结果与初始成功指标进行比较。

为了质量保证,评估阶段的每一步都被记录下来。

模型部署

模型部署是我们将机器学习模型集成到现有系统中的阶段。该模型可以部署在服务器、浏览器、软件和边缘设备上。来自模型的预测可用于BI仪表板、API、Web应用程序和插件。

模型部署流程:

  • 定义硬件推理。
  • 生产环境中的模型评估。
  • 确保用户接受和可用性。
  • 提供后备方案,最大程度地减少损失。
  • 部署策略。

监控和维护

生产环境中的模型需要持续监控和维护。我们将监控模型时效性、硬件性能和软件性能。

持续监控是流程的第一部分;如果性能降到阈值以下,自动做出决定,针对新数据重新训练模型。此外,维护部分不仅限于模型的重新训练。它需要决策机制,获取新数据、更新软硬件以及根据业务用例改进ML流程。

简而言之,就是持续集成、训练和部署ML模型。

结论

训练和验证模型是ML应用程序的一小部分。将最初的想法变成现实需要几个过程。我们在本文中介绍了CRISP-ML(Q) 以及它如何侧重风险评估和质量保证。

我们先定义业务目标、收集和清理数据、构建模型、拿测试数据集验证模型,然后将其部署到生产环境中。

该框架的关键组件是持续监控和维护。我们将监控数据和软硬件指标,以确定是重新训练模型还是升级系统。

如果您不熟悉机器学习操作,想了解更多信息,请阅读DataTalks.Club评述的​​免费MLOps课程​​。您将获得所有六个阶段的上手经验,了解CRISP-ML的实际实施。

原文标题:Making Sense of CRISP-ML(Q): The Machine Learning Lifecycle Process,作者:Abid Ali Awan

责任编辑:华轩 来源: 51CTO
相关推荐

2021-02-14 00:39:57

机器学习技术人工智能

2023-02-15 16:25:06

机器学习人工智能数据

2009-06-11 11:28:35

JSF生命周期

2023-10-07 00:05:07

2023-10-05 06:01:28

2009-03-04 10:18:50

生命周期JVMjava

2010-09-27 10:30:42

JVM对象生命周期

2010-09-27 10:40:47

JVM对象生命周期

2010-07-28 12:47:06

Flex组件

2015-07-08 16:28:23

weak生命周期

2022-04-19 07:20:24

软件开发安全生命周期SSDLC应用安全

2011-08-15 16:09:44

Cocoa对象Objective-C

2020-02-10 19:34:12

生命周期流程流程图

2013-08-19 17:03:00

.Net生命周期对象

2012-06-20 10:29:16

敏捷开发

2009-06-24 10:47:55

JSF生命周期

2021-07-19 05:52:29

网络生命周期网络框架

2010-07-14 10:48:37

Perl线程

2022-08-11 09:00:00

TestOps软件开发测试

2009-06-18 13:32:39

Java线程生命周期
点赞
收藏

51CTO技术栈公众号