Mehr als nur ein Selfie: Wie das Altersüberprüfungssystem von Roblox dazu beiträgt, die Altersüberprüfungen auf dem neuesten Stand zu halten
Ein modulares, multimodales ML-System zur Verhaltensanalyse, bei dem Sicherheit im Vordergrund steht

Das System zur Altersschätzung anhand von Gesichtsbildern von Roblox hat 338 Millionen Datensätze zur Altersüberprüfung verarbeitet, um Roblox-Nutzern dabei zu helfen, altersgerechte Chat-Funktionen freizuschalten und auf altersgerechte Spiele auf der Plattform zuzugreifen. Die anfängliche Altersüberprüfung ist notwendig, doch die Alterssicherung endet nicht mit dem Selfie. Konten könnten geteilt oder an jüngere Geschwister weitergegeben werden. Böswillige Akteure könnten versuchen, unsere Abwehrmaßnahmen zu umgehen. Um die Altersüberprüfung über ein einmaliges Signal hinaus zu erweitern, haben wir eine ML-Schicht mit hohem Durchsatz entwickelt, die bewertet, ob das fortlaufende Verhalten eines Kontos im Laufe der Zeit weiterhin mit dem geschätzten Alter übereinstimmt. Unser modulares Design auf Feature-Ebene ermöglicht effiziente Modellaktualisierungen und eine schnelle Anpassung an sich ändernde Verhaltensmuster.
Der zuverlässige Betrieb unseres durchgängigen Workflows zur Altersüberprüfung ist ebenso sehr eine Herausforderung für verteilte Systeme wie für maschinelles Lernen. Die Altersschätzung selbst ist ein schwieriges ML-Problem, da Altersgrenzen keine abrupten Verhaltenssprünge darstellen. Eltern können dieselben Erfahrungen wie ihre Kinder genießen, und Sprache variiert je nach Kultur, Kontext und Gemeinschaft sowie nach Alter. Kein einzelnes Verhaltenssignal kann nuancierte Verhaltensmuster, die sich im Laufe der Zeit und unter feindseligem Druck verschieben, zuverlässig erfassen. Selbst unsere aussagekräftigsten „Ground-Truth“-Labels stammen aus einer ausgewählten Population und können Verzerrungen enthalten.
Der Betrieb im Roblox-Maßstab sorgt für zusätzliche Komplexität. In jedem täglichen Inferenzzyklus sammeln wir Verhaltenssignale aus der gesamten Plattform, führen Teilmodelle auf dem für die jeweilige Arbeitslast am besten geeigneten Rechenstack aus und kombinieren deren Ergebnisse zu einer kalibrierten Schätzung. Unsere Modelle reichen von traditionellen ML-Klassifikatoren bis hin zu mehrsprachigen Transformern mit über 300 Millionen Parametern. Das System verarbeitet täglich fast zwei Milliarden Datensätze auf Kontoebene, während das Training auf fast 30 Millionen Alterskennzeichnungen mit hoher Konfidenz zurückgreift.
Der interne Aufbau des gesamten Systems verschafft uns die Transparenz und Kontrolle, die wir benötigen, um alle Funktionen und Signale im Hinblick auf den Datenschutz zu überprüfen – eine zentrale Anforderung bei der Konzeption. Zudem können wir Roblox-spezifische Signale nutzen, die erfassen, wie ein Konto im Laufe der Zeit genutzt wird – ein longitudinaler Kontext, über den ein eigenständiger externer Schätzer allein nicht verfügen würde. Dies gibt uns zudem die Kontrolle über den gesamten ML-Lebenszyklus. Wir können Modalitäten kombinieren, sobald sie verfügbar werden, und die Ergebnisse für die Sicherheits-Workflows von Roblox kalibrieren, während wir einzelne Komponenten überwachen, steuern und aktualisieren, sobald sich das Verhalten ändert.
Auswahl der richtigen Signale zur Altersvorhersage
Verschiedene Altersgruppen nutzen Roblox in Bezug auf Spiel-, Kommunikations- und Plattforminteraktionsmuster auf unterschiedliche Weise. Um die Vielfalt des Verhaltens zu erfassen, unterteilen wir unsere Eingaben in verschiedene Signalgruppen:
- Sozialer Kontext: Aggregierte Muster im sozialen Umfeld eines Nutzers, einschließlich der Personen, mit denen er in Kontakt steht, und der Häufigkeit der Interaktionen.
- Erlebniseinbindung: Aggregierte Muster, die über das Spielverhalten der Nutzer hinausgehen und erfassen, wann sie spielen, wie lange sie bleiben und wie sich ihre Einbindung im Laufe der Zeit verändert.
- Konto- und Plattformaktivität: Aggregierte Signale zur Plattformnutzung und zum Lebenszyklus, wie z. B. die Dauer der Kontoführung, die Häufigkeit der Aktivitäten und das Verhalten auf Sitzungsebene.
- Kommunikationsmuster: Modellbasierte Zusammenfassungen des altersabhängigen Sprachgebrauchs, einschließlich der Frage, wie sich Kommunikationsmuster je nach Kontext und Zeit variieren.
- Gelernte Nutzerrepräsentationen: Übergeordnete Repräsentationen, die umfassendere Nutzungsmuster erfassen. Wir arbeiten eng mit unserem ML-Team für Discovery und Personalisierung zusammen; dieselben umfangreichen Repräsentationen, die vorhersagen, womit sich ein Nutzer als Nächstes beschäftigen könnte, können nachtrainiert werden, um Vorhersagen für breite Altersgruppen zu ermöglichen.
Jede Signalfamilie erhält ein Modell, das an die Struktur ihrer Daten angepasst ist. Spärliche, hochdimensionale aggregierte Signale werden durch gradientengestützte Entscheidungsbäume (z. B. XGBoost-Klassifikatoren) verarbeitet; Text wird durch einen fein abgestimmten mehrsprachigen Transformer-Encoder (mmBERT) verarbeitet; und Nutzerrepräsentationen speisen einige kompakte neuronale Netze (Multilayer Perceptron).
Jedes Teilmodell prognostiziert dasselbe Ziel: eine Wahrscheinlichkeitsverteilung über eine Reihe von Altersgruppen. Ein gradient-boosted Meta-Learner kombiniert diese Wahrscheinlichkeitsvektoren anschließend zu der endgültigen kalibrierten Schätzung.

Wir haben uns bewusst für diesen Fusionsansatz auf Entscheidungsebene anstelle eines monolithischen Modells auf Merkmalsebene entschieden, um Modularität, Geschwindigkeit und Erklärbarkeit zu gewährleisten. Die Modularität des Systems ermöglicht es uns, ein Teilmodell hinzuzufügen, neu zu trainieren oder außer Betrieb zu nehmen, ohne das gesamte System neu aufbauen zu müssen. Außerdem können wir so schneller reagieren, wenn sich Verhaltensmuster aufgrund natürlicher Entwicklung oder durch adversarialen Druck verändern. Die Fusionsschicht liest die aktuellste, weitergeleitete Ausgabe jedes Teilmodells ein, sodass sie die besten verfügbaren Signale nutzen und bei Ausfall oder Verzögerung eines Signals nahtlos auf ein niedrigeres Leistungsniveau zurückgreifen kann. Da jede Modalität als eigenständige Eingabe einfließt, können wir nachvollziehen, welche Signalgruppen Entscheidungsänderungen vorantreiben, und Kalibrierungs- sowie Qualitätsprüfungen durchführen, bevor die Ausgaben nachgelagert verarbeitet werden.
Wir setzen die Kalibrierung auf der Fusionsschicht durch, da in einem Sicherheitssystem Vorhersagbarkeit Vorrang vor reiner Genauigkeit hat. Wir kalibrieren die Modelle so, dass sie uns Konfidenzwerte liefern, auf die wir uns verlassen können. Auf diese Weise können wir, falls eine nachgelagerte Aktion erhebliche Auswirkungen auf einen Nutzer haben wird, stärkere Belege und eine höhere Konfidenz verlangen, bevor wir Konsequenzen ziehen.
Auswahlverzerrung bei den Kennzeichnungen
Unsere Labels mit dem höchsten Konfidenzgrad stammen von Nutzern, die eine strenge Altersüberprüfung durchlaufen haben. Diese Labels sind zwar nützlich, stellen jedoch keine zufällige Stichprobe der Roblox-Nutzer dar. Für ein System, das den Nutzerzugang beeinflussen kann, ist Repräsentativität ein zentraler Bestandteil des Trainingsziels.
Die mit Labels versehene Population ist nicht die Zielpopulation. Nutzer, die strengere Altersüberprüfungen absolvieren, unterscheiden sich systematisch von der breiteren Population. Ein naives Modell, das auf dieser Gruppe trainiert wird, läuft Gefahr, ebenso sehr zu lernen, wer sich dafür entscheidet, den Prozess zu absolvieren, wie es das Alter lernt. Um diesen Selektionsbias zu reduzieren, gewichten wir Trainings- und Auswertungsdaten neu, sodass die mit Labels versehene Stichprobe die Population, die wir bewerten wollen, besser widerspiegelt.
Wir arbeiten funktionsübergreifend mit der Nutzerforschung zusammen und nutzen aggregierte Umfrageergebnisse, um die für die Gewichtung verwendeten Zielpopulationen zu bestimmen. Darauf aufbauend wenden wir Techniken wie die inverse Neigungsgewichtung und die iterative proportionale Anpassung – auch „Raking“ genannt – an, um die gewichtete Stichprobe gleichzeitig über mehrere Dimensionen hinweg abzugleichen, anstatt nur einen Faktor isoliert zu korrigieren.
Nicht jede Quelle mit hoher Konfidenz liefert ein verwertbares Trainingsbeispiel. Eine Kennzeichnung ist nur so zuverlässig wie die ihr zugrunde liegenden Verifizierungsereignisse. Manche Ereignisse können Anzeichen aufweisen, die sie für das Modelltraining ungeeignet machen, wie beispielsweise ungewöhnliche Verifizierungsmuster oder Bedenken hinsichtlich der Kontointegrität.
Wir sind bestrebt, Labels vor dem Training mithilfe von integritätsorientierten Filterverfahren oder Ansätzen zur Identifizierung von Label-Fehlern wie „Confident Learning“ zu bereinigen, um Beispiele zu entfernen, die für die Verhaltensmodellierung außerhalb der Verteilung liegen. Erste Experimente zeigen, dass diese Art der Bereinigung dazu beiträgt, ein Überanpassen des Modells zu verhindern, und zu konsistenten Leistungssteigerungen führt.

Training, Inferenz und Vermeidung von Verzerrungen im Roblox-Maßstab
Die Inferenz muss häufig genug ausgeführt werden, um die Signale aktuell zu halten, doch die Trainingshäufigkeit kann je nach Signalgruppe variieren. Wir legen die Zeitpläne für das Nachtraining auf der Grundlage von Merkmalsdrift, Modellstabilität und Modellkosten fest. Ein Signal, das sich schnell ändert oder verschlechtert, kann häufiger nachtrainiert werden; ein schwereres Modell mit sich langsamer verändernder Leistung kann seltener oder bei Bedarf nachtrainiert werden.
Der Rechenstack passt sich der Auslastung an. Wir nutzen Apache Spark für groß angelegte strukturierte Transformationen, das Ray-Framework für GPU-gestützte Workloads und Produktions-Worker für die Signalverarbeitung in Echtzeit.
Bei der Größenordnung von Roblox wäre es zudem nicht praktikabel, täglich die vollständige Historie jedes Kontos neu zu erstellen. Unser internes Datenverarbeitungs-Framework verwaltet begrenzte, fortlaufende Historien für Signale mit hohem Datenaufkommen und führt aufwendige Transformationen schrittweise durch. So können wir täglich Millionen von Datensätzen auf Kontoebene verarbeiten und aggregieren, während wir umfangreiche Erweiterungen, Verknüpfungen und Merkmalsaggregationen unabhängig voneinander skalieren. Dieses hybride Produktionsdesign ermöglicht uns eine direkte Integration in unser Data Warehouse, eine reproduzierbare Ausführung über Modellkomponenten hinweg und den Zugriff auf beschleunigte Rechenleistung dort, wo es darauf ankommt.
Um die Stabilität bei unserer Größenordnung zu gewährleisten, setzen wir zwei strenge Designentscheidungen in unseren Merkmalspipelines durch:
- Speicherung abgeleiteter Merkmale: Wir speichern nach Möglichkeit abgeleitete Merkmale anstelle von rohen Aktivitätsströmen. Wir behalten das für die Modellierung benötigte Signal bei, nicht den vollständigen Verlauf dahinter.
- Einheitliche Datenkontrakte: Dieselben Datenkontrakte versorgen sowohl das Training als auch die Inferenz. Das reduziert eine der häufigsten Fehlerquellen in ML-Systemen: die Diskrepanz zwischen dem, was trainiert wurde, und dem, was ausgegeben wird.
Wir setzen an zwei Stellen im Produktionslebenszyklus Gating ein. Erstens ist die Modellfreigabe vom Modelltraining getrennt. Ein Kandidatenmodell muss Guardrail-Prüfungen bestehen, bevor es für die Inferenz in der Produktion zugelassen wird. Wenn ein Kandidatenmodell unsere Guardrail-Prüfungen nicht besteht, blockiert die Pipeline die Freigabe, und wir stellen weiterhin die zuletzt freigegebene, fehlerfreie Version bereit.
Zweitens werden die Inferenzergebnisse vor ihrer Weiterleitung an nachgelagerte Systeme einer Gating-Prüfung unterzogen. Automatisierte Prüfungen suchen nach Qualitätseinbußen und starken Verschiebungen in der Vorhersageverteilung. Wenn eine Prüfung fehlschlägt, wird der Veröffentlichungsschritt blockiert. In einem ML-System, das mit benutzerseitigen Sicherheitsworkflows verbunden ist, ist „heute nichts tun“ oft ein sichererer Fehlermodus als die Auslieferung einer unerklärlichen Verteilungsverschiebung.
Bewertung des Systems
Für ein System wie dieses ist eine einzelne Genauigkeitszahl nicht besonders aussagekräftig. Wir bewerten die Modellqualität anhand der Ranking-Qualität, der Kalibrierung, der Stabilität im Zeitverlauf und des Verhaltens in der Nähe wichtiger Altersgruppengrenzen. Wir betrachten auch die Repräsentativität der Bewertungsdaten als Teil des Messproblems, da eine aggregierte Verbesserung nur dann sinnvoll ist, wenn sie die Population widerspiegelt, für die das System bestimmt ist.
Das fusionierte Modell erreicht bei diesen gewichteten, zurückbehaltenen Bewertungsdaten eine mittlere Präzision von über 0,9. Seine Schätzungen mit hohem Konfidenzniveau sind zudem von Tag zu Tag konsistent. Mehr als 99 % verbleiben an aufeinanderfolgenden Tagen in derselben groben Altersgruppe.
Wir vergleichen das Modell zudem mit unabhängigen Referenzwerten, die von geschulten menschlichen Prüfern im Rahmen unserer „Trust and Safety“-Workflows erstellt wurden. Bei hohem Konfidenzniveau stimmt die Altersbandenschätzung des Modells in mehr als 80 % der Fälle mit der von Menschen festgelegten Konsenskennzeichnung für Erwachsene überein.
Die Offline-Bewertung ist nur eine Ebene. Im Produktivbetrieb ändert sich das Nutzerverhalten aufgrund von saisonalen Schwankungen, Produkteinführungen und böswilligen Angriffen. Deshalb kombinieren wir Modellbewertungskennzahlen mit einer kontinuierlichen Überwachung der Vorhersageverteilungen, der Drift und der Stabilität, bevor die Ergebnisse in nachgelagerten Prozessen verwendet werden. Wir überwachen zudem die Ergebnisse von nachgelagerten Altersprüfungen, damit das Feedback aus dem Produktivbetrieb Aufschluss über die Zuverlässigkeit des Modells gibt und aufzeigt, wo Schwellenwerte oder Überprüfungsabläufe angepasst werden sollten.
Wie geht es weiter?
Da wir dieses System intern betreiben, können wir Roblox-spezifische Signale sicher nutzen, äußerst streng vorgehen und kontinuierlich iterieren.
In Zukunft konzentrieren wir uns auf die Optimierung unserer Teilmodelle, der Inferenz und der Messung. Wir treiben jede Ebene weiter voran und konzentrieren uns dabei auf unsere Betriebsprinzipien der Modularität, Kalibrierung, des Datenschutzes und der Produktionssicherheitsvorkehrungen.


