聯邦學習助力金融行業風控
1 業務場景
利用海量數據對個人進行風控畫像,已成為銀行等金融機構在拓展面向個人類業務的常見做法。無論是在前期營銷、貸前授信、貸中評估和貸后信用評估,精準個人風控畫像都具備突出的業務價值。
金融機構擁有的個人數據,一般都是發生過業務往來的歷史用戶數據,普遍存在覆蓋面不廣、維度偏少和更新不及時等問題,在支撐個人畫像方面往往有所欠缺。面向個人消費者的互聯網企業,擁有維度全面的個人畫像數據,但受限于個人數據隱私安全保護的要求,金融機構和互聯網企業的數據均無法共享給對方,無法進行聯合風控建模。
以往的做法,是將兩邊的數據通過移動硬盤拷貝到隔離沙箱環境,共同訓練得到評估模型,再將隔離沙箱環境中的數據刪除,但存在效率低、數據和模型更新不及時的問題。聯邦學習技術能較好的解決該問題,本案例介紹 TICS 縱向聯邦學習技術應用,支持業界知名互聯網金融公司和傳統銀行合作,在互相不泄露個人隱私數據的前提下,使用分布式存儲在各自數據中心的多方數據,完成個人風控建模。
2 方案架構
互聯網金融公司 xx錢包和銀行訓練數據源,均通過邊緣側的安全智能代理 TICS Agent 接入,前者數據是多維特征值,即機器學習中的 X 值(特征),后者數據是銀行記錄的個人履約情況,即機器學習中的 Y 值(標簽),銀行側也可以提供特征值,是典型的縱向聯邦訓練場景,每個參與方本地生成同態公私鑰對,私鑰本地保存,公鑰共享給其他參與方。訓練任務由 xx錢包側發起,TICS AGG 負責傳遞密文狀態的中間參數,解決 xx錢包和銀行的邊緣側各自部署在內網,網絡無法直連的問題。訓練后的模型每個參與方各自存儲部分模型,經過兩方的離線批量或在線聯邦推理后,生成的信用評估分發布到云測的信用分服務中,該分值封裝為外部可直接調用的風控評估服務接口,滿足銀行側新增用戶的風控檢測需求。
方案實施前置條件:
聯盟參與方均已加入數據聯盟,完成 TICS Agent 代理部署,參考 跨內網代理部署 TICS Agent
數據提供方(xx錢包、銀行)已準備聯邦學習訓練數據資源,且已導入邊緣代理節點目錄
3 數據接入
聯邦學習場景,邊緣代理數據接入有兩種方式:代理本地路徑接入或華為云對象存儲服務 OBS 接入,本案例采用前者,包括以下步驟:
登錄 TICS Agent 代理:登錄華為云控制臺 TICS 服務,選擇 代理管理,點擊代理名進入代理管理頁面,點擊代理登錄地址 “前往代理 Agent”,打開代理登錄界面,輸入代理用戶名 Admin 與代理登錄密碼,完成代理登錄
查看本地連接器狀態:點擊連接器管理,查看名字為 localConnector 的本地連接器狀態是否顯示為 “正常”;本地連接器在代理創建時即自動新建,無須手動創建
創建數據:登錄代理頁面,點擊 數據管理 > 創建,輸入數據名稱,選擇連接器 localConnector,點擊按鈕 “選擇數據文件”,選擇訓練數據集(須提前導入到代理服務器本地路徑,默認為 /home/service/tics/data,或通過代理頁面 > 算法管理 > 創建 手工導入),對字段進行配置,設置字段類型和字段類別,字段類別包括下面幾種
唯一標識(ID):具備唯一性,用于關聯聯邦學習多個參與方的數據
特征(Feature):X 值,一般會有多個特征值,在本案例中即個人的多個維度的分析數據
標簽(Label):Y 值,如分類問題中圖片是貓還是狗都屬于標簽值,是機器學習分析模型的預測目標
準備數據配置參考內容
本案例中 xx錢包提供 ID 和特征數據,字段結構如下:第 1 列是 ID 值,第 2~37 列是特征值。
銀行提供 ID、特征數據和標簽數據,字段結構如下:第 1 列式 ID 值,第 2~3 列是 特征值,第 4 列是標簽值。
4 聯邦訓練
聯邦訓練由 xx錢包側發起,包括以下步驟:
登錄 xx錢包代理頁面,選擇 作業管理 > 聯邦機器學習 > 創建,輸入以下配置項,單擊 “確定” 按鈕,完成創建作業
在 作業管理 > 聯邦機器學習 頁面,可查看到剛剛創建的作業,點擊按鈕 “開發”,進入作業開發設置頁面,依次完成操作
數據選擇:勾選 xx錢包和銀行側上傳的訓練數據集,點擊右下角紅色按鈕 “下一步”
樣本對齊:由于本次測試數據集已提前完成樣本對齊工作,直接點擊下一步即可;若兩側的訓練數據未進行樣本對齊,須選擇兩側訓練數據的樣本對齊字段,執行對齊操作
特征選擇:默認采用等頻分箱策略,可以選擇參與聯邦學習訓練的特征,若跳過該步驟,則默認將使用所有特征
模型訓練:點擊右下角紅色按鈕 “啟動訓練”,發起聯邦訓練任務,在歷史作業中科查看訓練任務執行狀態
模型評估:訓練任務完成后生成預測模型,可選擇使用模型對測試數據集進行評估作業,點擊 “評估作業”按鈕,輸入測試樣本數據集,發起模型評估操作
創建縱向聯邦訓練作業配置指南參考
5 數據安全
本案例采用縱向聯邦學習技術,使用同態加密計算支持 XGBoost 訓練業務場景,xx錢包和銀行側在作業開始前,各生成公私鑰對,并將公鑰同步給對方。
聯邦學習訓練的全過程參考上圖,包括以下步驟:
交行啟動訓練,觸發 XGBoost 算法,本地 XGBoost 算法基于用戶標簽,生成每個樣本的一階梯度 g 和二階梯度 h
調用同態加密模塊, 將每個樣本的一階梯度 g 和二階梯度 h 用自身公鑰加密
將加密的每個樣本的 [[g]] 和 [[h]] 發送給 xx錢包
xx錢包方共有36個特征,假設每個特征有10個候選的分割點,則使用同態計算每個候選分割點(36*10=360個點)的左子樹,右子樹的加密的 [[g]] 和 [[h]]的累加和,生成密文 [[G]] [[H]]
xx錢包側返回加密的累積和 [[G]] [[H]]
銀行用本地同態私鑰,解密獲得明文 G H,共 720 個值(360 個分割點,左右子樹,即 360 * 2 )
銀行側計算每個分割點的分數 Gain,并將分數返回給 xx錢包
xx錢包選擇分數最高的分割點,優先作為樹模型的分割節點
注:以上步驟中涉及的證書,統一由華為云 TICS 服務發放
重復執行以上 1 - 8 步驟,直到選出所有樹模型的最優分割點 ,完成樹模型的構建
6 應用價值
各參與方在不泄露各自數據前提下,基于 TICS 的聯邦學習方案完成了基于多方數據的聯合建模,有助于提升用戶風控模型準確度。經實測驗證,在信用卡發放審批場景,聯邦學習風控建模可幫助提升批復率 5~10 個點,對于提升終端用戶體驗很有幫助。
從技術上分析,本方案以下幾個功能特性獲得用戶高度認可:
高性能聯邦學習加密算法:在本方案中,實現聯邦訓練和同態加密的協同優化,支持基于矩陣的密態數據計算,實現樹節點選擇的批量計算,大幅提升聯邦學習訓練效率
云邊協同技術架構:支持用戶數據云側或邊側部署,滿足銀行側數據本地化存儲要求
開箱即用的聯邦學習框架:簡單易用、所見即所得,用戶通過簡單配置即可完成聯邦學習建模操作,復雜的數據加密處理等過程封裝在后臺,大幅降低業務用戶使用聯邦學習的技術門檻
場景豐富:支持 XGBoost(包括分類和線性回歸模型)、邏輯回歸、決策樹模型和神經網絡模型,支持縱向和橫向聯邦學習建模,滿足多樣化的用戶業務場景需求
聯邦協同:支持多廠商異構聯邦學習框架互聯互通,建立跨廠商聯邦學習技術生態體系,協同訓練
7 FAQ
Q1 模型訓練由哪一側發起
參與聯邦學習的任意一方,均可作為模型訓練的發起方
Q2 聯邦學習的訓練效率怎么樣
TICS 測試聯邦學習運行 XGBoost 5 課樹 5 層大概要 10 分鐘,純本地運行同樣的模型,預計在1分鐘左右。因此聯邦學習對訓練效率會有 10 倍左右的影響,主要是加解密操作和密文計算帶來的額外時延等影響比較大。
相比業界其他聯邦學習平臺,TICS 聯邦學習訓練效率有 2~3 倍左右的提升,TICS 的聯邦訓練和同態加密操作做了協同優化,支持基于矩陣的密態數據計算,實現樹節點選擇的批量計算,借助并行計算方式大幅提升聯邦學習訓練效率。
機器學習 金融專區
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。