外部数据补充。比如征信场景,输入是一个手机号。征信服务提供商就要在数据库中收集这个手机相关信息。再对收集到的数据进行预测。
实现方式有主要两种,数据收集可以在前端完成或者后端,可以考虑实现难度和解耦承担来权衡。
模式B:
所需数据全部由外部传入。基础服务一般使用这种架构。比如自然语言,图片处理,语音识别。
在线学习:
只有生成模型才可以在线学习。不是本文重点就不展开说明了。
模型治理:
模型质量监控:
需要设定一些业务指标,通过阈值,历史数据环比来进行监控和预警。
及时指标:响应时间,通过率,点击率,转化率
长期指标:反馈周期很长的指标。比如违约率,都需要2个月以后才能判断是否违约。所以数据库需要保留,贷款客户和模型版本的关系。
响应时间:
根据模型算法不同,处理时间10ms到10分钟不等。
建议采用异步服务架构模式,一般可以考虑api-消息队列来处理。预测解决通过通知接口或者轮询获取
模型版本控制:
PMML有相应的版本说明。如果用原始模型文件需要自己添加一些机制,来处理。比如计算模型文件hash值。
降级方案:
如果模型一旦出现问题,很难debug. 而且修复时候会很长。只考虑回滚或下线。需要和业务方明确这一点并提前做好预案。