Menjadikan Pengklasifikasi PII Roblox Open Source: Cara Kami Mendeteksi PII AI dalam Chat
Menggunakan Konteks untuk Meningkatkan Recall
Setiap hari, pengguna menghasilkan rata-rata 6,1 miliar pesan chat di Roblox. Kami menggunakan sistem moderasi yang andal, menetapkan pembatasan berdasarkan usia, dan menyediakan kendali orang tua untuk membantu membuat komunikasi tetap aman dan sopan. Sebagian besar pesan di platform adalah percakapan sehari-hari, misalnya, dua teman yang membahas strategi gameplay. Namun, dalam sebagian kecil pesan, pengguna mencoba membagikan informasi identitas pribadi (PII) yang mungkin sensitif. PII memiliki banyak bentuk, dan pengguna membagikannya untuk berbagai alasan yang tidak berbahaya: Pengguna mungkin membagikan nama penggunanya dari platform lain untuk mengoordinasikan gameplay atau nomor telepon untuk menjalin persahabatan baru. Namun, ada kasus yang jarang terkadi, yaitu ketika pelaku kejahatan meminta PII untuk membujuk pengguna agar keluar dari Roblox dan membuka platform lain yang mungkin memiliki risiko bahaya dunia nyata yang lebih tinggi. Dalam praktiknya, perbedaan niat ini sulit dikenali. Oleh karena itu, kami memiliki kebijakan ketat terhadap pembagian atau permintaan PII. Kami menggunakan beberapa alat untuk memblokir semua PII yang terdeteksi dalam chat secara default, dan kami melonggarkan pembatasan hanya untuk pengguna yang berusia 18 tahun ke atas dan pengguna berusia 13 hingga 17 tahun yang telah saling memverifikasi sebagai Koneksi Tepercaya.
Deteksi PII adalah tantangan teknis di seluruh industri. Alat deteksi standar industri dapat di-bypass dan kurang mampu beradaptasi dengan pola bahasa yang terus berkembang. Tidak ada alat yang sempurna. Namun, kami mengembangkan model AI, Pengklasifikasi PII Roblox, untuk memperhitungkan sifat bahasa yang terus berkembang dan menggunakan konteks untuk mendeteksi situasi ketika pengguna mencoba mem-bypass filter untuk meminta atau membagikan PII.
Kami sangat senang mengumumkan bahwa hari ini kami menjadikan Pengklasifikasi PII Open Source, bersama alat lain dalam perangkat keamanan open source kami. Sejak mengimplementasikan Pengklasifikasi PII pada akhir 2024, kemampuan recall meningkat cepat dan terus menjadi lebih baik, dengan performa yang melampaui model lain yang tersedia. Versi model PII kami yang menjadi open source hari ini memiliki recall 98% terhadap percakapan PII potensial dalam teks bahasa Inggris1 di Roblox. Model ini juga telah mencapai skor F1 sebesar 94% pada data produksi kami, mengungguli model keselamatan mutakhir lainnya, seperti LlamaGuard v3 8B (28%) dan Piiranha NER (14%).
Tantangan
Mendeteksi PII secara efektif dalam skala besar memiliki tiga tantangan utama:
-
Pola adversarial: Pengguna selalu kreatif dan terus menemukan cara baru untuk mem-bypass filter. Sistem yang efektif harus beradaptasi seiring perkembangan bahasa dan kemunculan pola baru.
-
Training dan evaluasi: Untuk membangun model yang paling efektif, kami juga perlu membuat dataset training dan metode pengukuran yang efektif. Karena model harus memperhitungkan pola yang berkembang, data produksi saat ini tidak cukup untuk training.
-
Performa: Menyajikan model tersebut dalam skala besar membutuhkan arsitektur yang matang dan keputusan optimalisasi untuk mencegah dampak negatif terhadap pengalaman virtual pengguna.
Pola Adversarial
Solusi deteksi PII yang ada umumnya bergantung pada pengenalan entitas bernama (NER), deteksi tingkat token dari jenis kata benda tertentu, seperti nama profil media sosial, nomor telepon, dan alamat. Namun, deteksi kata benda hanyalah sebagian dari tantangan. Pelaku jahat yang melek teknologi sengaja mengubah bahasa mereka untuk mem-bypass deteksi NER (misalnya, dengan menggunakan alpha, bravo, dan Charlie untuk menunjukkan A, B, dan C atau merujuk ke platform tanpa menyebutkan namanya secara eksplisit). Pelaku kejahatan dapat mengisyaratkan niat mereka untuk terhubung di platform lain tanpa pernah membagikan informasi sensitif yang akan dideteksi filter NER. Tugas Pengklasifikasi PII tidak hanya mendeteksi dan mengaburkan teks PII eksplisit yang dibagikan di Roblox, tetapi juga memahami konteks komunikasi dan menghentikan aktor jahat terlibat dalam percakapan terkait PII sejak awal.
Berikut adalah beberapa pola bypass yang umum menggunakan platform sosial hipotetis, StarTalk:
Manipulasi tingkat karakter
- "apakah ada 5tärtālk yang ingin kamu hubungi? aku bikin akun bebrapa hari lau"
- "ggrr aku benci tag Siapa namamu, S Dan T"
Referensi implisit ke media sosial populer
- "sekali lagi apamu di ppa Reverse"
- "hei, mau nggak ck namaku di app yellow sun. mau ngobrol di sana?"
Bahasa dan istilah bahasa gaul berkembang dari waktu ke waktu, dan pelaku kejahatan terus mencari cara baru untuk menghindari filter. Keunggulan Pengklasifikasi PII terletak pada kemampuannya untuk beradaptasi dengan pola bahasa dan strategi baru yang berkembang. Ketika kami mendeteksi pola adversarial dunia nyata, kami memasukkannya kembali ke dalam model untuk membantu melatihnya secara berkelanjutan.
Training dan Evaluasi
Untuk melatih model pada awalnya, kami meninjau dan secara manual memberi label data terkait PII. Inilah titik awalnya, tetapi kami tidak dapat meningkatkan skala dan menangkap berbagai skenario yang luas dengan cepat. Alih-alih mencoba menyisir setiap istilah dan permutasi yang ditemukan dalam miliaran pesan chat per hari secara manual dan menerapkan label yang sesuai, kami membangun dan menguji sampler data untuk memilih sampel yang relevan untuk training. Tujuan kami adalah mengecualikan percakapan yang tidak berbahaya dan berfokus pada percakapan yang berisi data terkait PII untuk mengurangi kemungkinan kesalahan pelabelan manusia dan mencakup lebih banyak hal. Dua sampler terbukti paling efektif:
- Pengambilan sampel ketidakpastian menggunakan output skor model: Sampler ini memilih sampel yang tidak menimbulkan sinyal positif atau negatif yang kuat, yang memungkinkan kami untuk lebih menyempurnakan kasus yang ambigu.
- Sampel dari blok PII berturut-turut: Sampler ini memilih sampel dari pengguna yang telah ditandai dalam beberapa percakapan tetapi tidak dalam percakapan berturut-turut. Percakapan tindak lanjut ini lebih mungkin mengandung bahasa atipikal yang telah mem-bypass filter PII saat ini. Dalam praktiknya, sampler ini mungkin terlihat seperti pengguna yang gagal mem-bypass sistem dan mencoba lagi sampai mereka menemukan celah yang cerdik.
Kombinasi sampling data dan pelabelan manusia pada data produksi saat ini menjadi dasar yang kuat untuk men-training model, tetapi karena tujuan kami adalah memperhitungkan pola yang muncul, kami membutuhkan cara untuk men-training data yang belum ada dalam sampel kami.
Data sintetis buatan AI
Hanya mengandalkan data sampel saat ini dapat menimbulkan bias dan membatasi kemampuan model untuk beradaptasi seiring perkembangan pola komunikasi baru. Misalnya, permintaan PII yang paling umum di Roblox adalah untuk nama profil platform media sosial populer. Model yang di-train hanya dengan data produksi dapat mengembangkan bias terhadap permintaan yang paling umum dan berkinerja buruk pada permintaan yang lebih jarang terjadi, seperti platform media sosial yang kurang populer, alamat email, dan nomor telepon. Komunikasi pengguna juga cenderung berfokus pada kosakata dan pola bahasa yang populer. Model yang hanya di-train dengan data produksi dapat menjadi bias terhadap pola bahasa umum dan gagal mengidentifikasi pelanggaran yang dilakukan dengan cara yang tidak lazim atau baru muncul.
Untuk menghilangkan bias ini dan bias lainnya, kami merancang pipeline pembuatan data AI yang menarget setiap kelemahan yang diwarisi dari kumpulan data pelatihan awal. Pertama, kami membuat prompt menggunakan kombinasi variabel, termasuk konteks, jenis PII, persona pengguna, bahasa, dan contoh baris chat. Kemudian, kami membuat baris chat baru berdasarkan prompt ini dan memasukkannya ke dalam model.
Red teaming manusia dan AI
Kami menggunakan red teaming manusia dan AI (di sini, tim mensimulasikan serangan adversarial untuk menguji pertahanan sistem) selama pengembangan untuk menguji keefektifan model dan menyempurnakan training. Kami mengundang moderator untuk bereksperimen dengan berbagai metode untuk meminta dan membagikan PII dan meminta LLM untuk memodifikasi metode ini dengan berbagai cara, lalu menambahkan sampel yang terlewat oleh model ke kumpulan data trainingnya. Red teaming AI membantu kami dengan cepat menguji banyak variasi dan mencakup metode yang mungkin belum dicakup oleh moderator. Contohnya:
Asli: katas sandinya xxxx
modifikasi AI: KETA SAANDinya xxxx
Asli: Bella nomor teleponku 346
modifikasi AI: Bella nom0rku sebenarnya tigaempat6
Red teaming membantu kami lebih memahami celah dalam data training kami saat ini dan menyesuaikan data sintetis kami untuk mengeliminasi celah tersebut. Hal ini juga memungkinkan kami mengukur perbedaan antar-iterasi model, yang menjadi makin sulit karena dua versi model mulai memenuhi set evaluasi. Kami menyajikan beberapa versi model berdasarkan alat red-teaming untuk secara langsung membandingkan tingkat bypass di lingkungan yang sama dan menentukan model yang secara statistik lebih efektif.
Performa
Dengan rata-rata 6,1 miliar pesan chat yang dikirim per hari, Pengklasifikasi PII menerima volume yang sangat tinggi, yaitu lebih dari 200.000 kueri per detik di Roblox. Kami menangani volume ini dengan latensi P90 <100 mdtk. Untuk menyeimbangkan layanan dan kualitas, kami memilih arsitektur khusus pengodean dan menyempurnakan model kami dari XLM-RoBERTa-Large2. Kami memisahkan tokenizer dan layanan pra- dan pasca-pemrosesan agar berjalan secara efisien di CPU dan menjalankan arsitektur transformer murni pada GPU untuk menekan biaya. Kami juga menggunakan dynamic batching pada server Triton untuk meningkatkan throughput.
Membuat tolok ukur pada Dataset Publik dan Internal
Kami membuat tolok ukur Pengklasifikasi PII dengan model mutakhir lainnya menggunakan data produksi dan dataset publik kami sendiri. Sebagian besar dataset PII publik berfokus pada teks PII itu sendiri alih-alih pada teks terkait yang dapat menandakan maksud, sehingga tidak ada yang sepenuhnya selaras dengan persyaratan platform kami untuk membuat tolok ukur. Namun demikian, kami ingin melihat seberapa baik model kami jika dibandingkan dengan solusi deteksi saat ini menggunakan dataset PII populer, seperti Deteksi Data PII Dataset3 dari The Learning Agency Lab di Kaggle.
Kami menggunakan skor F1 karena LLM dalam perbandingan hanya memberikan satu pasangan (recall, akurasi). Untuk model yang menghasilkan skor klasifikasi, kami melaporkan skor F1 optimal pada set uji. Sebagai catatan, model kami memerlukan snippet baris chat pengguna sebagai input dan menghasilkan skor PII, yang kami gunakan untuk membuat keputusan biner pada baris chat. Untuk perbandingan yang adil, kami membagi data set publik berdasarkan kalimat dan memberi label positif pada setiap kalimat jika kalimat tersebut berisi token PII NER positif.
| PII V1.1 | LlamaGuard-v3 1B | LlamaGuard-v3 8B | LlamaGuard-v4 12B | NemoGuard 8B | Piiranha NER | |
| Dataset PII Kaggle | 45,48% | 5,90% | 5,46% | 3,72% | 3,26% | 33,20% |
| Evaluasi Roblox Bahasa Indonesia | 94,34% | 3,17% | 27,73% | 26,55% | 26,29% | 13,88% |
Dalam tolok ukur kami, model kami secara luar biasa mengungguli model open source lainnya pada dataset publik The Learning Agency Lab dan data produksi internal kami, yang mencakup lebih dari 47.000 sampel dunia nyata yang beragam di Roblox. Fokus pada penggabungan konteks percakapan yang lebih luas dan terus beradaptasi dengan sifat bahasa yang berubah-ubah terbukti menjadi cara efektif untuk mendeteksi lebih banyak percakapan yang berisi permintaan atau berbagi PII.
Pengklasifikasi PII hanyalah salah satu dari banyak sistem inovatif yang kami gunakan untuk mendorong keamanan dan kesopanan di Roblox. Kemampuan untuk mendeteksi ketika percakapan berpotensi membahas permintaan PII berarti kami dapat menangkap permintaan samar yang mungkin mem-bypass deteksi. Tidak ada sistem yang sempurna. Namun, hasil dari tahun pertama kami dalam produksi sudah menjanjikan, dan kami sangat senang membagikan alat ini kepada komunitas open-source serta alat lain dalam perangkat keamanan open-source kami.
- 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.