金融風控領域的大模型落地實踐
Akulaku 作為一個海外互聯網金融平臺,運用大模型優化金融風控、客服及電商推薦等場景,通過集成圖像(如 KYC 人臉識別)、文本(如智能客服)與設備數據,增強風控系統效能與用戶體驗。大模型的引入旨在提升效率,通過優化小模型構建與工作流程自動化,減輕業務人員負擔。智能體在金融領域的應用包括欺詐調查與數據分析助手,預示著通過大模型輔助構建類 AGI 系統的可能性,能夠進一步提升金融風控的效率與效果,在金融領域擁有廣泛的應用前景。本文將分享 Akulaku 在金融風控領域的大模型落地實踐。
一、公司業務背景介紹
首先介紹一下公司的業務背景。
Akulaku 是一家主打海外市場的互聯網金融服務提供者,服務內容包括網上購物和分期付款、現金貸、保險等等,主要應用于金融風控、電商智能客服以及電商推薦等場景中。無論是在用戶審核、信用評估,還是在反欺詐識別等環節,單純手工操作和業務規則判斷無法高效準確地處理大量的用戶請求,攔截各種黑產攻擊。所以我們的總體目標是構建基于各種技術手段的敏捷高效的智能風控系統,以應對各種威脅,不斷提升用戶體驗。
具體應用場景包括授信申請、登錄校驗、下單校驗、催收、客服回訪等多個業務環節,其中會涉及到不同模態的數據:
- 圖像:最典型的應用場景是 KYC 人臉核身。一般金融機構都會有 KYC 的審核來確定,第一你是真人,第二你是你自己。
- 文本:典型應用場景是智能客服,包括文本客服、語音客服。
- 語音:典型場景包括智能客服,以及質檢和電話催收。
- 設備:設備數據是風控的一個重要參考維度,包括設備環境的校驗,唯一 ID 的構建等等。
二、大模型落地整體思路
在大模型興起以前,我們就在持續為業務部門提供各種 AI 模型,涵蓋之前介紹的各種模態數據。在大模型興起之后,我們希望進一步提高智能風控系統在各個業務環節以及各種數據形態上的效能。總的愿景就是要構建一個智能體系統。大模型使我們離 AGI 通用人工智能又更進了一步,而我們也試圖去構建一個金融領域的 AGI。一個智能體系統主要包含以下三個重要模塊[1]:
(1)規劃模塊(Planning)
包括各種業務決策的知識,通常固定在智能體的鏈的定義中,也就是LangChain里面的一個chain,系統整體上是各種智能體的結合。
(2)存儲模塊(Memory)
業務系統中的各種數據和元數據,可能存儲在一種或者多種外部數據庫中。
(3)工具模塊(Tools)
各種專有領域的業務模型和業務邏輯,包括各種圖像模型、NLP 模型、風控的判別模型,以及風控系統的一些具體的業務邏輯等等。
智能體系統與我們的現有系統,包括風控系統、模型系統并不是割裂開的一個新生成的體系,而是從原有體系演進而來的。具體落地分為兩大類:
(1)針對 Tools 的強化
第一類是針對 tools 的強化。比如針對 KYC 模塊里面的某個具體的圖像模型,優化其效能。可以利用大模型理解指令的能力,和它承載的對應語言的通識和泛化能力,來做數據增強和引導,來增強特定環節的專有模型。這就是針對 tools 的強化。
(2)針對 Planning 和 Memory 的強化
第二個角度是針對 planning 和 memory 的強化。第二個方向的對象是人,我們希望從業務同學現有的繁瑣的重復性工作中涉及的業務知識和決策抽取出來,固定在一個智能體的鏈中,構建相應的智能體角色。在智能體以及大模型的概念提出之后,我們在做需求的時候,雖然具體落地仍是逐一實現,但是在落地之前,我們會思考這些需求之間的相互關系,并不是以單個場景或者是單個模型的角度去思考,而是以一個角色的角度去思考。比如現在要做的是數據分析師角色的優化,或者是欺詐調查員角色的優化。
三、大模型優化案例
下面將通過一些具體案例來說明我們是如何實現大模型落地的。
1. 針對 Tools 的強化
(1)NLP 模型優化
首先,針對 tools 的強化,第一個案例是來自一個數字金融系統中的場景,根據客服對話歷史判別用戶是否需要特殊干預。按照以前的做法,面對這個問題,模型團隊首先需要積累數據或者標注數據,所以整個交付流程和迭代流程會非常冗長和低效。
引入大模型之后,不再需要十萬級的樣本,只需要少量人工標注的數據,大概幾百到 1000 左右就可以了。首先通過一個大模型 Agent 基于標注的數據生成候選提示詞,就是我希望這個樣本數據應該是怎么樣的。然后第二個 Agent 會對前面提到的這個 Agent 進行排序打分,選出一個比較好的 prompt 交給大模型去生成數據。大模型的特點就是它能泛化,但是比較慢,而慢在這里不是太大的問題,因為它需要的訓練數據量只有十萬條級別,也不是特別多,基于這樣的樣例數據就可以做一個線上的推理模型。
可能有的同學問為什么不直接把這個大模型上線?主要的原因是現在這個系統每天的吞吐量要求很高,如果要讓大模型實現非常快速的響應,就難以避免延時。因此比較好的一個辦法就是直接讓它去生成數據,蒸餾數據,然后生成小模型來迭代業務系統相應的模塊。
最終這個需求的人工標注量大幅減少,減少了 90%,模型交付時間顯著縮短,而模型效果比原來提高 20%。最令業務方最滿意的是標注量和交付時間的減少,這意味著整個系統更加敏捷,應對變化的效率更高。
(2)圖像反欺詐模型優化
第二個案例更為典型,即圖像反欺詐模型優化,針對的場景是 KYC 人臉核身。大家都用過刷臉,背后其實不是一個單一的模型,而是由很多個模型聯合實現的。其中會判別是否存在欺詐行為,比如拍屏或者用高清面具偽裝成某一個特定的人。
這看起來是一個簡單的圖像分類,而其中有兩個問題。第一個問題是領域適配。用戶的人臉屬于敏感數據,我們實際不能接觸到用戶的人臉數據,只能通過公開數據去訓練適配,比如上圖中右上角展示的圖片是來自公開數據的一張圖。但是用大量的公開數據去訓練的模型,可能跟實際的業務場景相去甚遠,比如光照條件、人臉的膚色,可能跟實際的用戶差比較遠。因此模型的泛化會是很大的問題
第二個問題是欺詐者會不斷變換攻擊手段,所以模型必須要敏捷且泛化。而以往的訓練流程缺乏標注人手,難以提高模型性能。
有了大模型之后,我們通過人工少量的標注的圖片和提示詞。比如讓大模型描述圖片中的臉,模型就會返回這張臉在一個手機中而手機是由人拿著,這與業務人員的理解是非常接近的。即使我們使用公開的數據進行訓練,多模態的大模型通過圖像模態和文本模態的對齊,也能抽取出實際泛化的語義特征,確保模型在真實場景的泛化性能。
具體實現方法是通過 CLIP 去抽取大模型生成的描述的文本特征,然后用視覺的 Transformer 可以抽取圖像本身的特征,然后可以專門去做對齊。這里是三個代價函數的加總,中間是 CLIP 的對比學習的代價函數,實際上就是文本特征跟圖像特征做對比學習;頭尾就是視覺 Transformer 的損失函數,一個是 Reconstruction Loss,另一個是分類的 Loss,三者加權。當你直接去看 attention 的 mask 的時候,就會發現經過這樣的對齊,它相應的圖的注意力的 mask 會聚焦到人對這個圖的理解上。即使膚色改變或光照條件改變,模型也還是會有一定的泛化能力。
后面是一個判別模型,這個判別模型還是要以 mini GPT 4 的描述作為其中一個輸入,所以會有點慢,但是已經能夠滿足需求,我們就用它來理解和標記訓練數據,然后就可以得到線上的一個更快的推理模型。
這一方案除了效果和泛化能力出色之外,更特別的一點就是它與人本身的思維通過自然語言這一載體自然對接起來了,即使我們的訓練數據和真實場景看起來比較遠,也能高效抽取出真正泛化的特征,這使得整個模型的交付效率大幅提升[2][3]。
(3)總結
原始流程中,業務提一個需求,要做 AI 模型,就需要大量的標注工作量,而且往往我們對于這個領域的理解沒有辦法注入到數據中。但現在基于大模型,圖像的特征與語言描述得以對齊,然后通過語言這個載體,就可以與業務方的期望進行對齊。
這里利用了大模型承載的通識,用來生成訓練數據;還利用了大模型的指令理解能力,領域專家直接將他對這個 case 的理解,通過自然語言來引導大模型來注入領域理解。
2. 針對 Planning 和 Memory 的強化
(1)欺詐調查助手
第二類是針對 Planning 和 Memory 的強化,實際上就是給我們的業務人員減負、提效。第一個場景是反欺詐調查的 copilot,通過與欺詐調查員的對話來解決相關問題。利用 GraphRAG 技術,首先進行意圖識別,這里的意圖基本上都是固定好的,可枚舉的,第一個就是基于業務知識的一般問答,第二個是基于調查庫表的簡單查詢,第三個是基于關聯團伙的查詢。意圖識別完成之后,針對意圖來做參數解析,然后進行查詢。
這里的業務知識一般都是以自由文檔的方式存儲在 RAG 的向量庫里面,業務庫表在數倉中。目前公司沒有一個特別完備的數據血緣,所以很多數據血緣的信息實際上是放在領域文檔里面的。所以第一步可能會做一個簡單的圖關系的抽取,一般都是一個預置好的 prompt,比如一些表的信息和關聯的信息,如果有的話就把它抽出來做一個簡單的支撐。
以上就是欺詐調查助手場景的實現。
(2)數據分析助手
第二個場景也是一個非常通用的場景,即 ChatBI,是基于 Text2SQL 實現的。當有數據分析需求時,可以直接提問。首先根據用戶提問去做拆解,確定需要調用哪些工具。我們目前有兩個工具,一個是 Text2SQL,另一個就是基于 Pandas 的一個簡單的可視化分析工具。選定工具之后,就依賴工具執行對應的動作,會去調用向量數據庫召回文檔和領域相關的一些描述文本片。根據每一個 Agent 的返回結果來決定這個問題是否已經解決。
在這個 Text2SQL 的 Agent 里面,還會有一個與上面類似的小循環。我們的數據分析是基于 Presto。用戶會把他自有的文檔放到向量數據庫里面,Redis 里面存對話歷史。首先基于用戶提的問題,獲取表的元數據信息和它自有的文檔里面獲取相應的文本片和思維鏈的一些線索,拼成一個總的 prompt,輸入到大模型的 Agent 里面,然后生成 SQL、檢驗 SQL、執行 SQL、修改 SQL,這樣循環幾次之后把最終的結果返回。
在落地過程中我們發現一個難點,這一做法對新寫 SQL 效果還行,但是對于已有的一些比較復雜的 SQL,我們需要把文檔整理好,然后做相應的召回,這個 Agent 才能有比較好的效果。
(3)總結
針對 Planning 和 Memory 的強化與前面針對 Tools 的強化不同,它不是對一個具體模型的優化,而是去做一個角色,比如代碼開發、數據分析、個案排查或是客服。針對 Planning 和 Memory 的強化以 Copilot 的形式來提供,先構造一個助手,利用大模型文本生成和理解的能力,工具調用的能力,以及已有的文檔,盡可能好地構造一些結構化的知識,使大模型的結果盡可能靠近用戶預期。這樣以 Copilot 的形式來協助相應角色完成開發、分析或調查等工作。最終基于這些 SQL 或是調查中抽象出固定的流程。
四、總結與展望
我們的智能體落地步驟可以總結為:
- 第一步,針對具體模型的進行提效,通過大模型的通識和泛化能力,對小模型的構建實現提效。
- 第二步,逐步將業務知識提煉、固化。原來可能是主管對員工,然后員工去找 Copilot,后面在員工和 Copilot 協作的過程中,不斷抽象業務和模式,并固定在鏈路定義中。最終實現主管和主要員工通過操作一個具有決策能力的類 AGI 系統,來完成日常的模型構造、案件調查、個案分析、團伙排查等各種任務。
落地過程中的一個重要問題是,人應該扮演怎樣的角色,智能體系統是否會完全取代人工?從我們的經驗以及對未來的判斷來說,大模型 Agent 并不可以完全替代人,而只是擴大人的能力范圍,由大模型來一定程度上替代繁瑣的重復工作,而使人更加聚焦于業務情況的核心問題。
我們有一個核心的風控和智能系統,包括各種風控、營銷、電商和金融系統,都是固定的模型和固定的業務邏輯。中間是各部門對應的欺詐調查、模型構造、策略分析等業務,我們期望通過逐步引入智能體,將這些工作中標準化的部分固化下來,最終由 Agent 去實現。人就可以聚集于整個業務的全局,以及一些重要的個案。
業務人員在發現了一些業務中新的現象之后,會去嘗試總結成提示詞,然后去引導中間的 Agent 去挖掘數據、生成數據,以及做一些對應的分析匯總。通過這個分析匯總生成新的訓練數據和蒸餾更加有效的模型,然后部署到我們線上的實時系統中去。過程中會對運行結果進行實時的統計和監控,然后把結果和一些異常的個案匯總到人工層。這就是我們希望實現的智能體系統的結構。
以上就是本次分享的內容,謝謝大家。
五、引用
[1] Lilian Weng (2023, June 23). LLM Powered Autonomous Agents https://lilianweng.github.io/posts/2023-06-23-agent/。
[2]Zhang Y, Yin Z F, Li Y, et al. Celeba-spoof: Large-scale face anti-spoofing dataset with rich annotations[C]//Computer Vision–ECCV 2020: 16th European Conference, Glasgow, UK, August 23–28, 2020, Proceedings, Part XII 16. Springer International Publishing, 2020: 70-85.
[3]Fang, H., Liu, A., Jiang, N., Lu, Q., Zhao, G., & Wan, J. (2024, April). VL-FAS: Domain Generalization via Vision-Language Model For Face Anti-Spoofing. In ICASSP 2024-2024 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP) (pp. 4770-4774). IEEE.