Membuka Sumber Kode Klasifikasi PII Roblox: Pendekatan Kami dalam Deteksi PII Berbasis AI di Obrolan
Menggunakan Konteks untuk Meningkatkan Tingkat Pengenalan

Setiap hari, pengguna menghasilkan rata-rata 6,1 miliar pesan obrolan di Roblox. Kami menggunakan sistem moderasi yang kuat, menetapkan batasan berdasarkan usia, dan menyediakan kontrol orang tua untuk membantu menjaga komunikasi tetap aman dan sopan. Sebagian besar pesan di platform ini adalah percakapan sehari-hari, seperti dua teman yang mendiskusikan strategi permainan, tetapi 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: Seorang pengguna mungkin membagikan nama pengguna dari platform lain untuk berkoordinasi dalam permainan atau nomor telepon untuk membangun persahabatan yang baru. Namun, ada kasus langka di mana pihak yang tidak bertanggung jawab mencari PII untuk memancing pengguna meninggalkan Roblox ke platform lain di mana risiko bahaya di dunia nyata bisa lebih tinggi. Dalam praktiknya, perbedaan niat ini sulit dibedakan, itulah sebabnya kami memiliki kebijakan ketat terhadap pembagian atau pencarian PII. Kami menggunakan berbagai alat untuk memblokir semua PII yang terdeteksi dalam obrolan secara default, dan kami melonggarkan pembatasan hanya untuk pengguna berusia 18 tahun ke atas serta pengguna berusia 13 hingga 17 tahun yang telah memverifikasi satu sama lain sebagai Koneksi Terpercaya.
Deteksi PII merupakan tantangan teknis di seluruh industri. Alat deteksi standar industri dapat dilewati dan tidak memiliki kemampuan untuk beradaptasi dengan pola bahasa yang muncul. Meskipun tidak ada alat yang sempurna, kami mengembangkan model AI, Roblox PII Classifier, untuk memperhitungkan sifat bahasa yang terus berkembang dan menggunakan konteks untuk mendeteksi situasi di mana pengguna mencoba melewati filter untuk meminta atau membagikan PII.
Kami dengan bangga mengumumkan bahwa hari ini kami merilis PII Classifier sebagai open source bersama dengan alat-alat lain dalam toolkit keamanan open source kami. Sejak mengimplementasikan PII Classifier pada akhir 2024, kami telah melihat peningkatan yang cepat dan berkelanjutan dalam tingkat recall, dengan kinerja yang melampaui model-model lain yang tersedia. Versi model PII yang kami rilis sebagai open source hari ini memiliki tingkat recall 98% untuk percakapan yang berpotensi mengandung PII dalam teks bahasa Inggris1 di Roblox. Model ini juga telah mencapai skor F1 sebesar 94% pada data produksi kami, mengungguli model keamanan mutakhir lainnya, seperti LlamaGuard v3 8B (28%) dan Piiranha NER (14%).



Tantangan
Mendeteksi PII secara efektif dalam skala besar pada dasarnya bermuara pada tiga tantangan utama:
- Pola-pola yang merugikan: Pengguna sangat kreatif dan terus-menerus menemukan cara baru untuk melewati filter. Sistem yang efektif harus beradaptasi seiring dengan perkembangan bahasa dan munculnya pola-pola baru.
- Pelatihan dan evaluasi: Untuk membangun model yang paling efektif, kita juga harus membuat kumpulan data pelatihan dan metode pengukuran yang efektif. Karena model harus memperhitungkan pola-pola yang muncul, data produksi saat ini tidak cukup untuk pelatihan.
- Kinerja: Menjalankan model semacam itu dalam skala besar memerlukan arsitektur yang cermat dan keputusan optimasi untuk mencegah dampak negatif terhadap pengalaman pengguna.
Pola Adversarial
Solusi deteksi PII yang ada sebagian besar mengandalkan pengenalan entitas bernama (NER), yaitu deteksi tingkat token terhadap jenis kata benda tertentu, seperti nama pengguna media sosial, nomor telepon, dan alamat. Namun, deteksi kata benda hanyalah sebagian dari tantangan. Pelaku jahat yang cerdik secara sengaja mengubah bahasa mereka untuk menghindari deteksi NER (misalnya, dengan menggunakan alpha, bravo, dan Charlie untuk mewakili A, B, dan C atau merujuk pada platform tanpa menyebut namanya secara eksplisit). Pelaku jahat dapat memberi sinyal niat mereka untuk terhubung di platform lain tanpa pernah membagikan informasi sensitif yang akan terdeteksi oleh filter NER. Tugas PII Classifier bukan hanya mendeteksi dan menyamarkan teks PII eksplisit yang dibagikan di Roblox, tetapi juga memahami konteks komunikasi dan mencegah pelaku jahat terlibat dalam percakapan terkait PII sejak awal.
Berikut adalah beberapa pola pengelakan yang representatif menggunakan platform sosial hipotetis, StarTalk:
Manipulasi tingkat karakter
- "apakah kamu punya 5tärtālk yang ingin kamu hubungi? aku membuat akun beberapa hari yang lalu"
- "ggrr aku benci tag itu. Siapa namamu? Itu S dan T"
Referensi implisit ke media sosial populer
- "lagi, apa nama pengguna kamu di PPA Reverse?"
- "Hei, bisakah kamu cek namaku di aplikasi Yellow Sun? Ayo kita ngobrol di sana?"
Bahasa dan istilah slang terus berkembang seiring waktu, dan pelaku jahat terus mencari cara baru untuk menghindari filter. Kekuatan PII Classifier terletak pada kemampuannya untuk beradaptasi dengan pola bahasa dan cara-cara baru yang muncul. Saat kami mendeteksi pola-pola yang merugikan di dunia nyata, kami memasukkannya kembali ke dalam model untuk membantu melatihnya secara berkelanjutan.
Pelatihan dan Evaluasi

Untuk melatih model pada awalnya, kami meninjau dan memberi label data terkait PII secara manual. Hal itu memberi kami titik awal, tetapi tidak memungkinkan kami untuk dengan cepat meningkatkan skala dan menangkap berbagai macam skenario. Daripada mencoba menyisir setiap istilah dan permutasi yang ditemukan dalam miliaran pesan obrolan per hari secara manual dan menerapkan label yang sesuai, kami membangun dan menguji pengambil sampel data untuk memilih sampel yang relevan untuk pelatihan. 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 cakupan yang lebih luas. Dua pengambil sampel terbukti paling efektif:
- Pengambilan sampel ketidakpastian menggunakan hasil skor model: Pengambil sampel ini memilih sampel yang tidak memunculkan sinyal positif atau negatif yang kuat, sehingga memungkinkan kami menyempurnakan kasus-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 lanjutan ini lebih mungkin mengandung bahasa yang tidak biasa yang telah melewati filter PII saat ini. Dalam praktiknya, ini bisa terlihat seperti pengguna yang gagal melewati sistem dan mencoba lagi hingga menemukan celah yang cerdik.
Kombinasi pengambilan sampel data dan pelabelan manusia pada data produksi saat ini memberikan landasan yang kuat untuk melatih model, tetapi karena tujuan kami adalah untuk memperhitungkan pola yang muncul, kami memerlukan cara untuk melatih model menggunakan data yang belum ada dalam sampel kami.
Data sintetis yang dihasilkan AI
Bergantung sepenuhnya pada data sampel saat ini dapat menimbulkan bias dan membatasi kemampuan model untuk beradaptasi seiring berkembangnya pola komunikasi baru. Misalnya, permintaan PII paling umum di Roblox adalah untuk nama pengguna platform media sosial populer. Model yang dilatih hanya pada data produksi dapat mengembangkan bias terhadap permintaan paling umum dan berkinerja buruk pada permintaan yang lebih jarang, seperti platform media sosial yang kurang dikenal, alamat email, dan nomor telepon. Komunikasi pengguna juga cenderung berkumpul pada kosakata dan pola bahasa yang populer. Model yang dilatih hanya pada data produksi dapat menjadi bias terhadap pola bahasa umum dan gagal mengidentifikasi pelanggaran yang diekspresikan dengan cara yang tidak biasa atau baru muncul.
Untuk menghilangkan bias ini dan bias lainnya, kami merancang jalur pembuatan data AI yang menargetkan kelemahan apa pun yang diwarisi dari kumpulan data pelatihan awal. Pertama, kami membuat prompt menggunakan kombinasi variabel, termasuk konteks, jenis PII, persona pengguna, bahasa, dan contoh kalimat obrolan. Kemudian, kami membuat kalimat obrolan baru berdasarkan prompt ini dan memasukkannya ke dalam model.
Tim merah manusia dan AI
Kami menggunakan red teaming manusia dan AI (di mana tim mensimulasikan serangan musuh untuk menguji pertahanan sistem) selama pengembangan untuk menguji keefektifan model dan menyempurnakan pelatihan. Kami mengundang moderator untuk bereksperimen dengan berbagai metode meminta dan membagikan PII, serta memandu LLM untuk memperluas metode-metode tersebut dengan berbagai cara, lalu menambahkan sampel yang terlewatkan oleh model ke dalam dataset pelatihannya. Red teaming AI membantu kami menguji banyak variasi dengan cepat dan mencakup metode yang mungkin tidak tercakup oleh moderator. Contohnya:
Asli: kata sandinya adalah xxxx
Versi yang disempurnakan AI: KATA SANDINYA ADALAH xxxx
Asli: Bella, nomor teleponku adalah 346
Versi yang disempurnakan AI: Bella, nomor teleponku sebenarnya adalah threefour6
Red teaming membantu kami lebih memahami celah dalam data pelatihan kami saat ini dan menyesuaikan data sintetis kami untuk menutup celah tersebut. Hal ini juga memungkinkan kami mengukur perbedaan antara iterasi model, yang menjadi semakin sulit saat dua versi model mulai memenuhi set evaluasi. Kami menjalankan beberapa versi model di bawah alat red teaming untuk membandingkan tingkat bypass secara langsung di lingkungan yang sama dan menentukan model mana yang secara statistik lebih efektif.
Kinerja
Dengan rata-rata 6,1 miliar pesan obrolan yang dipertukarkan per hari, PII Classifier menerima puncak lebih dari 200.000 kueri per detik di Roblox. Kami menangani volume ini dengan latensi P90 di bawah 100 ms. Untuk menyeimbangkan kinerja dan kualitas, kami memilih arsitektur encode-only dan menyempurnakan model kami dari XLM-RoBERTa-Large2. Kami memisahkan layanan tokenizer serta pra- dan pasca-pemrosesan agar berjalan efisien di CPU, serta menjalankan arsitektur transformer murni di GPU untuk menekan biaya. Kami juga menggunakan batching dinamis di server Triton untuk meningkatkan throughput.
Pengujian Perbandingan pada Dataset Publik dan Internal
Kami membandingkan PII Classifier dengan model-model mutakhir lainnya menggunakan data produksi kami sendiri dan dataset publik. Sebagian besar dataset PII publik berfokus pada teks PII itu sendiri daripada teks di sekitarnya yang dapat menandakan niat, sehingga tidak ada yang sepenuhnya sesuai dengan persyaratan platform kami untuk pengujian. Namun demikian, kami ingin melihat bagaimana model kami dibandingkan dengan solusi deteksi saat ini menggunakan dataset PII populer, seperti PII Data Detection Dataset3 dari The Learning Agency Lab di Kaggle.
Kami menggunakan skor F1 karena LLM dalam perbandingan hanya menyediakan satu pasangan (recall, precision). Untuk model yang menghasilkan skor klasifikasi, kami melaporkan skor F1 optimal pada set pengujian. Perlu dicatat bahwa model kami memerlukan potongan baris obrolan pengguna sebagai masukan dan menghasilkan skor PII, yang kami gunakan untuk membuat keputusan biner pada baris obrolan tersebut. Untuk perbandingan yang adil, kami membagi dataset publik berdasarkan kalimat dan memberi label positif pada setiap kalimat jika mengandung token PII NER positif.
PII V1.1 | ||||||
45,48% | 5,90% | 5,46% | 3,72% | 3,26% | 33,20% | |
Penilaian Roblox Bahasa Inggris | 94,34% | 3,17% | 27,73% | 26,55% | 26,29% | 13,88 |
Dalam pengujian kami, model kami secara dramatis mengungguli model open source lainnya baik pada dataset publik The Learning Agency Lab maupun data produksi internal kami, yang mencakup lebih dari 47.000 sampel dunia nyata yang beragam di Roblox. Fokus pada pengintegrasian konteks percakapan yang lebih luas dan adaptasi berkelanjutan terhadap sifat bahasa yang dinamis telah terbukti menjadi pendekatan yang efektif untuk mendeteksi lebih banyak percakapan di mana pengguna bermaksud meminta atau membagikan PII.
PII Classifier hanyalah salah satu dari banyak sistem inovatif yang kami gunakan untuk mempromosikan keamanan dan kesopanan di Roblox. Kemampuan untuk mendeteksi saat percakapan berbelok ke arah permintaan PII berarti kami dapat menangkap permintaan samar yang mungkin terlewatkan oleh sistem deteksi. Meskipun tidak ada sistem yang sempurna, hasil dari tahun pertama kami dalam produksi sudah menjanjikan, dan kami antusias untuk berbagi alat ini dengan komunitas sumber terbuka bersama dengan alat-alat lain dalam toolkit keamanan sumber terbuka kami.
- Tingkat recall 98% diukur pada set data uji internal Roblox dengan tingkat FPR 1%. Dataset ini dikumpulkan dari data produksi dan telah melalui proses peninjauan berulang serta dilabeli oleh para ahli keamanan.
- Conneau, A., Khandelwal, K., Goyal, N., Chaudhary, V., Wenzek, G., Guzmán, F., Grave, E., Ott, M., Zettlemoyer, L., dan Stoyanov, V. 2019. Pembelajaran representasi lintas bahasa tanpa pengawasan dalam skala besar. Pra-cetak arXiv arXiv:1911.02116.
- Holmes, L., Crossley, S. A., Sikka, H., dan Morris, W. 2023. PIILO: Sistem sumber terbuka untuk pelabelan dan pengaburan informasi identitas pribadi. Information and Learning Science, 124 (9/10), 266-284.


