机器学习开发阶段

机器学习项目会分阶段进行,每个阶段都有特定的目标、任务和成果。清楚了解机器学习开发阶段有助于确定工程责任、管理利益相关者的预期,并高效分配资源。

成功完成各个阶段(通常是迭代式地完成)是设计、组装和构建可长期解决业务问题的机器学习模型的基础。

概括来讲,实现机器学习解决方案包括以下阶段:

  1. 构思和规划
  2. 实验
  3. 流水线构建
  4. 生产化

构思和规划

在构思和规划阶段,您需要从机器学习解决方案的角度来阐述问题,并估计项目的可行性。

  • 目标:确定机器学习是否是解决问题的最佳方案。
  • 任务:分析业务问题,了解项目的限制条件。
  • 结果:一份设计文档,概述了如何通过机器学习解决方案解决问题。

实验

实验是机器学习的核心。在此阶段,您将验证机器学习解决方案是否可行。寻找解决方案是一个迭代过程。在找到可解决问题的特征超参数和模型架构的正确组合之前,尝试数百次实验并不罕见。

  • 目标:构建可解决业务问题的模型。
  • 任务:对特征、超参数和模型架构进行实验。
  • 结果:质量足够好,可以投入生产环境的模型。

流水线构建和生产化

流水线构建和生产化阶段,您将构建用于处理数据、训练模型和提供预测的流水线。然后,您将模型和流水线部署到生产环境中,并提供必要的监控和日志记录基础架构。

  • 目标:构建并实现用于在生产环境中扩缩、监控和维护模型的基础设施。
  • 任务:构建流水线,以自动执行许多任务,从而使生产环境中的模型保持最新状态。
  • 成果:经过验证的机器学习流水线。

端到端机器学习工作流

下图展示了整个端到端机器学习工作流,列出了每个阶段及其任务和结果:

端到端机器学习工作流。

图 1. 机器学习工作流的四个主要阶段。

注意事项

每个阶段都存在多重挑战。 如果不了解这些因素并制定相应计划,可能会导致错过截止日期、工程师感到沮丧,以及项目失败。

检查您的理解情况

您刚刚了解了一些可能对您的产品有益的机器学习技术。接下来你应该做些什么?
在花时间起草设计文档或编写代码之前,您应先验证机器学习是否是解决问题的正确方案。
正确。在花费时间起草设计文档或编写代码之前,您应先验证机器学习是否是解决问题的正确方案。
撰写设计文档,其中概述了机器学习用例以及实现该用例所需的基础设施。
在起草设计文档之前,您应先验证机器学习是否是解决问题的正确方案。
查找代码示例并开始实验,以确定模型是否可以做出良好的预测。
在编写任何代码之前,您应先验证机器学习是否是解决问题的正确方案。