9.26. AI监控

算法模型的监控指标体系(后面简称监控体系),就是将ψ务数据进行采集,同时用可视化图表展现给用户,并且提供相应的告警功能。

一般来说,当业务线初建的时候,我们可以不用考虑太多监控体系的需求,因为我们需要把精力放到怎么让业务“活下去”。但是当业务“活”下来之后,我们就要开始考虑搭建监控体系,让模型能够“活得更好”。那么,监控体系是怎么做到的呢?

具体来说,通过监控体系我们可以知道:

  • 当前这条业务的现状和过去业务数据的对比

  • 当前业务是否正常,可能存在的问题,并且通过这些问题追溯原因

  • 未来业务的趋势,可能的完善方向

9.26.1. 例子

一家创业公司,这个公司是给银行、互金机构提供风控模型的。它提供的产品形式是API接口,你可以理解为是,银行给我们一个用户的手机号,我们告诉银行这个用户的风险分是多少。银行会结合我们提供的风险分和其他的数据对用户的风险进行二次判断,来决定是否给用户进行放款。

我们遇到的问题是,有时候接口会突然报异常,模型效果会逐步下降,但是产品侧却抓不到这样的数据,模型侧也没有对模型进行监控。最后,客户反过来投诉我们,这对公司的口碑造成了影响。

  • 首先是明确项目的业务背景,这个很容易得出,就是我们的內部数据监控和告警出现了问题。

  • 其次是明确我们的目标用户,以及要解决的问题。我们的目标用户应该是产品经理自己,以及B端的商务运营同学。要解决的问题就是及时发现模型上的问题,在客户发现之前尽快修复、减少客诉。同时归纳这些问题,反哺模型和研发侧,对技术人员提出更高的要求。

  • 最后就是去解决问题了。基于我们的背景和面对的问题,产品的定位就很清楚了:给产品和运营同学提供套,能够査看所有模型,冋时监控模型性能指标和稳定性指标,并且可以做到实时报警的工具。这个工具需要实现的功能列表梳理出来之后是下面这样的

../_images/function_table.png

Fig. 9.26.1 功能列表

在这里,比较重要的监控功能点是模型全景,也就是监控首页或者说是总览页。虽然它不需要给出具体的模型指标,但要展示岀都有哪些模型在用,调用过程中是否有异常,这方便我们根据异常下钻到明细信息另一个重要的监控功能点就是模型性能指标和稳定性指标,这需要梖据模型的类型,分别去展示模型近期的性能指标波动图,在图中需要展示模型的正常范围值。这个正常范围值,我们是根据实际业务定义的,比如我们对于KS要求比较高,所以把范围值定义在25-40之间。

除此之外,模型输岀结果指标也是一个重要的监控功能点。为什么要监控模型的输岀结果指标呢?我们之前就因为没监控模型输岀而岀现了大问题。当时,模型给到客户的产品输岀范围是[0,100],但模型底层依赖的某个数据未更新,这让模型输岀了大于100的数据。同时,在工程部署时候,模型也没有对输岀值进行二次处理,这就导致客户最终拿到的是不合理的结果。 因此,我们不但要监控模型的输岀,也要对不合理的输岀及时告警。

不仅如此,我们还要注意不同指标的监控周期也不同。比如,我们的信用分模型是按月打分,所以,相应的KS、AUC、PS指标也都要按月更新。这需要结合我们模型的实际情况进行设置。