生产环境测试模型的四种方法
尽管在本地(通过验证集和测试集)对机器学习模型进行了严格测试,但立即用新模型替换旧模型仍不是一个好想法。
一种更可靠的策略是在生产环境中测试模型(基于真实的实时数据)。虽然这听起来有些冒险,但现实中经常这么做,而且并不复杂。下图展示了四种常见策略:
● 当前模型称为“旧模型”(legacy model)。
● 新模型称为“候选模型”(candidate model)。
#1)A/B测试
● 将传入的请求不均匀地分配给旧模型和候选模型。
● 故意限制候选模型的暴露程度,以避免潜在风险。因此,发送到候选模型的请求数量一定要少。
2#)金丝雀测试(Canary Testing)
● 在 A/B 测试中,由于流量被随机重定向到任一模型,而不考虑用户特征,因此可能会影响所有用户。
● 在金丝雀测试中,候选模型首先向生产环境中的一小部分用户发布,并逐步向更多用户推广。
像OpenAI发布新模型时就采用这种策略。
3#)交错测试
● 这涉及将多个模型的预测结果混合在响应中。
● 以亚马逊的推荐引擎为例。在交错部署中,主页上显示的推荐一部分可能来自旧模型,而另一部分则来自候选模型。
4#)影子测试(Shadow Testing)
● 以上所有技术都会影响一些(或所有)用户。
● 影子测试(或暗启动)让我们在不影响用户体验的情况下,在生产环境中测试新模型。
● 候选模型与现有的旧模型一起部署,并像旧模型一样处理请求。然而,输出不会发送回用户,而是被记录下来,供稍后使用,以便与旧模型进行性能对比。
● 我们明确地部署候选模型,而不是离线测试,因为生产环境很难在离线环境中复制。
影子测试提供了在生产环境中无风险测试候选模型的机会。
本文转载自公众号人工智能大讲堂
标签
赞
收藏
回复
回复
相关推荐