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

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

  • 静态训练(也称为离线训练)是指您只训练一次模型。然后,您会在一段时间内提供同一经过训练的模型。
  • 动态训练(也称为在线训练)是指您持续或至少频繁地训练模型。您通常会提供最近训练的模型。
图 2. 用原始面团制作出三个完全相同的面包。
图 2. 静态训练。训练一次;多次提供相同的构建模型。(图片来自 Pexels 和 fancycrave1。)

 

图 3. 每次使用生面团制作面包,都会得到略有不同的面包。
图 3. 动态训练。频繁重新训练;提供最新构建的模型。(图片来自 Pexels 和 Couleur。)

 

表 1. 主要优点和缺点。

静态训练 动态训练
优点 更简单。您只需开发和测试一次模型即可。 更具适应性。您的模型将及时跟踪特征与标签之间关系的任何变化。
缺点 有时会更旧。如果特征与标签之间的关系随时间而变化,模型的预测结果将会下降。 工作量更多。您必须持续构建、测试和发布新产品。

如果您的数据集确实不会随时间而变化,请选择静态训练,因为与动态训练相比,静态训练的创建和维护成本更低。不过,数据集往往会随时间而变化,即使是您认为恒定不变的特征(例如海平面)也是如此。要点:即使使用静态训练,您仍然需要监控输入数据是否发生变化。

例如,假设有一个经过训练的模型,用于预测用户购买花卉的概率。由于时间紧迫,我们仅使用 7 月和 8 月的花卉购买行为数据集训练了一次模型。该模型在几个月内运行良好,但在情人节前后做出的预测非常糟糕,因为在花卉节日期间,用户行为会发生巨大变化。

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

练习:检查您的理解情况

以下关于静态(离线)训练的两项陈述是正确的?
模型会在收到新数据时进行更新。
在推理时,对输入数据的监控工作非常少。
与在线训练相比,离线训练对训练作业的监控要求更低。
您可以在将模型应用于生产环境之前对其进行验证。
以下哪个关于动态(在线)训练的表述是正确的?
在推理时,对输入数据的监控工作非常少。
模型会在收到新数据时进行更新。
您几乎无需监控训练作业。