本網站內容使用人工智慧(AI)或機器翻譯技術翻譯,可能存在錯誤。

Skip to content

開放 Roblox 個人識別資訊分類器原始碼:我們在聊天室中進行 AI 個人識別資訊偵測的方法

運用上下文來提升檢索率

每天,使用者在 Roblox 上平均產生 61 億則聊天訊息。我們採用強大的內容審查系統、設定年齡限制,並提供家長控制功能,以協助維持溝通環境的安全與文明。平台上絕大多數的訊息都是日常對話,例如兩位朋友討論遊戲策略,但在極少數的訊息中,使用者會試圖分享可能涉及敏感內容的個人識別資訊 (PII)。 PII 形式多樣,而用戶分享的動機往往無害:例如為協調遊戲策略而分享其他平台的用戶名稱,或為建立新友誼而提供電話號碼。然而,在極少數情況下,惡意使用者會藉此誘騙用戶離開 Roblox,轉往其他可能面臨更高現實世界危害風險的平台。 實際上,這些意圖差異難以辨別,因此我們制定了嚴格的政策,禁止分享或索取 PII。我們預設會使用多種工具,在聊天中封鎖所有偵測到的 PII,僅對年滿 18 歲的使用者,以及已相互驗證為「可信聯繫人」的 13 至 17 歲使用者放寬限制。 

PII 偵測是整個產業面臨的技術挑戰。業界標準的偵測工具可能被繞過,且缺乏適應新興語言模式的能力。雖然沒有任何工具是完美的,但我們開發了一款 AI 模型「Roblox PII 分類器」,以因應語言的演變特性,並利用語境來偵測使用者試圖繞過過濾器以索取或分享 PII 的情況。

我們很高興宣布,今日我們將 PII 分類器與其他開源安全工具包中的工具一併開源。自 2024 年底導入 PII 分類器以來,我們觀察到召回率呈現快速且持續的提升,其表現已超越其他現有模型。我們今日開源的 PII 模型版本,在 Roblox 平台上的英文文本中,對潛在 PII 對話的召回率達 98%¹。 該模型在我們的生產數據上亦達到了 94% 的 F1 分數,表現優於其他頂尖安全模型,例如 LlamaGuard v3 8B(28%)和 Piiranha NER(14%)。 

挑戰 

在大規模環境下有效偵測個人識別資訊(PII),歸根結柢有三大挑戰: 

  1. 對抗性模式:使用者充滿創意,並不斷尋找新的方法來繞過過濾機制。有效的系統必須隨著語言演變及新模式的出現而適應。
  2. 訓練與評估:為了建構最有效的模型,我們必須建立有效的訓練資料集與評估方法。由於模型必須涵蓋新興模式,現有的生產資料並不足以用於訓練。  
  3. 效能:要在大規模環境中部署此類模型,需要周詳的架構規劃與優化決策,以避免對使用者體驗造成負面影響。

對抗性模式

現有的個人識別資訊 (PII) 偵測解決方案主要依賴命名實體識別 (NER),即在詞元層級偵測特定類型的名詞,例如社群媒體帳號、電話號碼和地址。但偵測名詞僅是挑戰的一部分。狡猾的不法分子會刻意改變語言以繞過 NER 偵測(例如使用 AlphaBravoCharlie 來代表 ABC,或提及某個平台卻不直接點名)。 惡意行為者可能在不分享任何會被 NER 過濾器攔截的敏感資訊下,仍暗示其有意在其他平台建立聯繫。PII 分類器的任務不僅是偵測並模糊化 Roblox 上分享的明確 PII 文字,更需理解溝通的上下文,並從源頭阻止惡意行為者進行涉及 PII 的對話。 

以下是利用假想社交平台「StarTalk」進行的幾種典型規避模式:

字元層級的操縱
  1. 「你有像 5tärtālk 這種想打電話的嗎?我大概幾天前才創了個帳號」
  2. 「ggrr 我超討厭這個標籤 妳叫什麼名字 那是 S 和 T」
對熱門社交媒體的隱晦提及
  1. 「再問一次,你的Rats PPA是Reverse嗎?」
  2. 「嘿,你能幫我在黃太陽應用程式上查一下我的名字嗎?我們在那邊聊吧?」

語言和俚語會隨著時間演變,而惡意使用者也持續尋找新的方法來規避過濾機制。PII Classifier 的優勢在於它能夠適應新出現的語言模式和規避手段。當我們偵測到現實世界中的對抗性模式時,會將其整合回模型中,以協助模型持續進行訓練。 

訓練與評估 

未定義
資料整理的三大支柱支撐著模型開發,而模型開發反過來又促進更完善的資料整理。

為了初步訓練模型,我們手動審查並標記了與個人識別資訊(PII)相關的資料。這為我們提供了起點,但無法讓我們快速擴展規模並涵蓋廣泛多樣的場景。與其試圖手動梳理每日數十億則聊天訊息中出現的每個詞彙及其變體,並套用適當的標籤,我們改為建置並測試資料採樣器,以篩選出相關樣本進行訓練。 我們的目標是排除無害的對話,並專注於包含 PII 相關資料的對話,以降低人工標記錯誤的可能性並涵蓋更廣泛的範圍。經實證,以下兩種採樣器最為有效:

  1. 基於模型評分輸出的不確定性抽樣:此抽樣器選取未引發強烈正向或負向訊號的樣本,讓我們能進一步精確處理模糊案例。
  2. 連續 PII 區塊中的樣本:此採樣器從那些在某些對話中被標記,但在連續對話中未被標記的用戶中選取樣本。這些後續對話更可能包含已繞過當前 PII 過濾器的非典型語言。實際上,這可能表現為用戶未能繞過系統,並不斷嘗試直至找到巧妙的漏洞。 

這種結合資料抽樣與對現行生產資料進行人工標註的方法,為模型訓練奠定了堅實基礎;但由於我們的目標是涵蓋新興模式,因此需要一種方法來訓練尚未存在於樣本中的資料。 

AI 生成的合成數據

若僅依賴現有抽樣數據,可能會引入偏見,並限制模型在新的溝通模式演變時適應的能力。例如,Roblox 上最常見的 PII 請求是關於熱門社交媒體平台的帳號。僅以生產環境數據訓練的模型可能會對最常見的請求產生偏好,而在處理較罕見的請求(例如較不知名的社交媒體平台、電子郵件地址和電話號碼)時表現不佳。 用戶的溝通方式也往往趨向於使用熱門詞彙和語言模式。僅以生產數據訓練的模型可能會對常見語言模式產生偏見,而無法識別以非典型或新興方式表達的違規內容。

為消除這些及其他偏見,我們設計了一套 AI 資料生成流程,旨在針對初始訓練資料集遺留的任何弱點進行強化。首先,我們結合多種變數(包括情境、PII 類型、使用者角色、語言及範例對話內容)來生成提示語。接著,我們根據這些提示語生成新的對話內容,並將其輸入模型中。  

人工與 AI 紅隊測試

在開發過程中,我們同時採用人工與 AI 紅隊測試(即團隊模擬敵對攻擊以測試系統防禦能力),藉此驗證模型的有效性並優化訓練。 我們邀請版主嘗試各種索取與分享 PII 的方法,並引導大型語言模型(LLMs)以多種方式擴展這些方法,隨後將模型未偵測到的樣本加入訓練資料集。AI 紅隊測試協助我們快速驗證多種變體,並涵蓋版主可能未曾觸及的方法。例如: 

原始:密碼是 xxxx
AI 增強:密碼是 xxxx

原始:Bella,我的電話號碼是 346
AI 增強:Bella,我的號碼其實是 threefour6

紅隊測試協助我們更深入理解現行訓練資料的缺口,並調整合成資料以填補這些缺口。此方法亦讓我們能衡量模型迭代版本之間的差異——當兩個模型版本開始在評估集達到飽和時,此項比較將變得愈發困難。我們透過紅隊測試工具部署多個模型版本,在相同環境下直接比較繞過率,從而判定哪個模型在統計上更為有效。

效能 

PII 分類器在 Roblox 平台上平均每日處理 61 億則聊天訊息,每秒查詢量高峰可達 20 萬次以上。 我們以低於 100 毫秒的 P90 延遲處理此流量。為平衡服務效能與品質,我們採用純編碼架構,並以 XLM-RoBERTa-Large2 為基礎對模型進行微調。我們將分詞器與前後處理服務分離,使其能在 CPU 上高效運行,並將純變壓器架構部署於 GPU 以降低成本。此外,我們在 Triton 伺服器上採用動態批次處理以提升吞吐量。 

公開與內部資料集的效能測試 

我們使用自身的生產數據及公開資料集,將 PII Classifier 與其他最先進的模型進行了基準測試。大多數公開的 PII 資料集側重於 PII 文字本身,而非可能透露意圖的周邊文字,因此沒有任何資料集能完全符合我們平台的基準測試要求。 儘管如此,我們仍希望透過熱門的 PII 資料集(例如 Kaggle 上 The Learning Agency Lab 的 PII 資料偵測資料集³)來評估本模型相較於現行偵測解決方案的表現。

我們採用 F1 分數作為評估指標,因為比較中的大型語言模型(LLMs)僅提供一組(召回率、精確度)的指標。 對於輸出分類分數的模型,我們報告了在測試集上的最佳 F1 分數。請注意,我們的模型需要一段用戶聊天對話作為輸入,並輸出一個 PII 分數,我們利用該分數對聊天對話進行二元判斷。為了進行公平的比較,我們將公開資料集按句子分割,並將包含任何正向 NER PII 標記的句子標記為正例。

PII V1.1

LlamaGuard-v3 1B

LlamaGuard-v3 8B

LlamaGuard-v4 12B

NemoGuard 8B

Piiranha 名詞識別

Kaggle 個人識別資訊 (PII) 資料集

45.48%

5.90%

5.46%

3.72%

3.26%

33.20%

Roblox 估值(英文)

94.34%

3.17%

27.73%

26.55%

26.29%

13.88%

在我們的基準測試中,無論是在 The Learning Agency Lab 的公開資料集,還是包含超過 47,000 個 Roblox 上多元真實世界樣本的內部生產資料中,我們的模型都大幅超越了其他開源模型。專注於整合更廣泛的對話語境,並持續適應語言的流動特性,已被證明是偵測更多用戶意圖索取或分享 PII 對話的有效方法。  

PII 分類器僅是我們用於促進 Roblox 平台安全與文明的眾多創新系統之一。透過偵測對話何時轉向索取 PII,我們得以攔截那些可能在其他情況下逃過偵測的隱晦請求。雖然沒有任何系統是完美的,但我們在實際運作的第一年所取得的成果已相當令人鼓舞,我們很興奮能將此工具與我們開源安全工具包中的其他工具一併分享給開源社群。 

  1. 98% 的召回率是基於 Roblox 內部測試集,在 1% 假陽性率 (FPR) 下測得的。該資料集取自生產環境數據,並經安全專家多次審查與標註。
  2.  Conneau, A., Khandelwal, K., Goyal, N., Chaudhary, V., Wenzek, G., Guzmán, F., Grave, E., Ott, M., Zettlemoyer, L., and Stoyanov, V. 2019. 大規模無監督跨語言表徵學習。arXiv 預印本 arXiv:1911.02116
  3.  Holmes, L., Crossley, S. A., Sikka, H., and Morris, W. 2023. PIILO:一個用於個人可識別資訊標記與模糊處理的開源系統。《資訊與學習科學》,124 (9/10),266-284。