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