机器学习模型当然只在有效时才是实用的。事实证明,要真正回答这个问题,需要进行非常详细的工作——首先我们必须决定如何量化机器学习模型的有效性,以及我们将如何根据目标结果来评估模型性能。这通常涉及识别我们试图创建的效果,并在不同子集(或切片)上利用代表性查询或用例测量它。第5章将对此进行更详细的介绍。
一旦我们确定了要评估什么,就应该进行离线评估。考虑到这一点,最简单的方法是进行一组我们认为具有代表性的查询并分析结果,将返回结果与一组“正确”或“真实”的答案进行比较。这将帮助我们确认模型在生产环境中的工作状况。当我们对模型的基本性能有信心的时候,无论是实时发布还是灰度发布,我们都可以进行初始集成。在 实时发布 中,该模型会占用实时生产流量,这会影响到网站和相关系统等。如果我们足够小心和幸运,那么只要监控好关键指标以确保用户体验不会受到损害,这就是一个合理的步骤。
灰度发布 包括查询模型并记录结果,但当用户看到它时,不会在网站上积极地使用它。这可能让我们对模型与We b应用程序的技术集成充满信心,但对模型的质量可能不会有太多信心。
最后,还有一个中间方案:我们可以为应用程序构建
有时
能让
一小部分
用户使用模型的功能。虽然选择这一小部分用户是一个更高等级的话题,超出了本书范围
,但总体想法很简单:在一些查询中尝试该模型,并同时在集成与模型质量方面获得信心。
一旦确信该模型不会损害用户体验,并且还会帮助用户(以及我们的收入,希望如此!),我们就差不多准备好发布了。但首先,我们仍需要关注监控、测量和持续改进。