机器学习项目会分阶段进行,每个阶段都有特定的目标、任务和成果。清楚了解机器学习开发阶段有助于确定工程责任、管理利益相关者的预期,并高效分配资源。
成功完成各个阶段(通常是迭代式地完成)是设计、组装和构建可长期解决业务问题的机器学习模型的基础。
概括来讲,实现机器学习解决方案包括以下阶段:
- 构思和规划
- 实验
- 流水线构建
- 生产化
构思和规划
在构思和规划阶段,您需要从机器学习解决方案的角度来阐述问题,并估计项目的可行性。
- 目标:确定机器学习是否是解决问题的最佳方案。
- 任务:分析业务问题,了解项目的限制条件。
- 结果:一份设计文档,概述了如何通过机器学习解决方案解决问题。
实验
实验是机器学习的核心。在此阶段,您将验证机器学习解决方案是否可行。寻找解决方案是一个迭代过程。在找到可解决问题的特征、超参数和模型架构的正确组合之前,尝试数百次实验并不罕见。
- 目标:构建可解决业务问题的模型。
- 任务:对特征、超参数和模型架构进行实验。
- 结果:质量足够好,可以投入生产环境的模型。
流水线构建和生产化
在流水线构建和生产化阶段,您将构建用于处理数据、训练模型和提供预测的流水线。然后,您将模型和流水线部署到生产环境中,并提供必要的监控和日志记录基础架构。
- 目标:构建并实现用于在生产环境中扩缩、监控和维护模型的基础设施。
- 任务:构建流水线,以自动执行许多任务,从而使生产环境中的模型保持最新状态。
- 成果:经过验证的机器学习流水线。
端到端机器学习工作流
下图展示了整个端到端机器学习工作流,列出了每个阶段及其任务和结果:
图 1. 机器学习工作流的四个主要阶段。
注意事项
每个阶段都存在多重挑战。 如果不了解这些因素并制定相应计划,可能会导致错过截止日期、工程师感到沮丧,以及项目失败。
检查您的理解情况
您刚刚了解了一些可能对您的产品有益的机器学习技术。接下来你应该做些什么?
在花时间起草设计文档或编写代码之前,您应先验证机器学习是否是解决问题的正确方案。
正确。在花费时间起草设计文档或编写代码之前,您应先验证机器学习是否是解决问题的正确方案。
撰写设计文档,其中概述了机器学习用例以及实现该用例所需的基础设施。
在起草设计文档之前,您应先验证机器学习是否是解决问题的正确方案。
查找代码示例并开始实验,以确定模型是否可以做出良好的预测。
在编写任何代码之前,您应先验证机器学习是否是解决问题的正确方案。