Open Sourcing Roblox PII Classifier: Unser Ansatz zur KI-Erkennung personenbezogener Daten im Chat
Kontext zur Verbesserung der Trefferquote nutzen
Jeden Tag generieren Benutzer durchschnittlich 6,1 Milliarden Chatnachrichten auf Roblox. Wir verwenden robuste Moderationssysteme, legen altersbezogene Beschränkungen fest und bieten Kindersicherungen, um die Kommunikation sicher und respektvoll zu gestalten. Die überwiegende Mehrheit der Nachrichten auf der Plattform sind alltägliche Gespräche, etwa zwischen zwei Freunden, die über die Spielstrategie diskutieren. Aber in einem kleinen Prozentsatz der Nachrichten versuchen die Benutzer, personenbezogene Daten (PII) zu teilen, die sensibel sein könnten. PII gibt es in unterschiedlichen Formen, und die Benutzer teilen sie aus vielen harmlosen Gründen: Ein Benutzer könnte seinen Benutzernamen von einer anderen Plattform teilen, um das Gameplay zu koordinieren, oder eine Telefonnummer, um eine neue Freundschaft aufzubauen. Es gibt jedoch seltene Fälle, in denen böswillige Akteure nach personenbezogenen Daten suchen, um Benutzer von Roblox auf andere Plattformen zu locken, wo das Risiko von Schaden in der echten Welt größer sein könnte. In der Praxis sind diese unterschiedlichen Absichten schwer zu erkennen, weshalb wir strenge Richtlinien gegen die Weitergabe oder das Einholen von personenbezogenen Daten umsetzen. Wir verwenden mehrere Tools, um alle erkannten personenbezogenen Daten im Chat standardmäßig zu blockieren. Wir lockern die Einschränkungen nur für Benutzer, die 18 Jahre oder älter sind, und Benutzer zwischen 13 und 17 Jahren, die sich gegenseitig als vertraute Connections verifiziert haben.
Die Erkennung von personenbezogenen Daten ist eine branchenweite technische Herausforderung. Branchenübliche Erkennungstools können umgangen werden und sind nicht in der Lage, sich an neue Sprachmuster anzupassen. Kein Tool ist perfekt. Wir haben ein KI-Modell, den Roblox PII Classifier, entwickelt, um der sich ständig weiterentwickelnden Natur der Sprache Rechnung zu tragen. Er nutzt den Kontext, um Situationen zu erkennen, in denen Benutzer versuchen, Filter zu umgehen, um nach personenbezogenen Daten zu fragen oder diese weiterzugeben.
Wir freuen uns, euch mitteilen zu können, dass wir heute den PII Classifier zusammen mit den anderen Tools in unserem Open-Source-Sicherheits-Toolkit als Open Source zur Verfügung stellen. Seit der Implementierung des PII Classifiers Ende 2024 haben wir eine rasche und kontinuierliche Verbesserung der Trefferquote festgestellt, wobei die Leistung andere verfügbare Modelle übertrifft. Die Version unseres PII-Modells, die wir heute als Open Source zur Verfügung stellen, hat auf Roblox eine Trefferquote von 98 % für potenzielle Konversationen über personenbezogene Daten in englischer Sprache1. Das Modell hat auch einen F1-Wert von 94 % bei unseren Produktionsdaten erreicht und damit andere hochmoderne Sicherheitsmodelle wie LlamaGuard v3 8B (28 %) und Piiranha NER (14 %) übertroffen.
Die Herausforderungen
Die effektive Erkennung personenbezogener Daten in großem Maßstab läuft auf drei wesentliche Herausforderungen hinaus:
-
Ausweichende Muster: Benutzer sind kreativ und finden ständig neue Wege, um Filter zu umgehen. Ein effektives System muss sich anpassen, wenn sich die Sprache weiterentwickelt und neue Muster entstehen.
-
Training und Evaluierung: Um das effektivste Modell zu erstellen, müssen wir auch effektive Trainingsdatensätze und Messmethoden erstellen. Da das Modell neue Muster berücksichtigen muss, reichen die aktuellen Produktionsdaten für das Training nicht aus.
-
Leistung: Die Bereitstellung eines solchen Modells in großem Maßstab erfordert durchdachte Architektur- und Optimierungsentscheidungen, um negative Auswirkungen auf die Benutzererfahrung zu vermeiden.
Ausweichende Muster
Bestehende Lösungen zur Erkennung von personenbezogenen Daten basieren hauptsächlich auf der Named-Entity-Erkennung (NER), der Erkennung bestimmter Arten von Substantiven auf Token-Ebene, wie Social-Media-Handles, Telefonnummern und Adressen. Aber die Erkennung von Substantiven ist nur ein Teil der Herausforderung. Erfahrene böswillige Akteure ändern ihre Sprache absichtlich, um die NER-Erkennung zu umgehen (z. B. indem sie Alpha, Bravo und Charlie verwenden, um A, B und C darzustellen, oder indem sie auf eine Plattform verweisen, ohne sie explizit zu benennen). Es ist möglich, dass ein böswilliger Akteur seine Absicht signalisiert, auf einer anderen Plattform den Kontakt herzustellen, ohne jemals die sensiblen Informationen weiterzugeben, die ein NER-Filter erfassen würde. Die Aufgabe des PII Classifier besteht nicht nur darin, expliziten Text mit personenbezogenen Daten, der auf Roblox geteilt wird, zu erkennen und zu verschleiern, sondern auch den Kontext der Kommunikation zu verstehen und zu verhindern, dass böswillige Akteure überhaupt Gespräche initiieren, in denen es um personenbezogene Daten geht.
Hier sind einige repräsentative Umgehungsmuster unter Verwendung einer hypothetischen sozialen Plattform, StarTalk:
Manipulation auf Zeichenebene
- "do u have like 5tärtālk u wanna call? i made an acc like xouple days ao"
- "ggrr i hate it tags What's your name That's S And T"
Implizite Verweise auf beliebte soziale Medien
- "again whats ur rats ppa Reverse"
- "hey you mind chck my name on yellow sun app. let's chat there?"
Sprache und Slang-Begriffe entwickeln sich im Laufe der Zeit weiter, und böswillige Akteure suchen ständig nach neuen Wegen, um Filtern zu entgehen. Die Stärke von PII Classifier liegt in seiner Fähigkeit, sich an neue Sprachmuster und Workarounds anzupassen, sobald sie auftauchen. Wenn wir reale ausweichende Muster erkennen, integrieren wir sie wieder in das Modell, um es kontinuierlich zu trainieren.
Training und Evaluierung
Für das erste Training des Modells haben wir Daten im Zusammenhang mit personenbezogenen Daten manuell überprüft und beschriftet. Damit hatten wir einen Ausgangspunkt. Wir konnten aber nicht schnell skalieren und eine große Vielfalt von Szenarien erfassen. Anstatt zu versuchen, jeden Begriff und jede Permutation, die in Milliarden von Chatnachrichten pro Tag gefunden werden, manuell zu durchkämmen und die entsprechende Beschriftung anzuwenden, haben wir Datensampler erstellt und getestet, um relevante Stichproben für das Training auszuwählen. Unser Ziel war es, harmlose Gespräche auszuschließen und uns auf Gespräche zu konzentrieren, die Daten im Zusammenhang mit personenbezogenen Daten enthielten, um die Möglichkeit menschlicher Beschriftungsfehler zu vermeiden und einen größeren Bereich abzudecken. Zwei Sampler haben sich als am effektivsten erwiesen:
- Unsicherheitssampling mit Hilfe von Modellbewertungsergebnissen: Dieser Sampler hat Beispiele ausgewählt, die keine starken positiven oder negativen Signale ausgelöst haben, sodass wir die unklaren Fälle weiter präzisieren konnten.
- Stichproben aus aufeinanderfolgenden Blöcken mit personenbezogenen Daten: Dieser Sampler hat Beispiele von Benutzern ausgewählt, die in einigen, aber nicht in aufeinanderfolgenden Gesprächen markiert wurden. Diese Folgegespräche enthielten eher atypische Sprache, die den aktuellen Filter für personenbezogene Daten umgangen hatte. In der Praxis könnte dies so aussehen, dass ein Benutzer das System nicht umgehen kann und es erneut versucht, bis er ein cleveres Schlupfloch gefunden hat.
Diese Kombination aus Sampling und menschlicher Beschriftung aktueller Produktionsdaten bot eine solide Grundlage für das Training des Modells. Da unser Ziel jedoch darin bestand, neue Muster zu berücksichtigen, brauchten wir eine Möglichkeit, mit Daten zu trainieren, die in unseren Stichproben noch nicht vorhanden waren.
KI-generierte synthetische Daten
Wenn man sich ausschließlich auf aktuelle Stichproben stützt, kann dies zu Verzerrungen führen und die Anpassungsfähigkeit des Modells an neue Kommunikationsmuster einschränken. Die häufigsten Anfragen personenbezogener Daten auf Roblox betreffen beispielsweise die Handles beliebter Social-Media-Plattformen. Ein Modell, das nur mit Produktionsdaten trainiert wird, könnte eine Tendenz zu den häufigsten Anfragen entwickeln und bei selteneren Anfragen, z. B. weniger bekannten Social-Media-Plattformen, E-Mail-Adressen und Telefonnummern, schlechter abschneiden. Benutzer tendieren ebenfalls dazu, sich mit beliebten Worten und Sprachmustern zu unterhalten. Ein Modell, das nur mit Produktionsdaten trainiert wird, könnte sich auf gängige Sprachmuster konzentrieren und möglicherweise Verstöße, die sich auf atypische oder neu auftretende Weise äußern, nicht erkennen.
Um diese und andere Verzerrungen zu beseitigen, haben wir eine KI-Datengenerierungspipeline entwickelt, die auf alle Schwächen abzielt, die aus dem ursprünglichen Trainingsdatensatz stammen. Zuerst haben wir Prompts mit einer Kombination von Variablen generiert, darunter Kontext, Typ der personenbezogene Daten, Benutzerpersönlichkeit, Sprache und Beispiel-Chatzeilen. Dann haben wir auf der Grundlage dieser Prompts neue Chatzeilen generiert und in das Modell eingespeist.
Red Teaming von Menschen und KI
Wir haben während der Entwicklung Red Teaming sowohl von Menschen als auch von KI eingesetzt (dabei simulieren Teams gegnerische Angriffe, um die Abwehrkräfte eines Systems zu testen), um die Wirksamkeit des Modells zu testen und das Training zu präzisieren. Wir haben Moderatoren eingeladen, mit verschiedenen Methoden zum Anfordern und Teilen von personenbezogenen Daten zu experimentieren, und LLMs aufgefordert, diese Methoden auf verschiedene Weise zu erweitern. Anschließend haben wir alle Beispiele, die das Modell übersehen hat, zu seinem Trainingsdatensatz hinzugefügt. Dank dem Red Teaming mithilfe von KI konnten wir schnell viele Variationen testen und Methoden abdecken, an die Moderatoren möglicherweise nicht gedacht haben. Zum Beispiel:
Original: the password is xxxx
Durch KI verändert: THE PAAS WURD IS xxxx
Original: Bella my phone number is 346
Durch KI verändert: Bella my numb3r is actually threefour6
Red Teaming hat uns geholfen, Lücken in unseren aktuellen Trainingsdaten besser zu verstehen und unsere synthetischen Daten anzupassen, um sie zu schließen. Außerdem konnten wir die Unterschiede zwischen den Modelliterationen messen, was immer schwieriger wird, wenn zwei Versionen eines Modells den Bewertungssatz zu sättigen beginnen. Wir haben mehrere Versionen des Modells unter dem Red-Teaming-Tool bereitgestellt, um die Umgehungsraten in derselben Umgebung direkt zu vergleichen und festzustellen, welches Modell statistisch effektiver war.
Leistung
Mit durchschnittlich 6,1 Milliarden Chatnachrichten, die pro Tag ausgetauscht werden, erhält PII Classifier einen Spitzenwert von über 200.000 Abfragen pro Sekunde auf Roblox. Wir verarbeiten dieses Volumen mit einer P90-Latenz von weniger als 100 ms. Um die Bereitstellung und Qualität in Einklang zu bringen, haben wir uns für eine reine Kodierungsarchitektur entschieden und unser Modell von XLM-RoBERTa-Large2 feinjustiert. Wir trennen Tokenizer- und Vor- und Nachbearbeitungsdienste, um sie effizient auf der CPU auszuführen und die reine Transformer-Architektur auf der GPU zu bedienen, um die Kosten zu senken. Außerdem verwenden wir dynamisches Batching auf Triton-Servern, um den Durchsatz zu erhöhen.
Benchmarking auf öffentlichen und internen Datensätzen
Wir haben PII Classifier anhand unserer eigenen Produktionsdaten und öffentlichen Datensätze mit anderen hochmodernen Modellen verglichen. Die meisten öffentlichen Datensätze mit personenbezogenen Daten konzentrieren sich auf den Text der personenbezogenen Daten selbst und nicht auf den umgebenden Text, der die Absicht signalisieren könnte. Daher sind sie nicht perfekt für unsere Plattformanforderungen für das Benchmarking geeignet. Wir wollten dennoch sehen, wie unser Modell im Vergleich zu aktuellen Erkennungslösungen mit häufig verwendeten Datensätzen personenbezogener Daten abschneidet, z. B. dem The Learning Agency Lab's PII Data Detection Dataset3 auf Kaggle.
Wir haben F1-Werte verwendet, da LLMs im Vergleich nur ein (Trefferquote, Präzision)-Paar bereitstellen. Für Modelle, die Klassifizierungswerte ausgeben, haben wir den optimalen F1-Wert für den Testsatz angegeben. Unser Modell benötigt einen Ausschnitt aus Benutzer-Chatzeilen als Input und gibt einen Wert für personenbezogene Daten aus. Diesen verwenden wir, um eine binäre Entscheidung über die Chatzeilen zu treffen. Für einen fairen Vergleich haben wir den öffentlichen Datensatz nach Sätzen aufgeteilt und jeden Satz als positiv beschriftet, wenn er positive NER-Token für personenbezogene Daten enthielt.
| PII V1.1 | LlamaGuard-v3 1B | LlamaGuard-v3 8B | LlamaGuard-v4 12B | NemoGuard 8B | Piiranha NER | |
| Kaggle PII-Datensatz | 45,48 % | 5,90 % | 5,46 % | 3,72 % | 3,26 % | 33,20 % |
| Roblox Auswertung Englisch | 94,34 % | 3,17 % | 27,73 % | 26,55 % | 26,29 % | 13,88 % |
In unseren Benchmarks übertraf unser Modell andere Open-Source-Modelle sowohl im öffentlichen Datensatz von The Learning Agency Lab als auch in unseren internen Produktionsdaten, die mehr als 47.000 verschiedene, reale Beispiele auf Roblox enthalten, dramatisch. Der Fokus auf die Einbeziehung eines breiteren Konversationskontextes und die kontinuierliche Anpassung an die sich verändernde Natur der Sprache hat sich als effektiver Ansatz erwiesen, um mehr Konversationen zu erkennen, in denen ein Benutzer beabsichtigt, nach personenbezogenen Daten zu fragen oder diese weiterzugeben.
Der PII Classifier ist nur eines der vielen innovativen Systeme, die wir verwenden, um Sicherheit und respektvolles Miteinander auf Roblox zu fördern. Die Fähigkeit zu erkennen, wann ein Gespräch in Richtung einer Anfrage nach personenbezogene Daten abweicht, bedeutet, dass wir kryptische Anfragen erfassen können, die sonst die Erkennung umgehen könnten. Kein System ist perfekt, aber die Ergebnisse unseres ersten Produktionsjahres sind bereits vielversprechend. Daher freuen wir uns, das Tool zusammen mit den anderen Tools in unserem Open-Source-Sicherheits-Toolkit mit der Open-Source-Community zu teilen.
- The 98% recall is measured on a Roblox internal test set at 1% FPR. The dataset is collected from production data and is multireviewed and labeled by safety experts.
- Conneau, A., Khandelwal, K., Goyal, N., Chaudhary, V., Wenzek, G., Guzmán, F., Grave, E., Ott, M., Zettlemoyer, L., and Stoyanov, V. 2019. Unsupervised cross-lingual representation learning at scale. arXiv preprint arXiv:1911.02116.
- Holmes, L., Crossley, S. A., Sikka, H., and Morris, W. 2023. PIILO: An open-source system for personally identifiable information labeling and obfuscation. Information and Learning Science, 124 (9/10), 266-284.