机器学习 (ML) 被广泛认为是数字化转型的基石,但 ML 模型最容易受到数字环境变化动态的影响。 ML 模型由创建它们的时间段内可用的变量和参数定义和优化。
让我们看看一个基于垃圾邮件的通用模板创建的 ML 模型的案例,该模板当时可能正在激增。有了这个基线,机器学习模型就能够识别和阻止这类电子邮件,从而防止潜在的网络钓鱼攻击。然而,随着威胁形势的变化和网络犯罪分子变得更加聪明,更复杂和现实的电子邮件已经取代了旧的电子邮件。当面对这些较新的黑客攻击尝试时,基于前几年变量操作的机器学习检测系统将无法正确分类这些新威胁。这只是模型漂移的一个例子。
模型漂移(或模型衰减)是 ML 模型预测能力的退化。由于数字环境的变化,以及随之而来的概念和数据等变量的变化,模型漂移在 ML 模型中很突出,这仅仅是机器语言模型作为一个整体的性质。
假设所有未来变量将与创建 ML 模型时普遍存在的变量保持一致,这为 MLOps 中的模型漂移提供了肥沃的温床。
例如,如果模型在使用静态数据的静态环境中运行,那么它的性能不应降低,因为预测的数据来自与训练期间使用的相同分布。但是,如果模型存在于一个不断变化的动态环境中,涉及的变量太多,那么模型的性能也会有所不同。
模型漂移的类型
根据变量或预测变量的变化,模型漂移可以大致分为两种主要类型:分别是概念漂移和数据漂移。
- 概念漂移——当模型中目标变量的统计属性发生变化时,就会发生概念漂移。简而言之,如果模型变量的性质发生变化,那么模型就无法按预期运行。
- 数据漂移——最常见的模型漂移类型,发生在某些预测变量的统计属性发生变化时。随着变量的变化,模型会因此而失败。可能在一段时间内有效的模型在应用于不同的环境时可能不会看到相同的效果,这仅仅是因为数据没有针对不断变化的变量进行定制。
在概念漂移与数据漂移的较量中,上游数据变化对模型漂移的影响也很突出。 由于所有必需的数据都通过数据流水线移动。因此,未生成的特征和单位的变化(例如:测量、尺寸)也可能导致缺失值,这将阻碍 ML 模型运行。
解决模型漂移
在保持模型准确性方面,早期检测模型漂移至关重要。这是因为模型精度随着时间的推移而降低,并且预测值继续与实际值进一步偏离。这个过程越深入,对整个模型造成的不可替代的损害就越大。因此,尽早发现问题至关重要。 F1 值(评估模型的精度和召回能力的准确性)是一种快速检测是否有问题的方法。
同样,根据模型的目的,各种其他指标也会因情况而异。与为业务运营设计的 ML 模型相比,为医疗用途设计的 ML 模型需要一组不同的指标。但是,最终结果是相同的:只要指定的指标低于设定的阈值,就很有可能发生模型漂移。
然而,在某些情况下,无法测量模型的准确性——尤其是当难以获得预测数据和实际数据时,这仍然是扩展 ML 模型的主要挑战之一。在这种情况下,根据过去的经验重新拟合模型有助于为模型中何时可能发生漂移创建预测时间线。考虑到这一点,可以定期重新开发模型以处理即将发生的模型漂移。
保持原始模型完整也可以用作基线,从中可以创建新模型,从而改进和纠正先前基线模型的预测。
然而,当数据随时间变化时,基于当前变化的权重数据可能很重要。通过确保模型对最近的数据变化给予更多的权重,而不是对旧的数据变化给予较小的权重,ML 模型将变得更加健壮并构建一个简洁的小型数据库来管理未来可能与漂移相关的变化。
创建可持续的机器学习模型
没有包罗万象的方法来确保及时检测和解决模型漂移。无论是通过预定的模型再训练还是通过实时机器学习;创建一个可持续的机器学习模型本身就是一个挑战。
然而,MLOps 的出现简化了重新训练模型的过程,更频繁且间隔更短。它使数据团队能够自动化模型再训练,而触发该过程的最可靠方法是通过调度。通过自动再训练,公司可以在特定时间范围内使用新数据来强化现有数据流水线。好消息是它不需要任何特定的代码更改或流水线重建。但是,如果一家公司发现了以前在模型训练期间不可用的新特征或算法,那么在部署重新训练的模型时将其包括在内可以显着提高模型的准确性。
在决定需要重新训练模型的频率时,需要考虑几个变量。有时等待问题出现成为唯一真正的选择(特别是如果没有过去的历史可以继续工作)。在其他情况下,应根据与变量季节性变化相关的模式重新训练模型。然而,在这种变化的海洋中保持不变的是监控的重要性。无论时间表或业务领域如何;定期进行持续监测是并且永远是检测模型漂移的最佳方法。
虽然在数千个机器学习模型中管理、检测和解决模型漂移的挑战似乎令人生畏,但来自 Sigmoid 等服务提供商的机器学习运营解决方案可以为您提供正面面对这些问题所需的优势。 Sigmoid 的 MLOps 实践提供了数据科学、数据工程和 DataOps 专业知识的正确组合,这是实施和扩展机器学习以提供业务价值和构建有效的 AI 战略所需的。