Roblox PII分類モデルのオープンソース化:チャットにおけるAIによるPII検出への当社のアプローチ
コンテキストを活用したリコールの向上

Robloxでは、ユーザーが1日平均61億件のチャットメッセージを送信しています。当社は、コミュニケーションの安全性と健全性を維持するため、堅牢なモデレーションシステムを導入し、年齢制限を設定し、ペアレンタルコントロールを提供しています。プラットフォーム上のメッセージの大部分は、友人同士でゲームプレイの戦略を話し合うような日常的な会話ですが、ごく一部のメッセージにおいて、ユーザーが機密性のある個人を特定できる情報(PII)を共有しようとするケースがあります。 PIIには様々な形態があり、ユーザーは多くの場合、無害な理由でこれを共有します。例えば、ゲームプレイの調整のために他のプラットフォームのユーザー名を共有したり、新たな友情を築くために電話番号を共有したりすることがあります。しかし、ごく稀に、悪意のある者がPIIを求め、ユーザーをRobloxから他のプラットフォームへ誘導し、現実世界での危害を受けるリスクが高まる可能性のある場所へ誘い出そうとするケースがあります。 実際には、こうした意図の違いを見分けることは困難です。そのため、当社はPIIの共有や要求に対して厳格なポリシーを設けています。デフォルトでは、チャット内で検出されたすべてのPIIをブロックする複数のツールを採用しており、制限を緩和するのは、18歳以上のユーザー、および「信頼できる接続(Trusted Connections)」として相互認証を行った13歳から17歳のユーザーに限られています。
PIIの検出は、業界全体にとって技術的な課題です。業界標準の検出ツールは回避される可能性があり、新たな言語パターンに適応する能力に欠けています。完璧なツールは存在しませんが、私たちは言語の進化する性質に対応し、文脈を活用して、ユーザーがフィルタを回避してPIIを要求または共有しようとしている状況を検出するために、AIモデル「Roblox PII Classifier」を開発しました。
本日、当社のオープンソース安全ツールキットに含まれる他のツールと共に、「PII Classifier」をオープンソース化することを発表できることを嬉しく思います。2024年後半にPII Classifierを導入して以来、リコール率の急速かつ継続的な向上が確認されており、その性能は既存の他のモデルを上回っています。本日オープンソース化するPIIモデルのバージョンは、Roblox上の英語テキスト1における潜在的なPIIを含む会話に対して98%のリコール率を達成しています。 また、このモデルは本番環境データにおいてF1スコア94%を達成しており、LlamaGuard v3 8B(28%)やPiiranha NER(14%)といった他の最先端の安全モデルを上回る性能を示しています。



課題
大規模な環境でPIIを効果的に検出するには、主に3つの課題があります:
- 敵対的パターン:ユーザーは創意工夫に富み、フィルタを回避する新たな方法を絶えず見出しています。効果的なシステムは、言語の進化や新たなパターンの出現に合わせて適応しなければなりません。
- トレーニングと評価:最も効果的なモデルを構築するためには、効果的なトレーニングデータセットと評価手法も作成する必要があります。モデルは新たなパターンを考慮に入れる必要があるため、現在の本番データだけではトレーニングには不十分です。
- パフォーマンス:このようなモデルを大規模に運用するには、ユーザー体験への悪影響を防ぐため、入念なアーキテクチャ設計と最適化の判断が必要です。
敵対的パターン
既存のPII検出ソリューションは、主に固有表現抽出(NER)に依存しており、ソーシャルメディアのハンドル名、電話番号、住所といった特定の種類の名詞をトークンレベルで検出します。しかし、名詞の検出は課題の一部に過ぎません。手練りの悪意ある行為者は、NERによる検出を回避するために意図的に表現を変えます(例:A、B、Cを表すために「アルファ」「ブラボー」「チャーリー」を使用したり、プラットフォーム名を明示せずに言及したりします)。 悪意のあるユーザーは、NERフィルターが捕捉するような機密情報を一切共有することなく、別のプラットフォームでつながりたいという意図をほのめかすことが可能です。PII Classifierの役割は、Roblox上で共有される明示的なPIIテキストを検出して難読化するだけでなく、コミュニケーションの文脈を理解し、そもそも悪意のあるユーザーがPIIに関連する会話を行うのを阻止することにあります。
架空のソーシャルプラットフォーム「StarTalk」を用いた、代表的な回避パターンを以下に示します:
文字単位の操作
- 「5tärtālkみたいなの持ってる?電話したいんだけど。数日前にアカウント作ったんだ」
- 「うっ、タグって大嫌い。名前は? SとTだね」
人気ソーシャルメディアへの暗黙の言及
- 「もう一度聞くけど、君のRats PPAは?リバース」
- 「ねえ、イエローサンアプリで僕の名前チェックしてくれる?そこでチャットしようよ」
言語やスラングは時とともに変化し、悪意のあるユーザーはフィルタを回避する新たな方法を常に模索しています。PII Classifierの強みは、新たな言語パターンや回避策が出現した際に、それらに適応できる点にあります。実世界の攻撃パターンを検出した際は、それらをモデルに組み込み、継続的なトレーニングに活用しています。
トレーニングと評価

モデルの初期トレーニングを行うため、私たちはPII関連データを手作業でレビューし、ラベル付けを行いました。これにより出発点は得られましたが、迅速にスケールアップして多種多様なシナリオを網羅することはできませんでした。1日あたり数十億件に及ぶチャットメッセージに含まれるすべての用語や組み合わせを手作業で精査し、適切なラベルを付与しようとするのではなく、トレーニング用の関連サンプルを選定するためのデータサンプリング手法を構築し、検証を行いました。 私たちの目標は、無害な会話を除外し、PII関連データを含む会話に焦点を当てることで、人間によるラベリングミスの可能性を減らし、より広範囲をカバーすることでした。特に効果的だったのは以下の2つのサンプリング手法です:
- モデルスコア出力を用いた不確実性サンプリング:このサンプリング手法は、明確な肯定的または否定的なシグナルを示さないサンプルを選択し、曖昧なケースをさらに精査することを可能にしました。
- 連続するPIIブロックのサンプル:このサンプリング手法は、一部の会話ではフラグが立てられたものの、連続する会話ではフラグが立てられていないユーザーからのサンプルを選択しました。こうした追跡会話には、現在のPIIフィルターをすり抜けた非典型的な表現が含まれている可能性が高くなります。実際には、ユーザーがシステムをすり抜けられず、巧妙な抜け穴を見つけるまで再試行を繰り返すようなケースがこれに該当します。
現在の本番データに対するデータサンプリングと人間によるラベリングのこの組み合わせは、モデルを学習させるための強固な基盤を提供しましたが、私たちの目標は新たなパターンを考慮に入れることだったため、サンプルにはまだ存在しないデータを用いて学習させる方法が必要でした。
AI生成の合成データ
現在のサンプリングデータのみに依存すると、バイアスが生じ、新しいコミュニケーションパターンが進化するにつれてモデルの適応能力が制限される可能性があります。例えば、Robloxで最も一般的なPIIの要求は、人気のあるソーシャルメディアプラットフォームのユーザー名に関するものです。本番データのみで訓練されたモデルは、最も一般的な要求に対してバイアスを持ち、あまり知られていないソーシャルメディアプラットフォーム、メールアドレス、電話番号など、より稀な要求に対しては性能が低下する可能性があります。 また、ユーザーのコミュニケーションは、一般的な語彙や言語パターンに収束する傾向があります。本番データのみで学習されたモデルは、一般的な言語パターンに偏り、非典型的または新たに現れた表現による違反を特定できなくなる可能性があります。
こうしたバイアスやその他のバイアスを排除するため、我々は初期のトレーニングデータセットから引き継がれた弱点を解消することを目的としたAIデータ生成パイプラインを設計した。まず、コンテキスト、PIIの種類、ユーザーペルソナ、言語、チャット例文などの変数を組み合わせてプロンプトを生成した。次に、これらのプロンプトに基づいて新しいチャット文を生成し、モデルに入力した。
人間とAIによるレッドチーム活動
開発段階では、モデルの有効性を検証し、トレーニングを最適化するために、人間とAIによるレッドチームング(チームが敵対的攻撃をシミュレートしてシステムの防御をテストする手法)の両方を採用しました。 モデレーターに、PIIの要求や共有に関する様々な手法を試してもらうよう依頼し、LLMにこれらの手法を多角的に拡張させるよう促しました。その後、モデルが見逃したサンプルをすべてトレーニングデータセットに追加しました。AIレッドチームングにより、多くのバリエーションを迅速にテストし、モデレーターではカバーしきれない手法も網羅することができました。例えば:
オリジナル:パスワードはxxxx
AIによる拡張:THE PAAS WURD IS xxxx
オリジナル:ベラ、私の電話番号は346
AIによる拡張:ベラ、私の番号は実はthreefour6
レッドチームングにより、現在のトレーニングデータにおけるギャップをより深く理解し、そのギャップを埋めるよう合成データを適応させることができました。また、モデルの反復版間の差異を測定することも可能になりました。これは、モデルの2つのバージョンが評価セットで飽和状態になり始めると、ますます困難になる作業です。私たちは、レッドチームングツール下でモデルの複数のバージョンを実行し、同じ環境下でバイパス率を直接比較することで、統計的にどのモデルがより効果的かを判断しました。
パフォーマンス
1日平均61億件のチャットメッセージが交換される中、PII ClassifierはRoblox上で1秒あたり最大20万件以上のクエリを受け付けています。 この処理量を、P90レイテンシ100ms未満で処理しています。処理能力と品質のバランスを取るため、エンコード専用アーキテクチャを採用し、XLM-RoBERTa-Large2をベースにモデルを微調整しました。CPU上で効率的に実行できるよう、トークナイザーおよび前処理・後処理サービスを分離し、コスト削減のためGPU上で純粋なトランスフォーマーアーキテクチャを処理しています。また、スループットを向上させるため、Tritonサーバー上で動的バッチ処理を採用しています。
公開データセットおよび内部データセットを用いたベンチマーク
PII Classifierを、自社本番データおよび公開データセットを用いて、他の最先端モデルと比較評価しました。公開されているPIIデータセットの多くは、意図を示す可能性のある周辺テキストではなく、PIIテキストそのものに焦点を当てているため、ベンチマークにおける当社のプラットフォーム要件に完全に合致するものは見当たりませんでした。 それでも、Kaggle上のThe Learning Agency LabのPII Data Detection Dataset3のような一般的なPIIデータセットを用いて、当社のモデルが現在の検出ソリューションと比べてどの程度の性能を発揮するかを確認したいと考えました。
比較対象のLLMは(リコールと精度の)1組の指標しか提供しないため、F1スコアを採用しました。 分類スコアを出力するモデルについては、テストセットにおける最適なF1スコアを報告しました。なお、当社のモデルはユーザーチャット文の断片を入力として受け取り、PIIスコアを出力します。このスコアを用いて、チャット文に対して二値判定を行います。公平な比較を行うため、公開データセットを文単位に分割し、肯定的なNER PIIトークンを1つでも含む文を「陽性」とラベル付けしました。
PII V1.1 | ||||||
45.48% | 5.90% | 5.46% | 3.72% | 3.26% | 33.20% | |
Roblox Eval 英語 | 94.34% | 3.17% | 27.73% | 26.55% | 26.29% | 13.88% |
当社のベンチマークでは、The Learning Agency Labの公開データセットおよびRoblox上の47,000件を超える多様な実世界サンプルを含む社内本番データの双方において、当社のモデルが他のオープンソースモデルを大幅に上回る性能を示しました。より広範な会話の文脈を取り入れ、言語の流動的な性質に継続的に適応することに重点を置くことは、ユーザーがPIIの提供や共有を意図している会話をより多く検出するための効果的なアプローチであることが証明されました。
「PII Classifier」は、Robloxにおける安全性と健全なコミュニティ環境の促進のために当社が活用している数多くの革新的なシステムの一つに過ぎません。会話がPIIの要求へと向かうタイミングを検知できるということは、そうでなければ検知をすり抜けてしまうような、曖昧な要求も捕捉できることを意味します。完璧なシステムなど存在しませんが、運用開始から1年目の結果はすでに有望であり、当社のオープンソース安全ツールキットに含まれる他のツールと共に、このツールをオープンソースコミュニティと共有できることを嬉しく思います。
- 98%のリコール率は、FPR 1%の条件下でRobloxの内部テストセットを用いて測定されています。このデータセットは本番環境のデータから収集され、安全性の専門家による複数回のレビューとラベリングが行われています。
- 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。
- Holmes, L., Crossley, S. A., Sikka, H., and Morris, W. 2023. PIILO: 個人を特定可能な情報のラベリングおよび難読化のためのオープンソースシステム。Information and Learning Science, 124 (9/10), 266-284.


