主要要點

  • Binance 使用機器學習模型來監控平臺上的可疑活動。

  • 被稱爲陳舊特徵的問題會對此類模型的性能產生負面影響,導致它們做出不準確的預測或分類。

  • 我們的流媒體管道(或不斷向模型提供實時數據的過程)由兩部分組成:數據處理和數據服務。

  • 數據處理又分爲流計算、採集、下沉三類。

瞭解我們如何使用機器學習來保護幣安生態系統。

我們的風險 AI 團隊由機器學習工程師和數據科學家組成,他們晝夜不停地打擊欺詐行爲並保護幣安用戶。爲實現這一目標,他們使用人工智能驅動的解決方案來識別和應對潛在威脅,例如點對點 (P2P) 詐騙、支付詳細信息盜竊和帳戶接管攻擊 (ATO) 等等。

在本文中,我們將解釋我們的風險 AI 團隊如何使用流媒體管道來確保實時響應以及幕後發生的情況。

如果您不熟悉機器學習,我們建議您閱讀以下部分,以瞭解我們將在本文中使用的某些術語的基本概述。

批處理和流式處理

機器學習工程師通常使用兩種類型的管道:批處理和流式傳輸。兩者各有利弊,具體取決於情況的需要。

批量管道,顧名思義,就是批量處理數據。工程師通常使用它們來處理大量數據。

另一方面,流式管道在收集數據時會實時處理數據。這使得它們非常適合需要近乎即時響應的情況;例如,在黑客從被盜賬戶中提取資金之前檢測到他們。

請注意,這兩個管道同等重要。流式管道非常適合提供實時響應,而批處理管道更擅長處理大量數據。

在防範欺詐的情況下,我們需要優先考慮實時數據,以避免出現所謂的“模型陳舊”的情況,即機器學習模型變得過時或不準確。

過時的意義

就像人們如果不及時瞭解最新的信息或技術,完成任務的效率就會降低一樣,機器學習模型如果不根據情況定期更新,準確性也會降低。

您肯定不希望設計用於防止欺詐的模型變得陳舊。其後果包括模型錯誤地將合法交易標記爲欺詐或無法識別受損賬戶。因此,我們使用流式管道來確保欺詐預防模型能夠處理實時數據。

賬戶接管 (ATO) 模型的計算

讓我們以 ATO 模型爲例,我們訓練該模型來識別被犯罪分子惡意劫持的賬戶。該模型衡量的特徵之一是特定客戶在過去一分鐘內進行的交易次數。

黑客傾向於遵循連續模式,在短時間內進行大量操作,例如提款。我們的系統必須在潛在威脅發生時儘快計算此功能。這意味着儘量減少用戶採取行動和我們的模型處理該用戶活動數據之間的延遲。幾秒鐘的時間就可能決定阻止黑客和用戶損失所有資金之間的差別。

有關延遲特徵如何影響模型性能的更多信息,可以參考 LinkedIn Engineering 的這篇文章:近實時個性化的近實時特徵。

批量計算的作用

請注意,特徵陳舊性的重要性可能取決於所使用的模型或特徵。例如,某些特徵相對穩定。在上面提到的 ATO 案例中,我們還需要檢索用戶過去 30 天內的提款數據,以根據他們最近的交易計算比率。

在這種情況下,儘管等待數據到達數據倉庫和等待批處理作業定期運行會導致更高的陳舊性,但較長時間段(例如每日或每小時間隔)的批量計算是可以接受的。

平衡新鮮度和延遲

最終,批處理和流式處理管道之間的選擇應基於用例的具體要求和相關功能。仔細考慮這些因素使我們能夠構建有效的欺詐預防系統來保護我們的用戶。

對於時間敏感的特徵,使用流式管道可以讓我們優先考慮新鮮度而不是延遲。上圖說明了這種需求,因爲檢索特徵的操作數應該是三個而不是兩個。

這就是爲什麼實時機器學習流程對於我們的風險團隊的日常運營至關重要。

分解流媒體管道

幣安風險AI團隊的實時機器學習主要包括兩部分:

  • 數據處理(圖表上部)

  • 數據服務(圖表下部)

數據處理

關於數據處理,我們可以根據流水線(Flink Job)的職責將其分爲三類:

  • 流計算:特徵工程

  • 流提取:特徵提取

  • 流下沉:數據豐富

流計算

管道的流計算組件負責近實時的特徵工程,即從原始數據中提取特徵的過程。

它預先計算我們的機器學習模型將用於在線預測的特徵。流式計算管道有兩種計算方法:基於時間的和基於事件的。

  1. 基於時間。每 10 分鐘計算一次交易數量。這會帶來一些過時性,但會降低延遲。

  2. 基於事件。根據到達的事件計算特徵。這可以降低陳舊性,但會稍微增加延遲。

我們傾向於儘可能不使用實時計算,原因如下:

  1. 延遲和陳舊性之間存在權衡。在線請求到達時計算特徵會將計算邏輯限制爲輕量級方法。雖然這種方法降低了陳舊性,但特徵計算會增加預測延遲。

  2. 由於預測和計算服務相互依賴,因此獨立擴展具有挑戰性。

  3. 根據請求流量進行按需計算會產生不可預測的擴展壓力。

  4. 實時計算不適用於我們的模型監控(訓練服務偏差)和特徵監控解決方案,因爲特徵不存儲在中央數據庫(即特徵存儲)中。

流攝取

流提取組件負責將特徵從機器學習平臺 Kafka 近乎實時地提取到我們的特徵存儲中。特徵存儲是集中式數據庫,用於存儲常用特徵。它們在機器學習管道中起着至關重要的作用。您可以在以下文章中瞭解有關它們的更多信息:深入瞭解我們的機器學習特徵存儲和使用 MLOps 構建實時端到端機器學習管道。

流接收器

流接收器組件主要負責根據項目需求將實時事件發送到特定目的地 - 例如高度分佈式文件系統(HDFS)如 S3 或其他外部數據庫(如 ElasticSearch)。

對於我們的風險 AI 團隊來說,通常有兩種數據豐富模式可以應用於 Kafka 中的實時數據,具體取決於用例:

  1. 靜態數據。例如,檢索 Flink 作業中與 P2P 相關的業務項目的 S3 中的熱門製作者列表。參考數據是靜態的,每月只需更新不到一次。

  2. 動態數據。例如,實時匯率(BTC 兌換 USD)是從 Redis 等外部數據庫獲取的。如果參考數據發生變化,則按記錄查找可確保低延遲和高準確性。

數據服務

管道的數據服務組件負責在線預測和批量計算。

  1. 在線預測。當請求通過決策中心(我們風險團隊的內部規則引擎)時,就會發生這種情況。然後,相關服務將調用特徵存儲來檢索特徵並將其發送到機器學習模型進行評分。我們的風險 AI 團隊擁有 20 多個機器學習模型,旨在處理不同的業務需求。

  2. 批量計算。雖然它可能會導致長達幾天的延遲,但它在這裏起着重要作用,因爲它補充了實時計算的特徵。

結束語

值得注意的是,加密貨幣市場全天候運營,不像傳統金融市場有開市和收市時間。每一秒都有新的數據(提款、存款、交易等)不斷涌入,這需要我們警惕試圖竊取用戶資金或個人信息的不良行爲者。

我們的風險 AI 團隊孜孜不倦地開發和維護一個複雜的 AI 系統,可以有效地標記可疑活動。 感謝他們的努力,我們可以迅速採取行動,保護受損的幣安賬戶免受潛在損失或儘可能減輕損失。

請繼續關注我們在機器學習方面的更多見解,或查看下面我們之前的一些文章。對幣安的機器學習職業感興趣?在我們的職業頁面上查看幣安工程的公開招聘信息。

進一步閱讀

  • 仔細瞭解我們的機器學習特徵商店

  • 使用 MLOps 構建實時端到端機器學習管道

  • 一致性和欺詐檢測中的特徵工程案例研究