生产环境测试模型的4种方法

文摘   2024-11-13 09:12   辽宁  

尽管在本地(通过验证集和测试集)对机器学习模型进行了严格测试,但立即用新模型替换旧模型仍不是一个好想法。

一种更可靠的策略是在生产环境中测试模型(基于真实的实时数据)。虽然这听起来有些冒险,但现实中经常这么做,而且并不复杂。下图展示了四种常见策略:

● 当前模型称为“旧模型”(legacy model)。

● 新模型称为“候选模型”(candidate model)。


#1)A/B测试

● 将传入的请求不均匀地分配给旧模型和候选模型。

● 故意限制候选模型的暴露程度,以避免潜在风险。因此,发送到候选模型的请求数量一定要少。


2#)金丝雀测试(Canary Testing)

● 在 A/B 测试中,由于流量被随机重定向到任一模型,而不考虑用户特征,因此可能会影响所有用户。

● 在金丝雀测试中,候选模型首先向生产环境中的一小部分用户发布,并逐步向更多用户推广。

像OpenAI发布新模型时就采用这种策略。

3#)交错测试

● 这涉及将多个模型的预测结果混合在响应中。

● 以亚马逊的推荐引擎为例。在交错部署中,主页上显示的推荐一部分可能来自旧模型,而另一部分则来自候选模型。


4#)影子测试(Shadow Testing)

● 以上所有技术都会影响一些(或所有)用户。

● 影子测试(或暗启动)让我们在不影响用户体验的情况下,在生产环境中测试新模型。

● 候选模型与现有的旧模型一起部署,并像旧模型一样处理请求。然而,输出不会发送回用户,而是被记录下来,供稍后使用,以便与旧模型进行性能对比。

● 我们明确地部署候选模型,而不是离线测试,因为生产环境很难在离线环境中复制。

影子测试提供了在生产环境中无风险测试候选模型的机会。

人工智能大讲堂
专注人工智能数学原理和应用
 最新文章