Nội dung trên trang web này đã được dịch bằng trí tuệ nhân tạo (AI) hoặc công nghệ dịch máy và có thể có lỗi.

Skip to content

Mở mã nguồn công cụ phân loại thông tin cá nhân (PII) trên Roblox: Phương pháp tiếp cận của chúng tôi trong việc phát hiện thông tin cá nhân (PII) bằng AI trong trò chuyện

Sử dụng bối cảnh để cải thiện độ chính xác

Mỗi ngày, người dùng tạo ra trung bình 6,1 tỷ tin nhắn trò chuyện trên Roblox. Chúng tôi sử dụng các hệ thống kiểm duyệt mạnh mẽ, đặt ra các hạn chế dựa trên độ tuổi và cung cấp các tính năng kiểm soát của phụ huynh để giúp duy trì sự an toàn và văn minh trong giao tiếp. Phần lớn các tin nhắn trên nền tảng này là những cuộc trò chuyện hàng ngày, chẳng hạn như hai người bạn thảo luận về chiến lược chơi game, nhưng trong một tỷ lệ nhỏ các tin nhắn, người dùng cố gắng chia sẻ thông tin nhận dạng cá nhân (PII) có thể nhạy cảm. PII có nhiều hình thức khác nhau, và người dùng chia sẻ nó vì nhiều lý do vô hại: Một người dùng có thể chia sẻ tên người dùng từ nền tảng khác để phối hợp chơi game hoặc số điện thoại để xây dựng mối quan hệ bạn bè mới. Tuy nhiên, có những trường hợp hiếm hoi khi các đối tượng xấu tìm cách thu thập PII để dụ dỗ người dùng rời khỏi Roblox sang các nền tảng khác, nơi có thể tiềm ẩn nguy cơ gây hại trong đời thực cao hơn. Trên thực tế, những khác biệt về ý định này rất khó phân biệt, đó là lý do tại sao chúng tôi có các chính sách nghiêm ngặt chống lại việc chia sẻ hoặc yêu cầu PII. Chúng tôi sử dụng nhiều công cụ để chặn tất cả PII được phát hiện trong chat theo mặc định, và chỉ nới lỏng hạn chế đối với người dùng từ 18 tuổi trở lên và người dùng từ 13 đến 17 tuổi đã xác minh lẫn nhau là "Trusted Connections". 

Phát hiện PII là một thách thức kỹ thuật trên toàn ngành. Các công cụ phát hiện tiêu chuẩn của ngành có thể bị vượt qua và thiếu khả năng thích ứng với các mẫu ngôn ngữ mới nổi. Mặc dù không có công cụ nào là hoàn hảo, chúng tôi đã phát triển một mô hình AI, Roblox PII Classifier, để tính đến bản chất thay đổi của ngôn ngữ và sử dụng ngữ cảnh để phát hiện các tình huống mà người dùng cố gắng vượt qua bộ lọc để yêu cầu hoặc chia sẻ PII.

Chúng tôi rất vui mừng thông báo rằng hôm nay chúng tôi đang mở mã nguồn PII Classifier cùng với các công cụ khác trong bộ công cụ an toàn mã nguồn mở của chúng tôi. Kể từ khi triển khai PII Classifier vào cuối năm 2024, chúng tôi đã chứng kiến sự cải thiện nhanh chóng và liên tục về độ nhạy, với hiệu suất vượt trội so với các mô hình khác hiện có. Phiên bản mô hình PII mà chúng tôi đang mở mã nguồn hôm nay đạt độ nhạy 98% đối với các cuộc trò chuyện tiềm ẩn PII trong văn bản tiếng Anh1 trên Roblox. Mô hình này cũng đạt điểm F1 là 94% trên dữ liệu sản xuất của chúng tôi, vượt trội so với các mô hình an toàn tiên tiến khác, như LlamaGuard v3 8B (28%) và Piiranha NER (14%). 

Những thách thức 

Việc phát hiện PII một cách hiệu quả trên quy mô lớn tóm gọn lại thành ba thách thức chính: 

  1. Các mẫu đối kháng: Người dùng rất sáng tạo và liên tục tìm ra những cách mới để vượt qua các bộ lọc. Một hệ thống hiệu quả phải thích ứng khi ngôn ngữ phát triển và các mẫu mới xuất hiện.
  2. Đào tạo và đánh giá: Để xây dựng mô hình hiệu quả nhất, chúng ta cũng phải tạo ra các bộ dữ liệu đào tạo và phương pháp đo lường hiệu quả. Vì mô hình phải tính đến các mẫu mới xuất hiện, dữ liệu sản xuất hiện tại không đủ để đào tạo.  
  3. Hiệu suất: Việc vận hành một mô hình như vậy trên quy mô lớn đòi hỏi kiến trúc được cân nhắc kỹ lưỡng và các quyết định tối ưu hóa để ngăn chặn tác động tiêu cực đến trải nghiệm người dùng.

Các mẫu đối kháng

Các giải pháp phát hiện PII hiện tại chủ yếu dựa vào nhận dạng thực thể được đặt tên (NER), phát hiện ở cấp độ token đối với một số loại danh từ nhất định, như tên người dùng trên mạng xã hội, số điện thoại và địa chỉ. Tuy nhiên, việc phát hiện danh từ chỉ là một phần của thách thức. Những kẻ xấu tinh vi cố tình thay đổi ngôn ngữ của họ để vượt qua bộ lọc NER (ví dụ: bằng cách sử dụng alpha, bravoCharlie để biểu thị A, BC hoặc đề cập đến một nền tảng mà không nêu tên rõ ràng). Kẻ xấu có thể báo hiệu ý định kết nối trên một nền tảng khác mà không cần chia sẻ thông tin nhạy cảm mà bộ lọc NER có thể phát hiện. Nhiệm vụ của PII Classifier không chỉ là phát hiện và làm mờ các văn bản PII rõ ràng được chia sẻ trên Roblox, mà còn là hiểu bối cảnh giao tiếp và ngăn chặn kẻ xấu tham gia vào các cuộc trò chuyện liên quan đến PII ngay từ đầu. 

Dưới đây là một số mẫu lách luật điển hình sử dụng một nền tảng xã hội giả định, StarTalk:

Thao túng ở cấp độ ký tự
  1. "bạn có khoảng 5tärtālk muốn gọi không? tôi đã tạo một tài khoản khoảng xouple ngày trước"
  2. "ggrr tớ ghét cái thẻ đó Tên cậu là gì? Đó là S và T"
Đề cập ngầm đến các mạng xã hội phổ biến
  1. "Lại nữa, tên tài khoản của bạn là gì? Reverse"
  2. "Này, bạn có thể kiểm tra tên tôi trên ứng dụng Yellow Sun không? Chúng ta trò chuyện ở đó nhé?"

Ngôn ngữ và các thuật ngữ tiếng lóng phát triển theo thời gian, và những kẻ xấu liên tục tìm kiếm những cách mới để lách các bộ lọc. Điểm mạnh của PII Classifier nằm ở khả năng thích ứng với các mẫu ngôn ngữ và cách lách luật mới khi chúng xuất hiện. Khi phát hiện các mẫu đối kháng trong thế giới thực, chúng tôi sẽ tích hợp chúng trở lại vào mô hình để giúp đào tạo mô hình liên tục. 

Huấn luyện và Đánh giá 

chưa được xác định
Ba trụ cột của việc quản lý dữ liệu hỗ trợ phát triển mô hình, từ đó thúc đẩy việc quản lý dữ liệu tốt hơn.

Để huấn luyện mô hình ban đầu, chúng tôi đã xem xét và gắn nhãn thủ công các dữ liệu liên quan đến PII. Điều đó đã cho chúng tôi một điểm khởi đầu, nhưng không cho phép chúng tôi nhanh chóng mở rộng quy mô và nắm bắt được nhiều tình huống khác nhau. Thay vì cố gắng lục lọi thủ công từng thuật ngữ và sự sắp xếp khác nhau trong hàng tỷ tin nhắn trò chuyện mỗi ngày và gắn nhãn thích hợp, chúng tôi đã xây dựng và thử nghiệm các công cụ lấy mẫu dữ liệu để chọn ra các mẫu phù hợp cho việc huấn luyện. Mục tiêu của chúng tôi là loại trừ các cuộc trò chuyện vô hại và tập trung vào các cuộc trò chuyện có chứa dữ liệu liên quan đến PII để giảm khả năng xảy ra lỗi gắn nhãn của con người và bao quát phạm vi rộng hơn. Hai bộ lấy mẫu đã được chứng minh là hiệu quả nhất:

  1. Lấy mẫu không chắc chắn bằng cách sử dụng kết quả điểm số của mô hình: Công cụ lấy mẫu này chọn các mẫu không gợi lên tín hiệu tích cực hoặc tiêu cực mạnh mẽ, cho phép chúng tôi tinh chỉnh thêm các trường hợp mơ hồ.
  2. Các mẫu từ các khối PII liên tiếp: Công cụ này chọn các mẫu từ người dùng đã bị đánh dấu trong một số cuộc trò chuyện nhưng không bị đánh dấu trong các cuộc trò chuyện liên tiếp. Các cuộc trò chuyện tiếp theo này có khả năng cao chứa ngôn ngữ bất thường đã vượt qua bộ lọc PII hiện tại. Trên thực tế, điều này có thể trông giống như một người dùng không thể vượt qua hệ thống và tiếp tục thử lại cho đến khi tìm ra một lỗ hổng thông minh. 

Sự kết hợp giữa lấy mẫu dữ liệu và gắn nhãn thủ công trên dữ liệu sản xuất hiện tại đã cung cấp một nền tảng vững chắc để huấn luyện mô hình, nhưng vì mục tiêu của chúng tôi là tính đến các mẫu mới xuất hiện, chúng tôi cần một cách để huấn luyện trên dữ liệu chưa tồn tại trong các mẫu của chúng tôi. 

Dữ liệu tổng hợp do AI tạo ra

Chỉ dựa vào dữ liệu mẫu hiện tại có thể gây ra sự thiên vị và hạn chế khả năng thích ứng của mô hình khi các mẫu giao tiếp mới xuất hiện. Ví dụ, các yêu cầu PII phổ biến nhất trên Roblox là các tên người dùng trên các nền tảng mạng xã hội phổ biến. Một mô hình chỉ được huấn luyện trên dữ liệu sản xuất có thể phát triển sự thiên vị đối với các yêu cầu phổ biến nhất và hoạt động kém hiệu quả với các yêu cầu hiếm hơn, chẳng hạn như các nền tảng mạng xã hội ít được biết đến, địa chỉ email và số điện thoại. Giao tiếp của người dùng cũng có xu hướng tập trung vào từ vựng và mẫu ngôn ngữ phổ biến. Một mô hình được huấn luyện chỉ dựa trên dữ liệu sản xuất có thể bị thiên vị đối với các mẫu ngôn ngữ phổ biến và không thể xác định các vi phạm được thể hiện theo cách bất thường hoặc mới xuất hiện.

Để loại bỏ những thiên vị này và các thiên vị khác, chúng tôi đã thiết kế một quy trình tạo dữ liệu AI nhằm khắc phục mọi điểm yếu thừa hưởng từ tập dữ liệu huấn luyện ban đầu. Đầu tiên, chúng tôi tạo ra các lời nhắc bằng cách kết hợp các biến số, bao gồm bối cảnh, loại PII, nhân cách người dùng, ngôn ngữ và các dòng trò chuyện mẫu. Sau đó, chúng tôi tạo ra các dòng trò chuyện mới dựa trên các lời nhắc này và đưa chúng vào mô hình.  

Đội đỏ của con người và AI

Chúng tôi đã sử dụng cả đội đỏ con người và AI (trong đó các đội mô phỏng các cuộc tấn công đối địch để kiểm tra hệ thống phòng thủ) trong quá trình phát triển để kiểm tra hiệu quả của mô hình và tinh chỉnh quá trình huấn luyện. Chúng tôi mời các moderator thử nghiệm các phương pháp khác nhau để yêu cầu và chia sẻ PII, đồng thời gợi ý cho các mô hình ngôn ngữ lớn (LLMs) mở rộng các phương pháp này theo nhiều cách, sau đó bổ sung các mẫu mà mô hình bỏ sót vào tập dữ liệu đào tạo. Kiểm thử đội đỏ AI giúp chúng tôi nhanh chóng thử nghiệm nhiều biến thể và bao quát các phương pháp mà các moderator có thể chưa đề cập. Ví dụ: 

Gốc: mật khẩu là xxxx
AI bổ sung: MẬT KHẨU LÀ xxxx

Gốc: Bella, số điện thoại của tôi là 346
AI bổ sung: Bella, số của tôi thực ra là threefour6

Red teaming đã giúp chúng tôi hiểu rõ hơn về những lỗ hổng trong dữ liệu huấn luyện hiện tại và điều chỉnh dữ liệu tổng hợp để lấp đầy những lỗ hổng đó. Nó cũng cho phép chúng tôi đo lường sự khác biệt giữa các phiên bản mô hình, điều này trở nên ngày càng khó khăn khi hai phiên bản của một mô hình bắt đầu bão hòa bộ dữ liệu đánh giá. Chúng tôi đã chạy nhiều phiên bản mô hình dưới công cụ red teaming để so sánh trực tiếp tỷ lệ vượt qua trong cùng một môi trường và xác định mô hình nào hiệu quả hơn về mặt thống kê.

Hiệu suất 

Với trung bình 6,1 tỷ tin nhắn trò chuyện được trao đổi mỗi ngày, PII Classifier nhận được đỉnh điểm hơn 200.000 truy vấn mỗi giây trên Roblox. Chúng tôi xử lý khối lượng này với độ trễ P90 dưới 100ms. Để cân bằng giữa khả năng phục vụ và chất lượng, chúng tôi đã chọn kiến trúc chỉ mã hóa và tinh chỉnh mô hình của mình từ XLM-RoBERTa-Large2. Chúng tôi tách các dịch vụ phân tích từ, tiền xử lý và hậu xử lý để chạy hiệu quả trên CPU và triển khai kiến trúc Transformer thuần túy trên GPU để giảm chi phí. Chúng tôi cũng sử dụng phân lô động trên các máy chủ Triton để tăng thông lượng. 

So sánh hiệu năng trên các bộ dữ liệu công khai và nội bộ 

Chúng tôi đã so sánh PII Classifier với các mô hình tiên tiến khác bằng cách sử dụng dữ liệu sản xuất của riêng mình và các bộ dữ liệu công khai. Hầu hết các bộ dữ liệu PII công khai tập trung vào chính văn bản PII thay vì văn bản xung quanh có thể cho thấy ý định, do đó không có bộ dữ liệu nào hoàn toàn phù hợp với yêu cầu của nền tảng chúng tôi cho việc so sánh. Tuy nhiên, chúng tôi vẫn muốn xem mô hình của mình so sánh như thế nào với các giải pháp phát hiện hiện tại bằng cách sử dụng các bộ dữ liệu PII phổ biến, như Bộ dữ liệu phát hiện PII của The Learning Agency Lab3 trên Kaggle.

Chúng tôi sử dụng điểm F1 vì các LLM trong so sánh chỉ cung cấp một cặp (độ thu hồi, độ chính xác). Đối với các mô hình đưa ra điểm số phân loại, chúng tôi đã báo cáo điểm F1 tối ưu trên bộ dữ liệu thử nghiệm. Lưu ý rằng mô hình của chúng tôi yêu cầu một đoạn trích từ các dòng trò chuyện của người dùng làm đầu vào và đưa ra điểm số PII, mà chúng tôi sử dụng để đưa ra quyết định nhị phân về các dòng trò chuyện đó. Để so sánh công bằng, chúng tôi đã chia bộ dữ liệu công khai theo câu và gắn nhãn mỗi câu là dương tính nếu nó chứa bất kỳ mã thông báo PII NER dương tính nào.

PII V1.1

LlamaGuard-v3 1B

LlamaGuard-v3 8B

LlamaGuard-v4 12B

NemoGuard 8B

Piiranha NER

Bộ dữ liệu PII của Kaggle

45,48%

5,90%

5,46%

3,72%

3,26%

33,20%

Đánh giá Roblox Tiếng Anh

94,34%

3,17%

27,73%

26,55%

26,29%

13,88

Trong các bài kiểm tra hiệu năng của chúng tôi, mô hình của chúng tôi đã vượt trội đáng kể so với các mô hình mã nguồn mở khác trên cả bộ dữ liệu công khai của The Learning Agency Lab và dữ liệu sản xuất nội bộ của chúng tôi, bao gồm hơn 47.000 mẫu đa dạng, thực tế trên Roblox. Việc tập trung vào việc tích hợp bối cảnh hội thoại rộng hơn và liên tục thích ứng với tính chất linh hoạt của ngôn ngữ đã chứng minh là một phương pháp hiệu quả để phát hiện nhiều cuộc trò chuyện hơn trong đó người dùng có ý định yêu cầu hoặc chia sẻ thông tin cá nhân (PII).  

PII Classifier chỉ là một trong nhiều hệ thống sáng tạo mà chúng tôi sử dụng để thúc đẩy sự an toàn và văn minh trên Roblox. Khả năng phát hiện khi một cuộc trò chuyện chuyển hướng sang yêu cầu PII có nghĩa là chúng tôi có thể nắm bắt được những yêu cầu khó hiểu mà nếu không có hệ thống này thì có thể bị bỏ qua. Mặc dù không có hệ thống nào là hoàn hảo, nhưng kết quả từ năm đầu tiên sản xuất của chúng tôi đã rất hứa hẹn, và chúng tôi rất vui mừng được chia sẻ công cụ này với cộng đồng mã nguồn mở cùng với các công cụ khác trong bộ công cụ an toàn mã nguồn mở của chúng tôi. 

  1. Tỷ lệ thu hồi 98% được đo lường trên bộ dữ liệu thử nghiệm nội bộ của Roblox với tỷ lệ FPR là 1%. Bộ dữ liệu được thu thập từ dữ liệu sản xuất và được các chuyên gia an toàn xem xét nhiều lần và gắn nhãn.
  2.  Conneau, A., Khandelwal, K., Goyal, N., Chaudhary, V., Wenzek, G., Guzmán, F., Grave, E., Ott, M., Zettlemoyer, L., và Stoyanov, V. 2019. Học biểu diễn đa ngôn ngữ không giám sát trên quy mô lớn. Bản in trước arXiv:1911.02116.
  3.  Holmes, L., Crossley, S. A., Sikka, H., và Morris, W. 2023. PIILO: Một hệ thống mã nguồn mở để gắn nhãn và làm mờ thông tin nhận dạng cá nhân. Khoa học Thông tin và Học tập, 124 (9/10), 266-284.