如何按时交付机器学习项目:机器学习工程循环简介
作者头像
  • 郑谊
  • 2018-10-16 16:29:02 2

随着机器学习(ML)在各行各业中的重要性日益增加,对机器学习工程师(MLE)的需求也显著上升。MLE将机器学习技术与软件工程专长结合起来,致力于寻找能够高效运行的应用程序模型,并解决实施过程中遇到的各种问题——从搭建训练环境到部署模型。

面对这样的需求,各种在线资源纷纷涌现,旨在培训工程师们构建ML模型,并解决他们遇到的技术挑战。然而,对于新成立的ML团队而言,最大的挑战之一就是让习惯于传统软件工程的工程师们保持高水平的工作效率。

这一挑战的核心在于ML模型开发初期的高度不确定性。由于难以预知模型在特定训练周期后的表现,更不用说通过调整参数或不同的建模假设能达到何种性能,这就增加了工作的复杂性。

许多职业领域都会遇到类似的问题,比如软件和商业开发者、初创公司的产品市场匹配以及在信息有限情况下操作的飞行员。这些职业都采用了一些通用框架来应对不确定性,从而提高工作效率,如敏捷开发、Scrum、精益创业和美国空军的OODA循环理论。MLE也可以借鉴这些框架来更好地应对不确定性,迅速提供高质量的产品。

ML工程循环

我们将介绍一种针对ML工程的“OODA循环”概念:ML工程循环(ML Engineering Loop)。这一循环包括分析、选择方法、实现和度量四个步骤,可以帮助工程师快速找到最佳模型并适应不确定性。

成功标准

成功的标志是在给定的约束条件下交付高性能的模型,例如在内存使用、推理时间等方面受到限制的情况下,实现高预测精度。性能通常由与最终产品成功最相关的指标定义,例如准确性、速度或输出多样性。这里,我们选择“错误率”最小化作为衡量标准。

入门准备

进行ML工程循环之前,应从一个包含最少不确定性的最小实现开始。通常,我们希望尽快建立一个基本系统,以评估其性能并开始迭代。这通常意味着设置训练、开发和测试数据集,并让一个简单的模型运行。

提示

  • 创建有效的测试集:确保测试集反映产品或业务需求;定期调整测试集以适应项目变化。
  • 管理开发和测试集的数据标签,确保准确无误。
  • 了解人类在测试集上的表现,或现有系统的性能,有助于设定合理的性能目标。

开发和训练集

开发集用于测试性能替代品,调整超参数,因此应具有与测试集相同的分布,但最好取自不相交的用户或输入组以避免数据泄露。

分析阶段

分析阶段类似于医疗诊断,目标是找出限制模型性能的主要因素。选择合适的诊断工具需要经验和直觉,常见的诊断方法包括查看训练、开发和测试集的性能数据。

通过上述步骤,ML工程师可以有效地管理和优化他们的工作流程,从而提高工作效率和产品质量。

    本文来源:图灵汇
责任编辑: : 郑谊
声明:本文系图灵汇原创稿件,版权属图灵汇所有,未经授权不得转载,已经协议授权的媒体下载使用时须注明"稿件来源:图灵汇",违者将依法追究责任。
    分享
机器学习交付按时循环简介项目如何工程
    下一篇