编辑推荐: |
风控是金融最常见的场景之一,本文将从业务和技术架构两个层面和大家探讨如何落地智能风控中台系统,希望阅读后会给您的学习带来收获。
本文来自于 DataFunTalk
,由火龙果软件Alice编辑、推荐。 |
|
分享主要围绕下面五点展开:
- 风控中台的设计背景
- 策略的全周期管理
- 模型的全周期管理
- 业务架构和能力原子化
- 应用案例
01 风控中台的设计背景
首先大风控体系或者风控中台的建设在本质上是服务于业务的,所以我们需要构建一个以业务为核心的风控中台体系。
以业务为核心的大风控体系应包含以下六个特点:
- 实时化:通过实时的分析、预测,不断迭代风控能力,进而做到对风险的实时防控。
- 精细化:指在风控业务线上,针对从头到尾的每个环节做到精细化的管理。
- 联防联控:由于对客户做多视角风险防控,需要相对精细化,联防联控是从横向扩展来看风险防控。通常风控中台会是集团化的业务,会涉及多条业务线的整体使用,因此打通数据和信息做到平台级的最大化的防控,也是非常重要的。
- 敏捷化:在欺诈或者风控场景中,通常需要我们快速反应,一个小时或者几分钟都会有较大影响,希望通过敏捷化能做到风控的快速反应。
- 智能化:传统的风控引擎一般是结合专家规则来实施。将专家规则结合AI算法去做整体预测是行业未来的趋势。
- 统一扩展:分为两个层面——对业务能力而言,要做到原子化;对IT系统或者整个中台系统而言,要做统一化的建设。
基于上述趋势,我们构建了完整的风控体系,两句话总结一下:一个叫做五全双核,一个叫数融优智。
五全指的是覆盖面。在建设全景风控中台时需要考虑不同子公司不同业务线的全覆盖,譬如普惠金融、信用卡业务等;针对集团各子公司,要考虑全部客户服务的全覆盖;对于大型集团需要考虑不同场景的全覆盖;在渠道角度也需要考虑诸如柜台、手机银行,网银、微信银行等渠道的全覆盖;最后从流程上需要就事前、事中、事后的流程全覆盖。
双核是指规则引擎和AI算法引擎融合的决策流的构建。此外,我们需要在应用架构层面做原子化和模块化来支持双核。最后要处理最关键的数据,数据部分主要是构建客户画像和风险画像两部分。用户画像部分需要整合所有渠道来构建全面画像;风险画像部分,则需把所有业务风险数据做融合。
通过建设完整的风控体系带来的核心价值是提升风险决策水平。其中一方面是建立闭环的风控策略体系,另一方面是决策引擎和AI算法的结合。接下来会做详细的分享。 02 策略的全周期管控
首先,是人机协同的概念。它表达的是专家规则和AI算法相结合的思想。在传统决策引擎,一般最先上的是规则。因为规则有以下好处:
- 简单的规则就能直观过滤掉头部风险,譬如过滤高风险区域的主体;
- 规则可解释性强,譬如格子衫和双肩包是程序员;
- 规则更易于做有区分度的统计信息,譬如使用简单规则就能覆盖百分之五六十的问题。
但只有规则覆盖是不够的,这时候就需要使用AI模型。因为从特征利用率来看,规则的利用特征少。因此,模型可以通过大量的特征深挖到长尾的风险用户。另外,模型可以基于大数据做挖掘,数据源相对更多。
在整个风控体系里,人工和机器学习分别适用不同的场景。譬如以下适合专家人工规则:
- 业务线冷启动时候,需要依赖专家经验;
- 诸如决策审批这类制度相关,更适合人工规则。
规则之外,以下则更适合机器学习,譬如:
- 需要对规则设定推荐阈值,譬如大于多少金额为风险,可用机器学习;
- 需要对规则组合做推荐时,譬如A加B或者B加C如何做规则组合,也可以通过机器学习来做;
- 其他,诸如规则之上机器学习还能做的工作,以及机器学习自身具有图算法的能力,都可以加以利用。
从闭环来讲的话,策略的闭环和机器学习的闭环很像。策略流程是制定策略,测试、上线,以及监控优化,最后再把优化过的策略进行测试上线的一个闭环。机器学习则首先是产生一个行为,然后会对行为有反馈,基于这些行为数据和反馈数据进行模型的学习,模型学习之后运用到线上去。由此可以看出这两个圈是非常相似的。
接着来看下策略的管理体系。(1)在策略配置上,会做规则评分卡或者决策表、决策流,并支持鼠标点选的可视化和代码开发联合的方式进行配置;(2)在策略版本管理上,对策略做版本区分;(3)策略测试阶段,会经过一系列的ABTest来做发布;(4)测试发布之后会进行整体的一个策略的效果监控。
首先,策略的基石是指标的计算,基于指标可以做一些规则,在这之上再做风控独有的评分卡和决策表等等。机器学习的模型,也能从指标或者特征计算上受益。定义完策略组件后即可上线决策流。
从指标定义看,系统内置了部分指标加工函数,诸如均值、大小,或者通过身份证取年龄、性别或者前多少位,或者一段时间的消费金额共计多少等等计算。
此外,我们还定义了一套DSL来去实现。其中一部分是内建函数,另一部分,则在内置函数无法满足时,支持从外部加载插件的方法来热加载到线上。另一种更直观的方式,是通过已定义的DSL来定义没有内置的函数上线。如上图这个例子,我们先定义了步长列表,然后通过一个函数做列表处理,图中展示了我们是如何遍历表达式语法树的(目前来讲我们单个的表达式还是通过串行计算,后面我们可以通过并行来进一步优化提高执行速度。)
在上面提及的指标定义是通过DSL实现,那么在定义指标后,我们做指标阈值设定或者指标组合。这里可以使用可视化的操作。如图我们定义了比较复杂的与(AND)和或(OR)关系来将指标组合成一个规则,并在规则上面进一步的组合,变成规则包来进行使用。评分卡的设置也有友好的可视化操作。在做完DSL定义和策略制定后,可以将策略组合的方式形成决策流。
在整个决策流中会区分不同的类型节点。最开始是输入节点,然后会有转换节点对变量做简单转换,再到规则节点,以及也可以应用机器学习模型的节点,后面是决策表、分流等定义完后由终止节点输出最终结果。
策略定义后用于保证策略符合预期的策略测试。其中包含接口的单笔测试、批量集成测试(可使用批量历史数据回测)、冠军挑战者(用历史数据挑战线上规则,看能否比得过)、线上沙盒测试,最后会得到一份对上线策略和线上策略全方位评估的测试报告,来供人工判断是否适合上线。
在上线阶段需要一个灰度发布的过程。这个过程会通过随机调流量,按照条件规则执行灰度发布,测完整个策略后提供便捷化策略打包服务来一键导入生产环境。最后是流量的ABTest,这里我们支持并行多组的分流ABTest,并可以作对比分析。
最后,是策略效果的监控。其中包含业务监控(譬如通过风险地图做放款量等)、也有统计报表(譬如命中率、拦截率等统计)、并对策略细分指标和规则看是否有异常情况、最后做异常标记,并由人工确认是否是欺诈案件。标记结果也会用于后期机器学习算法的迭代优化中。
以上就是策略的全生命周期管理。 03 模型的全周期管控
以下我们看下建模的全周期管理。
从建模角度来看分为数据引入,拆分训练集验证集测试集,然后进行特征工程,以及算法选择,超参搜索,到最后的评估报告。不过有时候我们很难把产品策略部署到客户侧并且根据客户数据进行定制化建模,所以这里我们用到了AutoML。
在AutoML中涉及自动数据拼表(把多张客户数据表处理成大宽表)、自动特征工程、自动算法选择、自动调参,以及最后给出评估报告的一整套建模流程。另外,在建模完成后,针对效果随着时间迁移会衰退而需要更新迭代的情况,我们提供全量自学习和增量在线学习两种方式来做优化和纠偏。
先从业务角度定义诸如反欺诈等业务问题,然后由数据科学家或者IT做数据采集,再交由算法科学家做特征工程,接着模型训练和评估。整套流程是需要反复地选择数据、特征和模型,上线阶段还涉及算法和工程问题,比较耗时耗力。而AutoML可以帮助覆盖掉流程中的数据采集、特征工程、模型训练和模型评估的大部分工作。
特征工程如何实现自动挖掘?基于多表时空的特征挖掘算法分为三步:
- 第一步是自动多表拼接。针对一对一的表可以直接拼接;对于一对多的表,可对副表搜索最近一条拼接或者按配置进行搜索拼接。
- 第二步是自动特征工程。特征生成包含最原始的特征,做一阶运算变换,或者对时序特征判断是否为周末等,以及离散特征统计窗口内特征出现次数等。譬如交易流水表,可以通过用户的交易时间分组排序,然后做聚合生成单月的交易次数或交易金额等衍生特征;也可对诸如性别和学历的离散特征做组合拼接等。
- 第三步就是特征选择。把时序聚合特征作为候选特征,然后去根据验证计算的AUC从候选的特征里选择TopK的特征。
04 业务架构和能力原子化
从业务架构上看也可以分为三个部分:数据层、平台层和应用层。
- 数据层,可以将行内交易还款数据和诸如人行征信的行外数据做融合。存储相关则需要不同的数据库,譬如内存时序数据库、关系型数据库、图数据库,以及HDFS等分布式存储数据;
- 平台层,其中包含管理指标计算加工的指标中心、管理决策流的决策服务中心、以及下面的策略中心和模型中心。其中策略中心用来完成策略组装、版本的管理等。模型中心主要是AutoML的特征选择、调参等模型相关的工作。此外,还有一块是图计算中心,用于在关联图谱上通过图计算来辅助线上业务。
- 应用层,主要是通过上述组件来支持交易反欺诈等不同的业务模块。
在业务能力原子化这块,按照技术组件的角度也可以分为三层,基础设施层、服务层和业务模块层。
- 最下面是基础设施层。其中比较重要的是数据存储以及容器调度。在容器调度中,由于原生K8S的调度能力不足以支撑机器学习服务和大数据的运算,我们基于K8S做了调度上的优化。
- 中间是基础服务层。其中有数据计算引擎,譬如前面提到的DSL以及内置函数的指标定义,其中对于时间跨度比较大的实时流特征,会需要离线跑批任务去计算。然后是离线和在线的服务管理。其中离线包含诸如定时跑批任务、任务编排、任务监控以及执行。在线服务包含灰度发布,辅助做ABTest的流量网关,以及针对多个在线服务的K8S弹性伸缩,和可视化的服务编排,还有AutoML的模型管理,以及保证数据质量的数据管理模块等。
- 最上面是业务模块层。会有数据中心来管理所有的三方数据,业务数据以及需要人来操作上传、删除的特殊数据,诸如黑白名单等等。策略组件和策略中心则通过可视化的界面把这些组件串联起来。场景中心则是例如交易反欺诈等业务场景创建的入口,以及业务监控报表。另一个比较重要的是策略实验室,会提供指标阈值以及规则组合的能力。
通过三层的能力划分实现的能力原子化,无论对于我们的产品本身还是对客户已有的系统融合都是有益处的。 05 应用案例
最后分享两个例子。
其中一个是硬实时交易反欺诈。这个案例主要体现了性能优势,笔均处理时长只有6毫秒,然后TP99可以控制到20毫秒内。另一方面,从风控能力上看,特征维度比传统风控要大很多,且使用了模型加规则的双引擎。我们之所以能在双引擎上实现高性能,主要得益于我们的内存时序数据库,这也是内部的重要模块。
另一个例子是某全国股份制银行的全渠道反欺诈系统项目,其中涉及规则500+,实时计算指标2000+。在业务效果上,系统每月帮助行方发现拦截高危风险近1万笔。左侧是接入某股份制银行之后的架构。
|