生产型机器学习系统:静态训练与动态训练

一般来说,您可以通过以下两种方式之一来训练模型:

  • 静态训练(也 离线训练)是指您训练模型 仅一次。然后,使用经过训练的同一模型一段时间。
  • 动态训练(也包括 称为在线训练)意味着您训练模型 或者以至少频繁的频率您通常服务最多 最近训练的模型。
图 2. 生面团会制作三块相同的面包。
图 2. 静态训练。训练一次;提供相同的构建模型 。(图片由 Pexels 和 fancycrave1 拍摄。)

 

图 3. 生面团制作的面包略有不同
            。
图 3. 动态训练。经常重新训练;服务最多 生成新模型。(图片由 Pexels 和 Couleur 提供。)

 

表 1. 主要优缺点。

静态训练 动态训练
优点 更简单。您只需开发和测试一次模型即可。 适应性更强。您的模型将跟上 特征与标签之间的关系的变化。
缺点 有时则是风格鲜明。如果特征与 标签会随时间的推移而发生变化,则模型的预测结果会降低。 工作量更大。您必须构建、测试和发布新产品 始终保持开启状态

如果您的数据集确实不会随时间变化,请选择静态训练,因为 相较于动态训练,它的创建和维护成本更低。但是,数据集 往往会随着时间的推移而发生变化,即便是那些您认为 例如海平面要点总结:即使是静态图片, 训练时,仍然必须监控输入数据的变化。

例如,假设一个模型经过训练, 会买花的。由于时间压力,该模型仅训练一次 使用 7 月和 8 月买花行为数据集进行预测。 模型可以正常使用几个月,但之后的预测很糟糕 情人节前后,因为 用户行为在鲜花盛开期间发生巨大变化。

如需详细了解静态和动态训练,请参阅 管理机器学习项目 课程。

练习:检查您的掌握程度

以下关于以下哪项表述是正确的? 静态(离线)训练?
模型会在有新数据到达时进行更新。
实际上,如果离线训练,模型就无法 并在新数据到达时纳入其中。这可能会导致模型 如果您要从中学习的分布 会随着时间推移而发生变化
您可以先验证模型,然后再将其应用到生产中。
是的,离线训练提供了充分的机会来验证模型 然后再将模型引入生产环境。
离线训练需要较少的训练作业监控 相比在线训练。
一般来说,训练时的监控要求比较适中 用于离线训练,这样可以避免 注意事项。不过,您训练模型的频率越高, 您在监控方面投入的资金就越高。您 还需要定期进行验证,以确保 (及其依赖项)不会对模型质量产生不利影响。
几乎不需要监控输入数据, 推理时间。
与直觉相反,您确实需要在投放时监控输入数据 。如果输入分布发生变化,那么模型的 预测可能变得不可靠。例如,一个模型 我们仅使用夏季服装数据进行训练,该数据突然被用于 预测冬季的服装购买行为。
下列哪项说法是正确的? 动态(在线)训练?
模型会在有新数据到达时进行更新。
这是在线培训的主要优势:则可以避免 允许模型使用新数据进行训练, 。
几乎不需要对训练作业进行监控。
实际上,您必须持续监控训练作业, 健康状况良好,运行正常。您还需要 支持基础设施,例如回滚模型的能力 以防训练出现问题, 例如有缺陷的作业或输入数据损坏。
几乎不需要监控输入数据, 推理时间。
与静态的离线模型一样, 监控动态更新模型的输入。您 不太可能受到较大的季节性影响, 对输入数据进行大幅更改(例如,将上游数据源 仍然可能导致预测不可靠。