持续机器学习系统的观察与应对策略
1. 外部世界事件对系统的影响
在传统的类或对象 API 中,很少会出现类似“世界杯期间行为未定义”这样的警告。但持续机器学习(Continuous ML)系统不同,它应该有类似的警示,因为生产环境中模型输入分布的任何变化,都可能导致系统行为变得不稳定或不可预测。大多数机器学习模型的理论保证,通常只适用于独立同分布(IID)的情况。
外部世界事件的变化来源广泛且难以预料,如体育赛事、选举夜、自然灾害、夏令时调整、天气变化、交通事故、网络中断、疫情、新产品发布等,这些都可能改变数据流,进而影响系统行为。虽然可能很难提前预知这些事件,但通过有效的监控策略,可以及时发出警报。
以一家毛线店为例,当一位重要政治人物在寒冷的日子里,戴着手工编织的棕色羊毛手套出现在国家电视台上时,棕色羊毛的搜索和购买量会突然激增。模型根据新的搜索和购买数据进行更新后,会对棕色羊毛产品给出极高的预测值。由于分数过高,这些产品会大量展示给用户,导致库存迅速售罄。之后,没有了购买行为,但搜索结果仍大量显示棕色羊毛产品。新的数据显示用户不再购买任何产品,模型过度补偿,给几乎所有产品都给出较低的分数,导致用户查询无结果或出现垃圾结果,系统陷入恶性循环。直到 ML Ops 团队发现问题,将模型回滚到之前表现良好的版本,并过滤掉异常数据后,重新启用训练。
然而,我们不能因为知道多种世界事件可能导致系统行为异常,就轻易将观察到的指标变化归结为外部事件,而忽略了管道错误或其他系统漏洞。
要使持续机器学习系统对分布变化完全鲁棒,理论上可以通过自适应地对训练数据进行加权,使训练数据的分布不受外界变化的影响。例如,创建一个倾向得分模型,显示给定示例在特定时间
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



