第四範式智能風控中臺架構設計及應用

1


導讀:風控是金融最常見的場景之一,本文將從業務和技術架構兩個層面和大家探討如何落地智能風控中臺系統。分享主要圍繞下面五點展開:

  • 風控中臺的設計背景

  • 策略的全週期管理

  • 模型的全週期管理

  • 業務架構和能力原子化

  • 應用案例
    --

01 風控中臺的設計背景

首先大風控體系或者風控中臺的建設在本質上是服務於業務的,所以我們需要構建一個以業務爲核心的風控中臺體系。

1

以業務爲核心的大風控體系應包含以下六個特點:

  • 實時化:通過實時的分析、預測,不斷迭代風控能力,進而做到對風險的實時防控。

  • 精細化:指在風控業務線上,針對從頭到尾的每個環節做到精細化的管理。

  • 聯防聯控:由於對客戶做多視角風險防控,需要相對精細化,聯防聯控是從橫向擴展來看風險防控。通常風控中臺會是集團化的業務,會涉及多條業務線的整體使用,因此打通數據和信息做到平臺級的最大化的防控,也是非常重要的。

  • 敏捷化:在欺詐或者風控場景中,通常需要我們快速反應,一個小時或者幾分鐘都會有較大影響,希望通過敏捷化能做到風控的快速反應。

  • 智能化:傳統的風控引擎一般是結合專家規則來實施。將專家規則結合AI算法去做整體預測是行業未來的趨勢。

  • 統一擴展:分爲兩個層面——對業務能力而言,要做到原子化;對IT系統或者整個中臺系統而言,要做統一化的建設。

2

基於上述趨勢,我們構建了完整的風控體系,兩句話總結一下:一個叫做五全雙核,一個叫數融優智。

五全指的是覆蓋面。在建設全景風控中臺時需要考慮不同子公司不同業務線的全覆蓋,譬如普惠金融、信用卡業務等;針對集團各子公司,要考慮全部客戶服務的全覆蓋;對於大型集團需要考慮不同場景的全覆蓋;在渠道角度也需要考慮諸如櫃檯、手機銀行,網銀、微信銀行等渠道的全覆蓋;最後從流程上需要就事前、事中、事後的流程全覆蓋。

雙核是指規則引擎和AI算法引擎融合的決策流的構建。此外,我們需要在應用架構層面做原子化和模塊化來支持雙核。最後要處理最關鍵的數據,數據部分主要是構建客戶畫像和風險畫像兩部分。用戶畫像部分需要整合所有渠道來構建全面畫像;風險畫像部分,則需把所有業務風險數據做融合。

3

通過建設完整的風控體系帶來的核心價值是提升風險決策水平。其中一方面是建立閉環的風控策略體系,另一方面是決策引擎和AI算法的結合。接下來會做詳細的分享。

--

02 策略的全週期管控

4

首先,是人機協同的概念。它表達的是專家規則和AI算法相結合的思想。在傳統決策引擎,一般最先上的是規則。因爲規則有以下好處:

  • 簡單的規則就能直觀過濾掉頭部風險,譬如過濾高風險區域的主體;

  • 規則可解釋性強,譬如格子衫和雙肩包是程序員;

  • 規則更易於做有區分度的統計信息,譬如使用簡單規則就能覆蓋百分之五六十的問題。

但只有規則覆蓋是不夠的,這時候就需要使用AI模型。因爲從特徵利用率來看,規則的利用特徵少。因此,模型可以通過大量的特徵深挖到長尾的風險用戶。另外,模型可以基於大數據做挖掘,數據源相對更多。

在整個風控體系裏,人工和機器學習分別適用不同的場景。譬如以下適合專家人工規則:

  • 業務線冷啓動時候,需要依賴專家經驗;

  • 諸如決策審批這類制度相關,更適合人工規則。

  • 規則之外,以下則更適合機器學習,譬如:

  • 需要對規則設定推薦閾值,譬如大於多少金額爲風險,可用機器學習;

  • 需要對規則組合做推薦時,譬如A加B或者B加C如何做規則組合,也可以通過機器學習來做;

  • 其他,諸如規則之上機器學習還能做的工作,以及機器學習自身具有圖算法的能力,都可以加以利用。

5

從閉環來講的話,策略的閉環和機器學習的閉環很像。策略流程是制定策略,測試、上線,以及監控優化,最後再把優化過的策略進行測試上線的一個閉環。機器學習則首先是產生一個行爲,然後會對行爲有反饋,基於這些行爲數據和反饋數據進行模型的學習,模型學習之後運用到線上去。由此可以看出這兩個圈是非常相似的。

6

接着來看下策略的管理體系。(1)在策略配置上,會做規則評分卡或者決策表、決策流,並支持鼠標點選的可視化和代碼開發聯合的方式進行配置;(2)在策略版本管理上,對策略做版本區分;(3)策略測試階段,會經過一系列的ABTest來做發佈;(4)測試發佈之後會進行整體的一個策略的效果監控。

7

首先,策略的基石是指標的計算,基於指標可以做一些規則,在這之上再做風控獨有的評分卡和決策表等等。機器學習的模型,也能從指標或者特徵計算上受益。定義完策略組件後即可上線決策流。

從指標定義看,系統內置了部分指標加工函數,諸如均值、大小,或者通過身份證取年齡、性別或者前多少位,或者一段時間的消費金額共計多少等等計算。

8

此外,我們還定義了一套DSL來去實現。其中一部分是內建函數,另一部分,則在內置函數無法滿足時,支持從外部加載插件的方法來熱加載到線上。另一種更直觀的方式,是通過已定義的DSL來定義沒有內置的函數上線。如上圖這個例子,我們先定義了步長列表,然後通過一個函數做列表處理,圖中展示了我們是如何遍歷表達式語法樹的(目前來講我們單個的表達式還是通過串行計算,後面我們可以通過並行來進一步優化提高執行速度。)

9

在上面提及的指標定義是通過DSL實現,那麼在定義指標後,我們做指標閾值設定或者指標組合。這裏可以使用可視化的操作。如圖我們定義了比較複雜的與(AND)和或(OR)關係來將指標組合成一個規則,並在規則上面進一步的組合,變成規則包來進行使用。評分卡的設置也有友好的可視化操作。在做完DSL定義和策略制定後,可以將策略組合的方式形成決策流。

10

在整個決策流中會區分不同的類型節點。最開始是輸入節點,然後會有轉換節點對變量做簡單轉換,再到規則節點,以及也可以應用機器學習模型的節點,後面是決策表、分流等定義完後由終止節點輸出最終結果。

11

策略定義後用於保證策略符合預期的策略測試。其中包含接口的單筆測試、批量集成測試(可使用批量歷史數據回測)、冠軍挑戰者(用歷史數據挑戰線上規則,看能否比得過)、線上沙盒測試,最後會得到一份對上線策略和線上策略全方位評估的測試報告,來供人工判斷是否適合上線。

12

在上線階段需要一個灰度發佈的過程。這個過程會通過隨機調流量,按照條件規則執行灰度發佈,測完整個策略後提供便捷化策略打包服務來一鍵導入生產環境。最後是流量的ABTest,這裏我們支持並行多組的分流ABTest,並可以作對比分析。

13

最後,是策略效果的監控。其中包含業務監控(譬如通過風險地圖做放款量等)、也有統計報表(譬如命中率、攔截率等統計)、並對策略細分指標和規則看是否有異常情況、最後做異常標記,並由人工確認是否是欺詐案件。標記結果也會用於後期機器學習算法的迭代優化中。

以上就是策略的全生命週期管理。

--

03 模型的全週期管控

以下我們看下建模的全週期管理。

14

從建模角度來看分爲數據引入,拆分訓練集驗證集測試集,然後進行特徵工程,以及算法選擇,超參搜索,到最後的評估報告。不過有時候我們很難把產品策略部署到客戶側並且根據客戶數據進行定製化建模,所以這裏我們用到了AutoML。

在AutoML中涉及自動數據拼表(把多張客戶數據表處理成大寬表)、自動特徵工程、自動算法選擇、自動調參,以及最後給出評估報告的一整套建模流程。另外,在建模完成後,針對效果隨着時間遷移會衰退而需要更新迭代的情況,我們提供全量自學習和增量在線學習兩種方式來做優化和糾偏。

15

先從業務角度定義諸如反欺詐等業務問題,然後由數據科學家或者IT做數據採集,再交由算法科學家做特徵工程,接着模型訓練和評估。整套流程是需要反覆地選擇數據、特徵和模型,上線階段還涉及算法和工程問題,比較耗時耗力。而AutoML可以幫助覆蓋掉流程中的數據採集、特徵工程、模型訓練和模型評估的大部分工作。

16

特徵工程如何實現自動挖掘?基於多表時空的特徵挖掘算法分爲三步:

  • 第一步是自動多表拼接。針對一對一的表可以直接拼接;對於一對多的表,可對副表搜索最近一條拼接或者按配置進行搜索拼接。

  • 第二步是自動特徵工程。特徵生成包含最原始的特徵,做一階運算變換,或者對時序特徵判斷是否爲週末等,以及離散特徵統計窗口內特徵出現次數等。譬如交易流水錶,可以通過用戶的交易時間分組排序,然後做聚合生成單月的交易次數或交易金額等衍生特徵;也可對諸如性別和學歷的離散特徵做組合拼接等。

  • 第三步就是特徵選擇。把時序聚合特徵作爲候選特徵,然後去根據驗證計算的AUC從候選的特徵裏選擇TopK的特徵。

--

04 業務架構和能力原子化

17

從業務架構上看也可以分爲三個部分:數據層、平臺層和應用層。

  • 數據層,可以將行內交易還款數據和諸如人行徵信的行外數據做融合。存儲相關則需要不同的數據庫,譬如內存時序數據庫、關係型數據庫、圖數據庫,以及HDFS等分佈式存儲數據;

  • 平臺層,其中包含管理指標計算加工的指標中心、管理決策流的決策服務中心、以及下面的策略中心和模型中心。其中策略中心用來完成策略組裝、版本的管理等。模型中心主要是AutoML的特徵選擇、調參等模型相關的工作。此外,還有一塊是圖計算中心,用於在關聯圖譜上通過圖計算來輔助線上業務。

  • 應用層,主要是通過上述組件來支持交易反欺詐等不同的業務模塊。

18

在業務能力原子化這塊,按照技術組件的角度也可以分爲三層,基礎設施層、服務層和業務模塊層。

最下面是基礎設施層。其中比較重要的是數據存儲以及容器調度。在容器調度中,由於原生K8S的調度能力不足以支撐機器學習服務和大數據的運算,我們基於K8S做了調度上的優化。

中間是基礎服務層。其中有數據計算引擎,譬如前面提到的DSL以及內置函數的指標定義,其中對於時間跨度比較大的實時流特徵,會需要離線跑批任務去計算。然後是離線和在線的服務管理。其中離線包含諸如定時跑批任務、任務編排、任務監控以及執行。在線服務包含灰度發佈,輔助做ABTest的流量網關,以及針對多個在線服務的K8S彈性伸縮,和可視化的服務編排,還有AutoML的模型管理,以及保證數據質量的數據管理模塊等。

最上面是業務模塊層。會有數據中心來管理所有的三方數據,業務數據以及需要人來操作上傳、刪除的特殊數據,諸如黑白名單等等。策略組件和策略中心則通過可視化的界面把這些組件串聯起來。場景中心則是例如交易反欺詐等業務場景創建的入口,以及業務監控報表。另一個比較重要的是策略實驗室,會提供指標閾值以及規則組合的能力。

通過三層的能力劃分實現的能力原子化,無論對於我們的產品本身還是對客戶已有的系統融合都是有益處的。

--

05 應用案例

19

最後分享兩個例子。

其中一個是硬實時交易反欺詐。這個案例主要體現了性能優勢,筆均處理時長只有6毫秒,然後TP99可以控制到20毫秒內。另一方面,從風控能力上看,特徵維度比傳統風控要大很多,且使用了模型加規則的雙引擎。我們之所以能在雙引擎上實現高性能,主要得益於我們的內存時序數據庫,這也是內部的重要模塊。

20

另一個例子是某全國股份制銀行的全渠道反欺詐系統項目,其中涉及規則500+,實時計算指標2000+。在業務效果上,系統每月幫助行方發現攔截高危風險近1萬筆。左側是接入某股份制銀行之後的架構。


今天的分享就到這裏,謝謝大家。
閱讀更多技術乾貨文章,請關注微信公衆號“DataFunTalk”


注:歡迎轉載,轉載請留言或私信。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章