張陳丞:第四范式智能風控中臺架構設計及應用
分享主要圍繞下面五點展開:
- 風控中臺的設計背景
- 策略的全周期管理
- 模型的全周期管理
- 業(yè)務架構和能力原子化
- 應用案例
01風控中臺的設計背景
首先大風控體系或者風控中臺的建設在本質上是服務于業(yè)務的,所以我們需要構建一個以業(yè)務為核心的風控中臺體系。
以業(yè)務為核心的大風控體系應包含以下六個特點:
- 實時化:通過實時的分析、預測,不斷迭代風控能力,進而做到對風險的實時防控。
- 精細化:指在風控業(yè)務線上,針對從頭到尾的每個環(huán)節(jié)做到精細化的管理。
- 聯(lián)防聯(lián)控:由于對客戶做多視角風險防控,需要相對精細化,聯(lián)防聯(lián)控是從橫向擴展來看風險防控。通常風控中臺會是集團化的業(yè)務,會涉及多條業(yè)務線的整體使用,因此打通數(shù)據(jù)和信息做到平臺級的最大化的防控,也是非常重要的。
- 敏捷化:在欺詐或者風控場景中,通常需要我們快速反應,一個小時或者幾分鐘都會有較大影響,希望通過敏捷化能做到風控的快速反應。
- 智能化:傳統(tǒng)的風控引擎一般是結合專家規(guī)則來實施。將專家規(guī)則結合AI算法去做整體預測是行業(yè)未來的趨勢。
- 統(tǒng)一擴展:分為兩個層面——對業(yè)務能力而言,要做到原子化;對IT系統(tǒng)或者整個中臺系統(tǒng)而言,要做統(tǒng)一化的建設。
基于上述趨勢,我們構建了完整的風控體系,兩句話總結一下:一個叫做五全雙核,一個叫數(shù)融優(yōu)智。
五全指的是覆蓋面。在建設全景風控中臺時需要考慮不同子公司不同業(yè)務線的全覆蓋,譬如普惠金融、信用卡業(yè)務等;針對集團各子公司,要考慮全部客戶服務的全覆蓋;對于大型集團需要考慮不同場景的全覆蓋;在渠道角度也需要考慮諸如柜臺、手機銀行,網(wǎng)銀、微信銀行等渠道的全覆蓋;最后從流程上需要就事前、事中、事后的流程全覆蓋。
雙核是指規(guī)則引擎和AI算法引擎融合的決策流的構建。此外,我們需要在應用架構層面做原子化和模塊化來支持雙核。最后要處理最關鍵的數(shù)據(jù),數(shù)據(jù)部分主要是構建客戶畫像和風險畫像兩部分。用戶畫像部分需要整合所有渠道來構建全面畫像;風險畫像部分,則需把所有業(yè)務風險數(shù)據(jù)做融合。
通過建設完整的風控體系帶來的核心價值是提升風險決策水平。其中一方面是建立閉環(huán)的風控策略體系,另一方面是決策引擎和AI算法的結合。接下來會做詳細的分享。
02策略的全周期管控
首先,是人機協(xié)同的概念。它表達的是專家規(guī)則和AI算法相結合的思想。在傳統(tǒng)決策引擎,一般最先上的是規(guī)則。因為規(guī)則有以下好處:
- 簡單的規(guī)則就能直觀過濾掉頭部風險,譬如過濾高風險區(qū)域的主體;
- 規(guī)則可解釋性強,譬如格子衫和雙肩包是程序員;
- 規(guī)則更易于做有區(qū)分度的統(tǒng)計信息,譬如使用簡單規(guī)則就能覆蓋百分之五六十的問題。
但只有規(guī)則覆蓋是不夠的,這時候就需要使用AI模型。因為從特征利用率來看,規(guī)則的利用特征少。因此,模型可以通過大量的特征深挖到長尾的風險用戶。另外,模型可以基于大數(shù)據(jù)做挖掘,數(shù)據(jù)源相對更多。
在整個風控體系里,人工和機器學習分別適用不同的場景。譬如以下適合專家人工規(guī)則:
- 業(yè)務線冷啟動時候,需要依賴專家經(jīng)驗;
- 諸如決策審批這類制度相關,更適合人工規(guī)則。
規(guī)則之外,以下則更適合機器學習,譬如:
- 需要對規(guī)則設定推薦閾值,譬如大于多少金額為風險,可用機器學習;
- 需要對規(guī)則組合做推薦時,譬如A加B或者B加C如何做規(guī)則組合,也可以通過機器學習來做;
- 其他,諸如規(guī)則之上機器學習還能做的工作,以及機器學習自身具有圖算法的能力,都可以加以利用。
從閉環(huán)來講的話,策略的閉環(huán)和機器學習的閉環(huán)很像。策略流程是制定策略,測試、上線,以及監(jiān)控優(yōu)化,最后再把優(yōu)化過的策略進行測試上線的一個閉環(huán)。機器學習則首先是產(chǎn)生一個行為,然后會對行為有反饋,基于這些行為數(shù)據(jù)和反饋數(shù)據(jù)進行模型的學習,模型學習之后運用到線上去。由此可以看出這兩個圈是非常相似的。
接著來看下策略的管理體系。(1)在策略配置上,會做規(guī)則評分卡或者決策表、決策流,并支持鼠標點選的可視化和代碼開發(fā)聯(lián)合的方式進行配置;(2)在策略版本管理上,對策略做版本區(qū)分;(3)策略測試階段,會經(jīng)過一系列的ABTest來做發(fā)布;(4)測試發(fā)布之后會進行整體的一個策略的效果監(jiān)控。
首先,策略的基石是指標的計算,基于指標可以做一些規(guī)則,在這之上再做風控獨有的評分卡和決策表等等。機器學習的模型,也能從指標或者特征計算上受益。定義完策略組件后即可上線決策流。
從指標定義看,系統(tǒng)內置了部分指標加工函數(shù),諸如均值、大小,或者通過身份證取年齡、性別或者前多少位,或者一段時間的消費金額共計多少等等計算。
此外,我們還定義了一套DSL來去實現(xiàn)。其中一部分是內建函數(shù),另一部分,則在內置函數(shù)無法滿足時,支持從外部加載插件的方法來熱加載到線上。另一種更直觀的方式,是通過已定義的DSL來定義沒有內置的函數(shù)上線。如上圖這個例子,我們先定義了步長列表,然后通過一個函數(shù)做列表處理,圖中展示了我們是如何遍歷表達式語法樹的(目前來講我們單個的表達式還是通過串行計算,后面我們可以通過并行來進一步優(yōu)化提高執(zhí)行速度。)
在上面提及的指標定義是通過DSL實現(xiàn),那么在定義指標后,我們做指標閾值設定或者指標組合。這里可以使用可視化的操作。如圖我們定義了比較復雜的與(AND)和或(OR)關系來將指標組合成一個規(guī)則,并在規(guī)則上面進一步的組合,變成規(guī)則包來進行使用。評分卡的設置也有友好的可視化操作。在做完DSL定義和策略制定后,可以將策略組合的方式形成決策流。
在整個決策流中會區(qū)分不同的類型節(jié)點。最開始是輸入節(jié)點,然后會有轉換節(jié)點對變量做簡單轉換,再到規(guī)則節(jié)點,以及也可以應用機器學習模型的節(jié)點,后面是決策表、分流等定義完后由終止節(jié)點輸出最終結果。
策略定義后用于保證策略符合預期的策略測試。其中包含接口的單筆測試、批量集成測試(可使用批量歷史數(shù)據(jù)回測)、冠軍挑戰(zhàn)者(用歷史數(shù)據(jù)挑戰(zhàn)線上規(guī)則,看能否比得過)、線上沙盒測試,最后會得到一份對上線策略和線上策略全方位評估的測試報告,來供人工判斷是否適合上線。
在上線階段需要一個灰度發(fā)布的過程。這個過程會通過隨機調流量,按照條件規(guī)則執(zhí)行灰度發(fā)布,測完整個策略后提供便捷化策略打包服務來一鍵導入生產(chǎn)環(huán)境。最后是流量的ABTest,這里我們支持并行多組的分流ABTest,并可以作對比分析。
最后,是策略效果的監(jiān)控。其中包含業(yè)務監(jiān)控(譬如通過風險地圖做放款量等)、也有統(tǒng)計報表(譬如命中率、攔截率等統(tǒng)計)、并對策略細分指標和規(guī)則看是否有異常情況、最后做異常標記,并由人工確認是否是欺詐案件。標記結果也會用于后期機器學習算法的迭代優(yōu)化中。
以上就是策略的全生命周期管理。
03模型的全周期管控
以下我們看下建模的全周期管理。
從建模角度來看分為數(shù)據(jù)引入,拆分訓練集驗證集測試集,然后進行特征工程,以及算法選擇,超參搜索,到最后的評估報告。不過有時候我們很難把產(chǎn)品策略部署到客戶側并且根據(jù)客戶數(shù)據(jù)進行定制化建模,所以這里我們用到了AutoML。
在AutoML中涉及自動數(shù)據(jù)拼表(把多張客戶數(shù)據(jù)表處理成大寬表)、自動特征工程、自動算法選擇、自動調參,以及最后給出評估報告的一整套建模流程。另外,在建模完成后,針對效果隨著時間遷移會衰退而需要更新迭代的情況,我們提供全量自學習和增量在線學習兩種方式來做優(yōu)化和糾偏。
先從業(yè)務角度定義諸如反欺詐等業(yè)務問題,然后由數(shù)據(jù)科學家或者IT做數(shù)據(jù)采集,再交由算法科學家做特征工程,接著模型訓練和評估。整套流程是需要反復地選擇數(shù)據(jù)、特征和模型,上線階段還涉及算法和工程問題,比較耗時耗力。而AutoML可以幫助覆蓋掉流程中的數(shù)據(jù)采集、特征工程、模型訓練和模型評估的大部分工作。
特征工程如何實現(xiàn)自動挖掘?基于多表時空的特征挖掘算法分為三步:
- 第一步是自動多表拼接。針對一對一的表可以直接拼接;對于一對多的表,可對副表搜索最近一條拼接或者按配置進行搜索拼接。
- 第二步是自動特征工程。特征生成包含最原始的特征,做一階運算變換,或者對時序特征判斷是否為周末等,以及離散特征統(tǒng)計窗口內特征出現(xiàn)次數(shù)等。譬如交易流水表,可以通過用戶的交易時間分組排序,然后做聚合生成單月的交易次數(shù)或交易金額等衍生特征;也可對諸如性別和學歷的離散特征做組合拼接等。
- 第三步就是特征選擇。把時序聚合特征作為候選特征,然后去根據(jù)驗證計算的AUC從候選的特征里選擇TopK的特征。
04業(yè)務架構和能力原子化
從業(yè)務架構上看也可以分為三個部分:數(shù)據(jù)層、平臺層和應用層。
- 數(shù)據(jù)層,可以將行內交易還款數(shù)據(jù)和諸如人行征信的行外數(shù)據(jù)做融合。存儲相關則需要不同的數(shù)據(jù)庫,譬如內存時序數(shù)據(jù)庫、關系型數(shù)據(jù)庫、圖數(shù)據(jù)庫,以及HDFS等分布式存儲數(shù)據(jù);
- 平臺層,其中包含管理指標計算加工的指標中心、管理決策流的決策服務中心、以及下面的策略中心和模型中心。其中策略中心用來完成策略組裝、版本的管理等。模型中心主要是AutoML的特征選擇、調參等模型相關的工作。此外,還有一塊是圖計算中心,用于在關聯(lián)圖譜上通過圖計算來輔助線上業(yè)務。
- 應用層,主要是通過上述組件來支持交易反欺詐等不同的業(yè)務模塊。
在業(yè)務能力原子化這塊,按照技術組件的角度也可以分為三層,基礎設施層、服務層和業(yè)務模塊層。
- 最下面是基礎設施層。其中比較重要的是數(shù)據(jù)存儲以及容器調度。在容器調度中,由于原生K8S的調度能力不足以支撐機器學習服務和大數(shù)據(jù)的運算,我們基于K8S做了調度上的優(yōu)化。
- 中間是基礎服務層。其中有數(shù)據(jù)計算引擎,譬如前面提到的DSL以及內置函數(shù)的指標定義,其中對于時間跨度比較大的實時流特征,會需要離線跑批任務去計算。然后是離線和在線的服務管理。其中離線包含諸如定時跑批任務、任務編排、任務監(jiān)控以及執(zhí)行。在線服務包含灰度發(fā)布,輔助做ABTest的流量網(wǎng)關,以及針對多個在線服務的K8S彈性伸縮,和可視化的服務編排,還有AutoML的模型管理,以及保證數(shù)據(jù)質量的數(shù)據(jù)管理模塊等。
- 最上面是業(yè)務模塊層。會有數(shù)據(jù)中心來管理所有的三方數(shù)據(jù),業(yè)務數(shù)據(jù)以及需要人來操作上傳、刪除的特殊數(shù)據(jù),諸如黑白名單等等。策略組件和策略中心則通過可視化的界面把這些組件串聯(lián)起來。場景中心則是例如交易反欺詐等業(yè)務場景創(chuàng)建的入口,以及業(yè)務監(jiān)控報表。另一個比較重要的是策略實驗室,會提供指標閾值以及規(guī)則組合的能力。
通過三層的能力劃分實現(xiàn)的能力原子化,無論對于我們的產(chǎn)品本身還是對客戶已有的系統(tǒng)融合都是有益處的。
05應用案例
最后分享兩個例子。
其中一個是硬實時交易反欺詐。這個案例主要體現(xiàn)了性能優(yōu)勢,筆均處理時長只有6毫秒,然后TP99可以控制到20毫秒內。另一方面,從風控能力上看,特征維度比傳統(tǒng)風控要大很多,且使用了模型加規(guī)則的雙引擎。我們之所以能在雙引擎上實現(xiàn)高性能,主要得益于我們的內存時序數(shù)據(jù)庫,這也是內部的重要模塊。
另一個例子是某全國股份制銀行的全渠道反欺詐系統(tǒng)項目,其中涉及規(guī)則500+,實時計算指標2000+。在業(yè)務效果上,系統(tǒng)每月幫助行方發(fā)現(xiàn)攔截高危風險近1萬筆。左側是接入某股份制銀行之后的架構。