主頁 > 軟體設計 > 第四范式智能風控中臺架構設計及應用

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

2022-04-20 08:18:21 軟體設計

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”


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

轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/458678.html

標籤:架構設計

上一篇:排查線上問題的9種方式

下一篇:設計原則之SOLID 原則

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 面試突擊第一季,第二季,第三季

    第一季必考 https://www.bilibili.com/video/BV1FE411y79Y?from=search&seid=15921726601957489746 第二季分布式 https://www.bilibili.com/video/BV13f4y127ee/?spm_id_fro ......

    uj5u.com 2020-09-10 05:35:24 more
  • 第三單元作業總結

    1.前言 這應該是本學期最后一次寫作業總結了吧。總體來說,對作業的節奏也差不多掌握了,作業做起來的效率也更高了。雖然和之前的作業一樣,作業中都要用到新的知識,但是相比之前,更加懂得了如何利用工具以及資料。雖然之間卡過殼,但總體而言,這幾次作業還算完成的比較好。 2.作業程序總結 相比前兩個單元,此單 ......

    uj5u.com 2020-09-10 05:35:41 more
  • 北航OO(2020)第四單元博客作業暨課程總結博客

    北航OO(2020)第四單元博客作業暨課程總結博客 本單元作業的架構設計 在本單元中,由于UML圖具有比較清晰的樹形結構,因此我對其中需要進行查詢操作的元素進行了包裝,在樹的父節點中存盤所有孩子的參考。考慮到性能問題,我采用了快取機制,一次查詢后盡可能快取已經遍歷過的資訊,以減少遍歷次數。 本單元我 ......

    uj5u.com 2020-09-10 05:35:48 more
  • BUAA_OO_第四單元

    一、UML決議器設計 ? 先看下題目:第四單元實作一個基于JDK 8帶有效性檢查的UML(Unified Modeling Language)類圖,順序圖,狀態圖分析器 MyUmlInteraction,實際上我們要建立一個有向圖模型,UML中的物件(元素)可能與同級元素連接,也可與低級元素相連形成 ......

    uj5u.com 2020-09-10 05:35:54 more
  • 6.1邏輯運算子

    邏輯運算子 1. && 短路與 運算式1 && 運算式2 01.運算式1為true并且運算式2也為true 整體回傳為true 02.運算式1為false,將不會執行運算式2 整體回傳為false 03.只要有一個運算式為false 整體回傳為false 2. || 短路或 運算式1 || 運算式2 ......

    uj5u.com 2020-09-10 05:35:56 more
  • BUAAOO 第四單元 & 課程總結

    1. 第四單元:StarUml檔案決議 本單元采用了圖模型決議UML。 UML檔案可以抽象為圖、子圖、邊的邏輯結構。 在實作中,圖的節點包括類、介面、屬性,子圖包括狀態圖、順序圖等。 采用了三次遍歷UML元素的方法建圖,第一遍遍歷建點,第二、三次遍歷設定屬性、連邊,實作圖物件的初始化。這里借鑒了一些 ......

    uj5u.com 2020-09-10 05:36:06 more
  • 談談我對C# 多型的理解

    面向物件三要素:封裝、繼承、多型。 封裝和繼承,這兩個比較好理解,但要理解多型的話,可就稍微有點難度了。今天,我們就來講講多型的理解。 我們應該經常會看到面試題目:請談談對多型的理解。 其實呢,多型非常簡單,就一句話:呼叫同一種方法產生了不同的結果。 具體實作方式有三種。 一、多載 多載很簡單。 p ......

    uj5u.com 2020-09-10 05:36:09 more
  • Python 資料驅動工具:DDT

    背景 python 的unittest 沒有自帶資料驅動功能。 所以如果使用unittest,同時又想使用資料驅動,那么就可以使用DDT來完成。 DDT是 “Data-Driven Tests”的縮寫。 資料:http://ddt.readthedocs.io/en/latest/ 使用方法 dd. ......

    uj5u.com 2020-09-10 05:36:13 more
  • Python里面的xlrd模塊詳解

    那我就一下面積個問題對xlrd模塊進行學習一下: 1.什么是xlrd模塊? 2.為什么使用xlrd模塊? 3.怎樣使用xlrd模塊? 1.什么是xlrd模塊? ?python操作excel主要用到xlrd和xlwt這兩個庫,即xlrd是讀excel,xlwt是寫excel的庫。 今天就先來說一下xl ......

    uj5u.com 2020-09-10 05:36:28 more
  • 當我們創建HashMap時,底層到底做了什么?

    jdk1.7中的底層實作程序(底層基于陣列+鏈表) 在我們new HashMap()時,底層創建了默認長度為16的一維陣列Entry[ ] table。當我們呼叫map.put(key1,value1)方法向HashMap里添加資料的時候: 首先,呼叫key1所在類的hashCode()計算key1 ......

    uj5u.com 2020-09-10 05:36:38 more
最新发布
  • 【中介者設計模式詳解】C/Java/JS/Go/Python/TS不同語言實作

    * 中介者模式是一種行為型設計模式,它可以用來減少類之間的直接依賴關系,
    * 將物件之間的通信封裝到一個中介者物件中,從而使得各個物件之間的關系更加松散。
    * 在中介者模式中,物件之間不再直接相互互動,而是通過中介者來中轉訊息。 ......

    uj5u.com 2023-04-20 08:20:47 more
  • 露天煤礦現場調研和交流案例分享

    他們集團的資訊化公司及研究院在一個礦區正在做智能礦山的統一平臺的 試點,專案投資大概1億,包括了礦山的各方面的內容,顯示得我們這次交流有點多余。他們2年前開始做智能礦山的規劃,有很多煤礦行業專家的加持,他們的描述是非常完美,但是去年底應該上線的平臺,現在還沒有看到影子。他們確實有很多場景需求,但是被... ......

    uj5u.com 2023-04-20 08:20:25 more
  • 《社區人員管理》實戰案例設計&個人案例分享

    設計是一個讓人夢想成真程序,開始編碼、測驗、除錯之前進行需求分析和架構設計,才能保證關鍵方面都做正確 ......

    uj5u.com 2023-04-20 08:20:17 more
  • 軟體架構生態化-多角色交付的探索實踐

    作為一個技術架構師,不僅僅要緊跟行業技術趨勢,還要結合研發團隊現狀及痛點,探索新的交付方案。在日常中,你是否遇到如下問題 “ 業務需求排期長研發是瓶頸;非研發角色感受不到研發技改提效的變化;引入ISV 團隊又擔心質量和安全,培訓周期長“等等,基于此我們探索了一種新的技術體系及交付方案來解決如上問題。 ......

    uj5u.com 2023-04-20 08:20:10 more
  • 【中介者設計模式詳解】C/Java/JS/Go/Python/TS不同語言實作

    * 中介者模式是一種行為型設計模式,它可以用來減少類之間的直接依賴關系,
    * 將物件之間的通信封裝到一個中介者物件中,從而使得各個物件之間的關系更加松散。
    * 在中介者模式中,物件之間不再直接相互互動,而是通過中介者來中轉訊息。 ......

    uj5u.com 2023-04-20 08:19:44 more
  • 露天煤礦現場調研和交流案例分享

    他們集團的資訊化公司及研究院在一個礦區正在做智能礦山的統一平臺的 試點,專案投資大概1億,包括了礦山的各方面的內容,顯示得我們這次交流有點多余。他們2年前開始做智能礦山的規劃,有很多煤礦行業專家的加持,他們的描述是非常完美,但是去年底應該上線的平臺,現在還沒有看到影子。他們確實有很多場景需求,但是被... ......

    uj5u.com 2023-04-20 08:19:07 more
  • 《社區人員管理》實戰案例設計&個人案例分享

    設計是一個讓人夢想成真程序,開始編碼、測驗、除錯之前進行需求分析和架構設計,才能保證關鍵方面都做正確 ......

    uj5u.com 2023-04-20 08:18:57 more
  • 軟體架構生態化-多角色交付的探索實踐

    作為一個技術架構師,不僅僅要緊跟行業技術趨勢,還要結合研發團隊現狀及痛點,探索新的交付方案。在日常中,你是否遇到如下問題 “ 業務需求排期長研發是瓶頸;非研發角色感受不到研發技改提效的變化;引入ISV 團隊又擔心質量和安全,培訓周期長“等等,基于此我們探索了一種新的技術體系及交付方案來解決如上問題。 ......

    uj5u.com 2023-04-20 08:18:49 more
  • 05單件模式

    #經典的單件模式 public class Singleton { private static Singleton uniqueInstance; //一個靜態變數持有Singleton類的唯一實體。 // 其他有用的實體變數寫在這里 //構造器宣告為私有,只有Singleton可以實體化這個類! ......

    uj5u.com 2023-04-19 08:42:51 more
  • 【架構與設計】常見微服務分層架構的區別和落地實踐

    軟體工程的方方面面都遵循一個最基本的道理:沒有銀彈,架構分層模型更是如此,每一種都有各自優缺點,所以請根據不同的業務場景,并遵循簡單、可演進這兩個重要的架構原則選擇合適的架構分層模型即可。 ......

    uj5u.com 2023-04-19 08:42:41 more