第四正規化智慧風控中臺架構設計及應用

DataFunTalk發表於2022-04-19

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”


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

相關文章