風(fēng)控系統(tǒng)隨著業(yè)務(wù)發(fā)展多元化,場(chǎng)景復(fù)雜化,市場(chǎng)監(jiān)管趨嚴(yán),商業(yè)縱深整合的需要以及黑產(chǎn)專業(yè)化,風(fēng)險(xiǎn)對(duì)抗加劇,也經(jīng)歷著不斷的演進(jìn)與升級(jí),今天就來一起探究這些年風(fēng)控系統(tǒng)經(jīng)歷過的演進(jìn)與升級(jí)。
▌第一代:?jiǎn)误w系統(tǒng)/規(guī)則硬編碼第一代風(fēng)控系統(tǒng)大多基于規(guī)則策略做硬編碼開發(fā),各家系統(tǒng)大同小異,畢竟?jié)M足業(yè)務(wù)需求是第一位。而其最大的問題就是風(fēng)控策略流程變更迭代周期長(zhǎng)、效率低,畢竟就算調(diào)整一個(gè)閾值也需要 IT 開發(fā)人員排期、開發(fā)、測(cè)試、部署流程走一遍,平均每次迭代要 1-2 天。此外,由于頻繁上線加之小需求繁雜,需求溝通差異(開發(fā)人員計(jì)算機(jī)工程背景與風(fēng)控分析人員數(shù)據(jù)分析和金融背景)導(dǎo)致的線上問題日漸頻繁,難以維護(hù)。硬編碼為主的系統(tǒng)難以滿足更復(fù)雜、快速迭代的風(fēng)控需求,于是,如何解決迭代效率成為首先要解決的問題。▌第 1.5 代:規(guī)則引擎/專家系統(tǒng)以 drools 為代表的規(guī)則引擎(專家系統(tǒng))成為救命稻草,通過引入配置化腳本簡(jiǎn)化風(fēng)控策略調(diào)整。其編碼風(fēng)格如下:rule?"test_rule1"
????when
????????$user:?User(age?>=?18)
????then
????????$user.setRank("A")
end
通過掌握腳本語(yǔ)言語(yǔ)法,即可配置所需規(guī)則策略,再通過代碼引擎自動(dòng)執(zhí)行,將規(guī)則策略調(diào)整與代碼分離,降低開發(fā)測(cè)試要求,大大提高了迭代效率。但這一代風(fēng)控引擎需要額外引入新的腳本語(yǔ)法學(xué)習(xí)成本,也很難直接交付給風(fēng)控分析師,大多仍需要 IT 開發(fā)來完成迭代。算是決策引擎的過渡版本,所以歸為第 1.5 代風(fēng)控系統(tǒng)。
▌第二代:智能決策引擎
第二代風(fēng)控決策引擎系統(tǒng),具備簡(jiǎn)單易用的圖形化操作后臺(tái),支持風(fēng)控分析師后臺(tái)調(diào)整風(fēng)控規(guī)則和流程,并一鍵熱部署生效,大大提升風(fēng)控策略調(diào)整效率。支持 BPMN 標(biāo)準(zhǔn)圖形化風(fēng)控決策流配置,還支持冠軍挑戰(zhàn)者 / AB Test 分流測(cè)試,以及條件分流配置。支持決策表、決策樹、決策矩陣、評(píng)分卡、表達(dá)式等更復(fù)雜規(guī)則決策配置方式。第二代風(fēng)控決策引擎徹底解決了風(fēng)控策略調(diào)整效率問題,實(shí)現(xiàn)了風(fēng)控策略流程迭代從天級(jí)降到小時(shí)級(jí)。
2、機(jī)器學(xué)習(xí)模型
在解決效率問題的同時(shí),效果是另一個(gè)待提升的問題。隨著黑產(chǎn)的專業(yè)化發(fā)展,單純的規(guī)則配置可以通過反復(fù)測(cè)試試探閾值而被突破,規(guī)則調(diào)整變更手段滯后難起到最佳效果,引入機(jī)器學(xué)習(xí)等智能化模型成了進(jìn)一步解決問題的銀彈,這也是現(xiàn)在常說的“智能風(fēng)控”的開始。
通過將模型與決策引擎整合,將模型打分作為重要決策特征,提升決策效果。
3、大數(shù)據(jù)應(yīng)用
引入三方征信數(shù)據(jù)補(bǔ)充規(guī)則與模型,充分利用大數(shù)據(jù)優(yōu)勢(shì),可以更好地提高風(fēng)險(xiǎn)識(shí)別能力,也就是“大數(shù)據(jù)風(fēng)控”。
總結(jié):第二代風(fēng)控系統(tǒng),以高效的決策引擎為主,引入了機(jī)器學(xué)習(xí)模型和大數(shù)據(jù),大幅提升了風(fēng)控迭代效率和風(fēng)險(xiǎn)識(shí)別效果。
▌第三代:智能風(fēng)控大中臺(tái)
隨著互聯(lián)網(wǎng)高速發(fā)展,在高性能、可靠性、通用性、風(fēng)險(xiǎn)識(shí)別等方面提出了更高的要求和挑戰(zhàn)。第三代風(fēng)控系統(tǒng)滿足精細(xì)化運(yùn)營(yíng)需求,表現(xiàn)為支持高性能、高度平臺(tái)化、智能化的風(fēng)控大中臺(tái),下面分別展開描述。
1、系統(tǒng)高性能
互聯(lián)網(wǎng)場(chǎng)景下,秒級(jí)風(fēng)控決策能力成了普遍性要求。在決策流程短,特征涉及少,沒有太多外部數(shù)據(jù)源的情況下,比較容易達(dá)成。而隨著決策流配置更長(zhǎng),規(guī)則策略更多,特征繁多且加工邏輯復(fù)雜,并引入一堆外部數(shù)據(jù)源的情況下,提升執(zhí)行效率成為一個(gè)更復(fù)雜的系統(tǒng)性能工程亟待解決。
※?提升特征計(jì)算性能
基本思路是空間換時(shí)間。如果每次決策流執(zhí)行時(shí)才去實(shí)時(shí)計(jì)算特征,那么特征計(jì)算所消耗的時(shí)間將會(huì)導(dǎo)致整體流程時(shí)間變長(zhǎng)。通過預(yù)計(jì)算方式提前完成特征計(jì)算,將計(jì)算結(jié)果冗余 KV 存儲(chǔ)中,執(zhí)行時(shí)即可 O(1)取出所需特征數(shù)據(jù)。
首先,準(zhǔn)確性上可能不如實(shí)時(shí)計(jì)算,比如預(yù)計(jì)算結(jié)果后發(fā)生了數(shù)據(jù)變更,所以觸發(fā)預(yù)計(jì)算時(shí)機(jī)需要考慮??梢酝ㄟ^ CDC (變更數(shù)據(jù)捕獲)的方案,來實(shí)現(xiàn)每一次數(shù)據(jù)變更后完成一次計(jì)算變更,提高特征數(shù)據(jù)的準(zhǔn)確率。
其次,可能存在決策發(fā)生時(shí)預(yù)計(jì)算未完成,導(dǎo)致特征數(shù)據(jù)缺失。此時(shí)處理方案是忽略,或是失敗異常,或是觸發(fā)實(shí)時(shí)計(jì)算,亦或是要求必須預(yù)計(jì)算結(jié)束通知才能做決策調(diào)用,需要根據(jù)業(yè)務(wù)需求來?yè)駜?yōu)。
再有,針對(duì)三方數(shù)據(jù)源接口存在收費(fèi)問題,如果預(yù)計(jì)算后并沒有使用,可能導(dǎo)致數(shù)據(jù)成本浪費(fèi),所以一般只對(duì)內(nèi)部數(shù)據(jù)進(jìn)行預(yù)計(jì)算,對(duì)三方數(shù)據(jù)進(jìn)行實(shí)時(shí)計(jì)算。此外,可以對(duì)歷史數(shù)據(jù)(t-1)進(jìn)行批處理計(jì)算,再融合當(dāng)日數(shù)據(jù)進(jìn)行融合計(jì)算,可進(jìn)一步提升計(jì)算效率,也是大數(shù)據(jù) Lambda 架構(gòu)形式,但對(duì)于需要做全局去重統(tǒng)計(jì)的數(shù)據(jù)可能會(huì)損失精度。
※?提升并發(fā)執(zhí)行能力
決策引擎的流程配置,在一定程度上會(huì)影響其執(zhí)行效率。通過配置并行網(wǎng)關(guān),節(jié)點(diǎn)并發(fā)執(zhí)行,可縮短執(zhí)行時(shí)間。但風(fēng)控分析師一般關(guān)注風(fēng)控效果和成本,讓其兼顧考慮并行執(zhí)行有些強(qiáng)人所難。因此,有必要讓系統(tǒng)自動(dòng)分析完成高效并發(fā)執(zhí)行流程。
過程可以分發(fā)布時(shí)(將配置的決策流轉(zhuǎn)成決策引擎執(zhí)行的 DSL),運(yùn)行時(shí)(決策引擎執(zhí)行 DSL)兩個(gè)階段,類似某些編程語(yǔ)言的編譯期和運(yùn)行時(shí)。發(fā)布時(shí)可以提示方案修改建議,運(yùn)行時(shí)可以強(qiáng)制按最優(yōu)并行度來執(zhí)行。提高并行度,分析決策流圖節(jié)點(diǎn)依賴關(guān)系,將無上下文依賴的節(jié)點(diǎn)并行執(zhí)行,可以充分利用 CPU 多核以及并發(fā)批量調(diào)用特征。
對(duì)上圖進(jìn)行廣度優(yōu)先遍歷,獲取一個(gè) List(A,s1,B,E,C,F,D) ,如果后繼節(jié)點(diǎn)依賴特征不與前序節(jié)點(diǎn)輸出重合,那么即可認(rèn)為前后節(jié)點(diǎn)沒有上下文依賴,可以并發(fā)執(zhí)行。此外 s1 排它網(wǎng)關(guān)會(huì)選擇 BCD 或 EFD 一條路徑執(zhí)行,可以進(jìn)行剪枝操作。此外還要考慮有成本數(shù)據(jù)特征,以及提前中斷情況,需要結(jié)合業(yè)務(wù)場(chǎng)景需求合理做出并發(fā)優(yōu)化。
2、系統(tǒng)高可靠
規(guī)則配置是風(fēng)控的一道重要防線,如何防止配置出錯(cuò)這類操作風(fēng)險(xiǎn)造成業(yè)務(wù)損失?決策流校驗(yàn)是重要的保障。既要保障減少業(yè)務(wù)耦合打造決策引擎的通用性,也要降低配置出錯(cuò)率讓操作風(fēng)險(xiǎn)可控,因此每一條校驗(yàn)規(guī)則都是在實(shí)踐與犯錯(cuò)中總結(jié)而成。校驗(yàn)同樣分為發(fā)布時(shí)校驗(yàn)和運(yùn)行時(shí)校驗(yàn)兩部分治理:發(fā)布時(shí)校驗(yàn),保障決策流無明顯語(yǔ)法錯(cuò)誤,分支閉合,流程完整。如 ab 分流網(wǎng)關(guān)要求所有分支流量之和必須等于 100%;決策矩陣要求所有分箱區(qū)間必須連續(xù)無交叉且覆蓋所有取值范圍;下游節(jié)點(diǎn)依賴某決策樹輸出特征,上游必須配置該決策樹節(jié)點(diǎn);只有分支節(jié)點(diǎn)出度可大于 1 其他類型必須為 1;決策流構(gòu)建成有向無環(huán)圖(DAG)做成環(huán)檢測(cè)避免執(zhí)行無法終止...

運(yùn)行時(shí)校驗(yàn),針對(duì)某分支或模式匹配失敗而導(dǎo)致決策流無法正常流轉(zhuǎn)下去,進(jìn)入異常案件中。常見如遇特征缺失(獲取失敗或其他原因),忽略繼續(xù)執(zhí)行,拋異常,或者強(qiáng)制失敗。
※ 實(shí)時(shí)監(jiān)控報(bào)警
打造全方位分層監(jiān)控報(bào)警,系統(tǒng)層、鏈路層、應(yīng)用層、業(yè)務(wù)層,除傳統(tǒng)監(jiān)控報(bào)警之外,針對(duì)風(fēng)控指標(biāo)和模型效果的監(jiān)控必不可少。針對(duì)模型調(diào)用情況,風(fēng)控通過率的監(jiān)控;基于模型分分箱條件下的數(shù)據(jù)和效果穩(wěn)定性,計(jì)算出 PSI、AUC、KS 等指標(biāo);以及底層特征的缺失率、零值率等指標(biāo)。通過“錄制”線上流量的方式,將決策流執(zhí)行過程所依賴的數(shù)據(jù)特征,及請(qǐng)求入?yún)⒑徒Y(jié)果快照下來。此數(shù)據(jù)可以作為流量回放和模型回溯的源數(shù)據(jù),通過部署離線引擎,可以在線下對(duì)決策流調(diào)整進(jìn)行效果評(píng)估與驗(yàn)證,以此來降低決策流變更帶來的的風(fēng)險(xiǎn)。同理,通過離線回溯進(jìn)行模型性能分析,結(jié)合模型陪跑,可以實(shí)現(xiàn)新模型平滑決策。
由于決策流配置長(zhǎng)短不一導(dǎo)致決策引擎執(zhí)行時(shí)間不確定,屬于不均衡延時(shí)系統(tǒng),因此其部署和執(zhí)行上必須要考慮隔離方案以保障系統(tǒng)高可用。
※ 長(zhǎng)短請(qǐng)求調(diào)度隔離 / 同步異步隔離
一般像前篩、預(yù)審等場(chǎng)景配置規(guī)則較少,需要快速響應(yīng)(<1s),同步返回。而授信、支用等場(chǎng)景需要校驗(yàn)更多,響應(yīng)時(shí)間可以更長(zhǎng)(5-20 s),可以采用異步方式獲取結(jié)果。
在部署決策引擎執(zhí)行決策流時(shí)針對(duì)不同場(chǎng)景性能要求和調(diào)用方式差異采取隔離部署,降低因資源池打滿而造成的互相影響。
※ 業(yè)務(wù)線流量調(diào)度資源隔離
作為統(tǒng)一風(fēng)控中臺(tái),如面對(duì)多條業(yè)務(wù)線接入,一定要減少相互影響,由于決策引擎對(duì)數(shù)據(jù)庫(kù)依賴較小,因此數(shù)據(jù)層只做邏輯隔離,但引擎應(yīng)用層需要保障各業(yè)務(wù)有獨(dú)立資源,并在網(wǎng)關(guān)層(調(diào)度層)做分流路由??梢砸劳?K8s 的 label 對(duì)資源分組,通過請(qǐng)求 header 標(biāo)簽做流量調(diào)度。此外保障高可用做好集群負(fù)載均衡、服務(wù)治理、限流、熔斷、降級(jí)方案,以及請(qǐng)求鏈路監(jiān)控等。
4、平臺(tái)化工程化
當(dāng)決策引擎完成工程化后,大量的風(fēng)控開發(fā)工作集中在數(shù)據(jù)源 API 接入和特征開發(fā)上,而借助工程化、平臺(tái)化可以進(jìn)一步減少開發(fā)工作。數(shù)據(jù)源接入大多工作可模板化解決,通過配置請(qǐng)求地址 、請(qǐng)求方式、超時(shí)時(shí)間等必要信息,再結(jié)合入?yún)?、出參?bào)文映射解析實(shí)現(xiàn)模板化接入數(shù)據(jù)源。入?yún)⑼ㄟ^配置參數(shù)映射或常量值完成。簡(jiǎn)單的報(bào)文解析,可以通過 Jsonp 的方式,直接從結(jié)果集中提取關(guān)鍵字段。復(fù)雜的報(bào)文解析,需要進(jìn)一步代碼加工工作,也可以開發(fā)一些常用的函數(shù)輔助完成粗加工。
對(duì)于批量加載特征且有多源依賴的,可以通過構(gòu)造接口依賴關(guān)系圖,并通過逐層調(diào)用執(zhí)行加工。隨著大規(guī)模機(jī)器學(xué)習(xí)的應(yīng)用,為進(jìn)一步提升模型迭代效率,讓模型迭代周期從月級(jí)降低到天級(jí),將模型工程化,打造出自動(dòng)建模平臺(tái)及模型管理平臺(tái),整體工程分為離線工程和在線工程兩部分。離線工程,機(jī)器學(xué)習(xí)平臺(tái),主要圍繞模型訓(xùn)練和回溯,通過自動(dòng)特征工程、自動(dòng)建模技術(shù)(AutoML)提高模型迭代效率和效果。按模型開發(fā)流程依次分為:數(shù)據(jù)管理(維護(hù)樣本和數(shù)據(jù)集),數(shù)據(jù)挖掘(自動(dòng)特征工程),算法選擇(支持 XGBoost/LightGBM等),模型訓(xùn)練(訓(xùn)練任務(wù)管理),模型調(diào)優(yōu)(自動(dòng)調(diào)參),效果評(píng)估(一鍵打分),發(fā)布上線(輸出標(biāo)準(zhǔn) PMML 模型和 python pickle 模型)。
在線工程,模型引擎,通過加載模型庫(kù)模型文件(支持 PMML 和 pickle),完成實(shí)時(shí)預(yù)測(cè)打分,并提供 API 供決策引擎調(diào)用。
模型管理平臺(tái),包括模型資產(chǎn)管理、生命周期管控、監(jiān)控報(bào)警管理,整合機(jī)器學(xué)習(xí)平臺(tái)實(shí)現(xiàn)模型生成后一鍵熱部署,整合決策引擎配置實(shí)現(xiàn)關(guān)聯(lián)調(diào)用和在線陪跑。總結(jié):第三代風(fēng)控系統(tǒng),針對(duì)業(yè)務(wù)的高速發(fā)展,滿足互聯(lián)網(wǎng)三高場(chǎng)景,全面平臺(tái)化,打造出一個(gè)完整的風(fēng)控中臺(tái)。
▌第四代:數(shù)字化智能化創(chuàng)新
第四代風(fēng)控系統(tǒng)通過全面大數(shù)據(jù)、人工智能、云計(jì)算、區(qū)塊鏈等技術(shù)實(shí)現(xiàn)進(jìn)一步提質(zhì)增效,個(gè)人覺得大多數(shù)企業(yè)仍處于此探索階段,故稱為數(shù)字化智能化創(chuàng)新階段。
1、智能化決策
智能化決策基于數(shù)據(jù)分析、機(jī)器學(xué)習(xí)、深度學(xué)習(xí)、專家經(jīng)驗(yàn),通過歸因下探,規(guī)則量化,全鏈路過程監(jiān)控追蹤,結(jié)果回溯等手段實(shí)現(xiàn)規(guī)則策略自動(dòng)調(diào)優(yōu)、自動(dòng)生成與推薦,達(dá)成風(fēng)控“自動(dòng)駕駛”。用以解決人工配置操作風(fēng)險(xiǎn)、策略效果衰減以及迭代調(diào)整滯后等問題。實(shí)踐中自動(dòng)調(diào)優(yōu)風(fēng)控策略以及自適應(yīng)模型也會(huì)帶來“可解釋性”問題和穩(wěn)定性因素,需要大量 AB 實(shí)驗(yàn)探索,與專家經(jīng)驗(yàn)對(duì)比,人工干預(yù)和過程管控不可或缺。隨著黑產(chǎn)職業(yè)化分工和集團(tuán)化發(fā)展,金融風(fēng)險(xiǎn)呈現(xiàn)規(guī)?;卣?,給傳統(tǒng)規(guī)則策略和模型識(shí)別帶來巨大挑戰(zhàn),針對(duì)個(gè)體行為屬性的特征難以識(shí)別團(tuán)伙行為的規(guī)模風(fēng)險(xiǎn),因此關(guān)聯(lián)分析需求及圖解決方案成為風(fēng)控發(fā)展的新趨勢(shì)。
圖數(shù)據(jù)庫(kù)應(yīng)用,圖數(shù)據(jù)庫(kù)相比關(guān)系型數(shù)據(jù)庫(kù)具有更高效的關(guān)聯(lián)查詢性能。通過圖數(shù)據(jù)庫(kù)群體特征(如二度聯(lián)系人中黑名單用戶占比)能更好的識(shí)別團(tuán)伙欺詐;通過圖計(jì)算特征進(jìn)行子圖匹配,發(fā)現(xiàn)相似模式風(fēng)險(xiǎn)賬號(hào);利用社區(qū)發(fā)現(xiàn)算法進(jìn)行社群發(fā)現(xiàn),識(shí)別群體風(fēng)險(xiǎn);通過圖連通性、路徑發(fā)現(xiàn)做失聯(lián)修復(fù);通過構(gòu)建用戶 360 視圖(異構(gòu)圖)完善用戶畫像,更好地發(fā)現(xiàn)信貸風(fēng)險(xiǎn);此外基于圖神經(jīng)網(wǎng)絡(luò)的深度學(xué)習(xí)技術(shù)成為圖應(yīng)用的發(fā)展趨勢(shì)。
實(shí)踐中 Neo4j 代表的原生圖數(shù)據(jù)庫(kù),滿足一般中小規(guī)模數(shù)據(jù)量級(jí),有更好的性能表現(xiàn),但其集群版本不支持開源;JanusGraph 分布式數(shù)據(jù)庫(kù),可以構(gòu)建更大規(guī)模圖,性能方面略有不足。購(gòu)買商業(yè)版或自造輪子開發(fā)圖數(shù)據(jù)庫(kù),解決海量數(shù)據(jù)構(gòu)建異構(gòu)圖,原生圖,以及查詢性能成為關(guān)鍵。
3、隱私計(jì)算與聯(lián)邦學(xué)習(xí)
隨著數(shù)據(jù)安全法和個(gè)人信息保護(hù)法的實(shí)施,數(shù)據(jù)安全和隱私保護(hù)日趨嚴(yán)格,為了滿足“原始數(shù)據(jù)不出域,數(shù)據(jù)可用不可見”,隱私計(jì)算解決方案成為破局之道。隱私計(jì)算分為聯(lián)邦學(xué)習(xí)(FL)、安全多方計(jì)算(MPC)、可信執(zhí)行環(huán)境(TEE)等。聯(lián)邦學(xué)習(xí)是通過數(shù)據(jù)加密計(jì)算,分布式機(jī)器學(xué)習(xí),實(shí)現(xiàn)各公司間數(shù)據(jù)在不出庫(kù)的前提下完成聯(lián)合建模需求。FATE 框架使用多方安全計(jì)算?(MPC)?以及同態(tài)加密?(HE)?技術(shù)構(gòu)建底層安全計(jì)算協(xié)議,以此支持不同種類的機(jī)器學(xué)習(xí)的安全計(jì)算,包括邏輯回歸、基于樹的算法、深度學(xué)習(xí)和遷移學(xué)習(xí)等,基于此框架可快速構(gòu)建隱私計(jì)算體系。實(shí)踐中由于要求合作雙方部署同套隱私計(jì)算方案,而市面上隱私計(jì)算體系割裂,不同解決方案難以互通,成本較高成為主要限制屏障。
4、區(qū)塊鏈
區(qū)塊鏈去中心化、不可篡改、開放自治的特性,建立數(shù)據(jù)聯(lián)盟鏈,既保障了數(shù)據(jù)的可信賴,又可利用其網(wǎng)絡(luò)廣播特性實(shí)現(xiàn)數(shù)據(jù)共享,有效解決大數(shù)據(jù)風(fēng)控的數(shù)據(jù)孤島問題;在供應(yīng)鏈金融方面區(qū)塊鏈提供信用保證和履約保證,提供更好的風(fēng)控解決方案;在金融智能合約應(yīng)用上,通過區(qū)塊鏈可編程特點(diǎn),構(gòu)建智能合約,有效防范了人為操作風(fēng)險(xiǎn)。區(qū)塊鏈技術(shù)+大數(shù)據(jù)+人工智能的組合也是未來風(fēng)控的發(fā)展趨勢(shì)。
▌總結(jié)?Roadmap
風(fēng)控系統(tǒng)演進(jìn)之路,從不斷提升效率實(shí)現(xiàn)自動(dòng)化,解決性能、可靠性問題,到全面數(shù)字化、智能化升級(jí),不斷探索應(yīng)用新技術(shù)手段提升風(fēng)控效果。各家系統(tǒng)發(fā)展和迭代方式不同,但基本演進(jìn)思路和發(fā)展方向殊途同歸。感謝閱讀!歡迎與我交流提出您的見解,覺得文章可以歡迎分享、點(diǎn)贊支持。