使用Databricks Lakehouse平台的大規模反洗錢解決方案Beplay体育安卓版本
2021年7月16日 在工程的博客
反洗錢(AML)合規無疑是監管機構對全球金融機構進行監管的首要議程之一。幾十年來,隨著“反洗錢”的演變和越來越複雜,旨在打擊現代洗錢和恐怖主義融資計劃的監管要求也在不斷發展。的1970年《銀行保密法》為金融機構提供指導和框架,以適當控製金融交易,並向有關當局報告可疑的財政活動。該法為金融機構打擊洗錢和金融恐怖主義提供了框架。
為什麼反洗錢如此複雜
當前的“反洗錢”行動與過去十年幾乎沒有相似之處。隨著金融機構(FI)每天處理數十億筆交易,向數字銀行的轉變導致了洗錢範圍的不斷擴大,即使有更嚴格的交易監控係統和強大的了解你的客戶(KYC)解決方案。在本博客中,我們將分享我們與金融機構客戶一起構建企業級反洗錢解決方案的經驗beplay体育app下载地址lakehouse平Beplay体育安卓版本台這既提供了強有力的監督,又提供了創新的、可擴展的解決方案,以適應現代在線洗錢威脅的現實。
使用lakehouse構建AML解決方案
每天處理數十億筆交易的運營負擔來自於需要存儲來自多個來源的數據,以及電力密集型的下一代“反洗錢”解決方案。這些解決方案提供了強大的風險分析和報告,同時支持使用先進的機器學習模型來減少誤報,提高下遊調查效率。金融機構已經采取措施解決基礎設施和擴展問題,從內部部署轉移到雲端,以獲得更好的安全性、靈活性和存儲大量數據所需的規模經濟。
但接下來的問題是,如何理解在廉價的對象存儲中收集和存儲的大量結構化和非結構化數據。雖然雲供應商提供了一種廉價的數據存儲方式,但要理解下遊AML風險管理和合規活動的數據,首先要以高質量和高性能的格式存儲數據,以供下遊消費。的磚LakehouseBeplay体育安卓版本平台正是這樣做的。通過將數據湖的低存儲成本優勢與數據倉庫的強大交易能力相結合,金融機構可以真正構建現代的“反洗錢”平台。Beplay体育安卓版本
除了上述數據存儲挑戰之外,“反洗錢”分析師還麵臨一些關鍵的領域特定挑戰:
- 改進非結構化數據(如圖像、文本數據和網絡鏈接)的時間值解析
- 減少DevOps支持關鍵ML功能的負擔,例如實體解析、計算機視覺和實體元數據上的圖形分析
- 通過在AML事務和豐富的表格上引入分析工程和儀表板層來打破豎井
幸運的是,Databricks通過杠杆幫助解決這些問題三角洲湖存儲和組合非結構化和結構化數據,以建立實體關係;此外,Databricks的Delta引擎提供了使用新引擎的高效訪問光子計算加速對表的BI查詢。在這些功能之上,ML是lakakehouse的一等公民,這意味著分析師和數據科學家不會浪費時間進行子采樣或移動數據以共享儀表板,並領先於不良行為者一步。
使用圖形功能檢測AML模式
“反洗錢”分析師作為案件一部分使用的主要數據源之一是交易數據.盡管這些數據是表格形式的,並且可以很容易地用SQL訪問,但是用SQL查詢跟蹤三層或更多層的事務鏈會變得很麻煩。出於這個原因,有一套靈活的語言和api來表達簡單的概念是很重要的,比如可疑的個人一起非法交易的連接網絡。幸運的是,這很容易通過GraphFrames來實現,GraphFrames是一個預安裝在Databricks運行時機器學習。
在本節中,我們將展示如何使用圖分析來檢測AML方案,如合成身份和分層/結構化。我們將利用一個由事務組成的數據集,以及從事務派生的實體,用Apache Spark™、GraphFrames和Delta Lake檢測這些模式的存在。持久化模式保存在Delta Lake中,以便磚的SQL可以應用於這些發現的黃金級聚合版本,為最終用戶提供圖表分析的強大功能。
場景1——合成身份
如上所述,合成身份的存在可能會引起警報。使用圖表分析,我們可以批量分析交易中的所有實體,以檢測風險級別。在我們的分析中,這分為三個階段:
- 基於事務數據,提取實體
- 根據地址、電話號碼或電子郵件在實體之間創建鏈接
- 使用GraphFrames連接的組件來確定多個實體(由一個ID和上麵的其他屬性標識)是否通過一個或多個鏈接連接。
根據實體之間存在多少連接(即公共屬性),我們可以分配較低或較高的風險評分,並基於高分組創建警報。下麵是這個想法的基本表示。
首先,我們使用地址、電子郵件和電話號碼創建一個身份圖,如果個人符合這些屬性,就將他們聯係起來。
e_identity_sql =“‘在“aml”中選擇“entity_id”為src,“address”為DST。地址不為空的Aml_entities_synth聯盟“aml”中選擇“entity_id”為“src”,“email”為“DST”。email_addr不為空的Aml_entities_synth聯盟“aml”中選擇“entity_id”為“src”,“phone”為“DST”。phone_number不為空的Aml_entities_synth“‘從graphframes進口*從pyspark.sql.functions進口*aml_identity_g = GraphFrame(identity_vertices, identity_edges)result = aml_identity_g.connectedComponents()
結果\.select (“id”,“組件”,“類型”) \.createOrReplaceTempView (“組件”)
接下來,我們將運行查詢,以確定兩個實體何時具有重疊的個人識別和分數。基於這些查詢圖組件的結果,我們將期望隊列隻包含一個匹配屬性(例如地址),這並不太值得擔心。但是,隨著匹配的屬性越來越多,我們應該會收到警報。如下所示,我們可以標記所有三個屬性都匹配的情況,允許SQL分析人員從跨所有實體運行的圖分析中獲得每日結果。
場景2 -結構化
另一種常見的模式叫做結構,當多個實體串通起來,向一組銀行發送較小的“隱形”付款時,就會發生這種情況,這些銀行隨後將較大的總額發送給最終機構(如下圖最右邊所示)。在這種情況下,所有各方都保持在1萬美元的閾值以下,這通常會提醒當局。這不僅很容易用圖形分析來完成,而且母題發現技術可以自動擴展到網絡的其他排列,並以同樣的方式定位其他可疑交易。
現在,我們將編寫基本的圖案查找代碼,使用圖形功能檢測上述場景。注意,這裏的輸出是半結構化JSON;所有數據類型,包括非結構化類型,都可以在lakehouse中輕鬆訪問——我們將保存這些特定的結果以用於SQL報告。
主題=“(一)——(e1) - > (b);(b) - (e2) - > (c);(c) - (e3) - > (d);(e) - (e4) - > (f);(f) - (e5) - > (c);(c) - (e6) - > (g)”struct_scn_1=aml_entity_g.find(主題)joined_graphs=struct_scn_1.alias \(“a”).加入(struct_scn_1.alias (b)、坳(“a.g.id”)==坳(“b.g.id”))\.過濾器(坳(“a.e6.txn_amount”)+坳(“b.e6.txn_amount”)>10000)
使用母題發現,我們提取了有趣的模式,即資金通過4個不同實體流動,並保持在1萬美元的閾值以下。我們將我們的圖形元數據連接回結構化數據集,以生成反洗錢分析師進一步調查的見解。
場景3——風險評分傳播
被識別的高風險實體將對其圈子產生影響(網絡效應)。因此,必須調整與它們相互作用的所有實體的風險評分,以反映影響區域。使用迭代方法,我們可以跟蹤任何給定深度的事務流,並調整網絡中其他受影響的風險評分。如前所述,運行圖分析可以避免多個重複的SQL連接和複雜的業務邏輯,這可能會由於內存限製而影響性能。圖表分析和Pregel API正是為此目的而構建的。最初由穀歌開發,Pregel允許用戶遞歸地將消息從任何頂點“傳播”到其對應的鄰居,在每一步更新頂點狀態(這裏是它們的風險評分)。我們可以使用Pregel API表示我們的動態風險方法,如下所示。
上圖顯示了網絡的初始狀態和兩個後續迭代。假設我們從一個風險評分為10的不良參與者(節點# 3)開始。我們希望懲罰所有與該節點(即節點4、5和6)進行交易的人,並通過傳遞(例如,不良參與者的一半風險分數)來獲得資金,然後將其添加到他們的基礎分數中。在下一次迭代中,從節點4、5、6下遊的所有節點的分數都將被調整。
節點號 | 迭代# 0 | 迭代# 1 | 迭代# 2 |
1 | 0 | 0 | 0 |
2 | 0 | 0 | 0 |
3. | 10 | 10 | 10 |
4 | 0 | 5 | 5 |
5 | 0 | 5 | 5 |
6 | 0 | 5 | 5 |
7 | 0 | 0 | 5 |
8 | 0 | 0 | 0 |
9 | 0 | 0 | 2.5 |
10 | 0 | 0 | 0 |
使用Pregel API在GraphFrame中,我們可以執行這個計算,並將修改後的分數持久化,以供其他下遊應用程序使用。
從graphframes。lib import Pregel排名=aml_entity_g。pregel \.setMaxIter (3.) \.withVertexColumn (“risk_score”,坳(“風險”),合並(Pregel.msg ()+坳(“風險”),坳(“risk_score”))) \.sendMsgToDst (Pregel.src(“risk_score”)/2) \.aggMsgs (總和(Pregel.msg ())) \.run ()
地址匹配
我們想簡要介紹的一個模式是文本與實際街景圖像的地址匹配。通常情況下,AML分析師需要驗證鏈接到文件實體的地址的合法性。這個地址是商業大廈、住宅區還是簡單的郵箱?然而,分析圖片往往是一個繁瑣、耗時和手動獲取、清理和驗證的過程。湖屋數據架構允許我們使用Python和ML運行時以及PyTorch和預訓練的開源模型來自動化大部分任務。下麵是一個人眼有效地址的示例。為了自動驗證,我們將使用預先訓練好的VGG模型,其中有數百個有效對象,我們可以使用它來檢測住宅。
使用下麵的代碼(可以自動地每天運行),我們現在將所有圖像都附加了一個標簽——我們已經將所有圖像引用和標簽加載到一個SQL表中,以便更簡單地查詢。請注意下麵的代碼,查詢一組圖像中的對象是多麼簡單——使用Delta Lake查詢這種非結構化數據的能力為分析人員節省了大量時間,並將驗證過程縮短到幾分鍾,而不是幾天或幾周。
從公益訴訟進口圖像從matplotlib進口厘米
img = Image.fromarray(img)...VGG = models.vgg16(預訓練=真正的)預測= vgg(img)forecast = forecast .data.numpy().argmax()Img_and_labels [i] = labels[預測]
當我們開始總結時,我們注意到一些有趣的類別出現了。如下圖所示,有一些明顯的標簽,如露台、活動房屋和摩托車,我們預計會在住宅地址中檢測到。另一方麵,CV模型在一張圖像中標記了一個來自周圍物體的太陽盤。(注意:由於我們被限製在一個開源模型上,而不是在自定義圖像集上進行訓練,因此太陽能板標簽是不準確的。)在進一步分析圖像後,我們立即看到i)這裏沒有一個真正的太陽盤,更重要的是ii)這個地址不是一個真正的住所(如圖所示)。Delta Lake格式允許我們存儲對非結構化數據的引用以及一個標簽,以便在下麵的分類分類中進行簡單查詢。
實體解析
我們將關注的最後一類“反洗錢”挑戰是實體解析.許多開源庫解決了這個問題,所以對於一些基本的實體模糊匹配,我們選擇突出顯示Splink,它實現了大規模的鏈接,並提供了指定匹配列和阻塞規則的配置。
在從我們的事務派生的實體上下文中,將我們的Delta Lake事務插入到Splink上下文中是一個簡單的練習。
設置= {“link_type”:“dedupe_only”,“blocking_rules”:【"l.txn_amount = r.txn_amount",),“comparison_columns”:【{“col_name”:“rptd_originator_address”,},{“col_name”:“rptd_originator_name”,}]}從splink進口Splink鏈接器= Splink(設置,df2, spark)Df2_e = link . get_scored_compare ()
Splink的工作原理是分配一個匹配概率,該概率可用於識別實體屬性高度相似的交易,就報告的地址、實體名稱或交易金額發出潛在警報。考慮到實體解析對於匹配帳戶信息可能是高度手動的,擁有自動化這項任務並將信息保存在Delta Lake中的開源庫可以使調查人員在案件解決中更加高效。雖然有幾個實體匹配選項,但我們建議使用位置敏感散列(LSH)來確定作業的正確算法。你可以了解更多關於LSH和它的好處這篇博文.
如上所述,我們很快發現紐約梅隆銀行地址有一些不一致,“加拿大廣場,金絲雀碼頭,倫敦,英國”與“加拿大廣場,金絲雀碼頭,倫敦,英國”相似。我們可以將重複數據刪除的記錄存儲回一個delta表,用於AML調查。
AML湖屋儀表盤
Databricks SQL在lakakehouse上正在縮小與傳統數據倉庫在簡化數據管理方麵的差距,新的查詢引擎Photon的性能和用戶並發性。這一點很重要,因為許多組織沒有預算購買價格過高的專有“反洗錢”軟件來支持各種用例,例如打擊恐怖主義融資(CFT),這有助於打擊金融犯罪。在市場上,有專用的解決方案可以執行上麵的圖表分析,專用的解決方案可以解決倉庫中的BI,專用的解決方案用於ML。AML湖屋設計統一了這三者。AML數據平台團隊Beplay体育安卓版本可以以較低的雲存儲成本利用Delta Lake,同時輕鬆集成開源技術,以生成基於圖形技術、計算機視覺和SQL分析工程的策劃報告。下麵我們將展示AML報告的實體化。
附加的筆記本產生了一個交易對象、實體對象,以及使用預先訓練的模型構建前景、合成身份層和地址分類等摘要。在下麵的Databricks SQL可視化中,我們使用我們的Photon SQL引擎對這些數據和內置可視化執行摘要,在幾分鍾內生成一個報告儀表板。兩個表以及儀表板本身都有完整的acl,允許用戶與管理人員和數據團隊共享—還內置了定期運行該報告的調度程序。儀表板是內置在AML解決方案中的AI、BI和分析工程的頂峰。
開放式銀行轉型
開放銀行的興起使金融機構能夠通過api在消費者、金融機構和第三方服務提供商之間共享數據,從而提供更好的客戶體驗。一個例子是支付服務指引(PSD2),該計劃改變了歐盟地區的金融服務歐洲開放銀行監管。因此,金融機構可以從多家銀行和服務提供商獲得更多數據,包括客戶賬戶和交易數據。根據FinCEN的最新指導,這一趨勢在欺詐和金融犯罪領域得到了擴展section 314 (b)美國愛國者法案;受保護的金融機構現在可以與其他金融機構以及國內和國外分支機構共享有關涉嫌參與潛在洗錢的個人、實體、組織等的信息。
雖然信息共享條款有助於提高透明度,並保護美國金融係統不受洗錢和恐怖主義融資的影響,但信息交換必須使用具有適當數據和安全保護的協議。為了解決信息共享的安全問題,Databricks最近宣布三角洲分享,一個開放和安全的數據共享協議。使用熟悉的開源API,如Pandas和Spark,數據生產者和消費者現在可以使用安全和開放的協議共享數據,並對所有數據交易進行全麵審計,以保持符合FinCEN法規。
結論
湖屋架構是最具可擴展性和最多功能的平台,使分析師能夠進行“反洗錢”分析。Beplay体育安卓版本Lakehouse支持從模糊匹配到圖像分析到內置儀表板的BI用例,與專有的AML解決方案相比,所有這些功能將允許組織降低總體擁有成本。Databricks的金融服務團隊正在解決金融服務領域的各種業務問題,並使數據工程和數據科學專業人員能夠開始Databricks的旅程解決方案加速器像AML。
試筆記本電腦在Databricks上加速您的AML開發策略聯係我們了解更多關於我們如何幫助具有類似用例的客戶的信息。beplay体育app下载地址