- Đây là một mô hình open-weight thực hiện phát hiện và che thông tin nhận dạng cá nhân trong văn bản phi cấu trúc; có thể chạy cục bộ để dữ liệu không rời khỏi thiết bị trước khi được lọc
- Mô hình kết hợp phân loại token hai chiều với span decoding để gán nhãn toàn bộ đầu vào trong một lần, đồng thời được thiết kế để khôi phục nhanh các span PII trong ngữ cảnh dài tối đa 128.000 token
- Khác với cách tiếp cận dựa trên quy tắc phụ thuộc vào định dạng như số điện thoại hay email, mô hình phân biệt tốt hơn giữa thông tin công khai và thông tin cần che dựa trên nhận biết ngôn ngữ và ngữ cảnh
- Mô hình được huấn luyện bằng cả dữ liệu công khai lẫn dữ liệu tổng hợp; đạt F1 96% trên PII-Masking-300k, và ở phiên bản hiệu chỉnh đạt F1 97,43%; hiệu năng thích nghi theo miền cũng tăng từ 54% lên 96% chỉ với lượng dữ liệu nhỏ
- Đây không phải công cụ ẩn danh hóa hay sự thay thế cho chứng nhận tuân thủ; trong các lĩnh vực có độ nhạy cao, việc rà soát bởi con người, đánh giá theo miền và fine-tune bổ sung vẫn rất quan trọng
Tổng quan sản phẩm và cách phát hành
- Đây là mô hình open-weight chuyên cho phát hiện và che thông tin nhận dạng cá nhân, có thể tìm PII trong văn bản để che hoặc xóa
- Hỗ trợ chạy cục bộ, giúp dữ liệu không rời khỏi thiết bị trước khi lọc, từ đó giảm rủi ro lộ lọt so với việc gửi dữ liệu lên máy chủ để khử nhận dạng
- Được thiết kế để xử lý nhanh đầu vào dài và có thể quyết định việc che dữ liệu chỉ trong một lượt chạy
- Nhà phát triển có thể chạy trong môi trường riêng và fine-tune theo use case của mình để bổ sung lớp bảo vệ quyền riêng tư mạnh hơn vào các pipeline huấn luyện, lập chỉ mục, ghi log và rà soát
- Được phát hành theo giấy phép Apache 2.0 trên Hugging Face và GitHub, hướng tới cả thử nghiệm, tùy biến lẫn triển khai thương mại
Điểm khác biệt so với cách làm hiện có
- Các công cụ phát hiện PII truyền thống thường dựa vào quy tắc xác định cho các định dạng như số điện thoại hoặc địa chỉ email
- Cách làm này có thể hoạt động tốt trong phạm vi hẹp, nhưng dễ bỏ sót dữ liệu cá nhân tinh vi hơn và cũng yếu trong xử lý ngữ cảnh
- Privacy Filter có thể phát hiện phạm vi PII rộng hơn trong văn bản phi cấu trúc nhờ nhận biết ngôn ngữ và ngữ cảnh sâu hơn
- Mô hình được thiết kế để phân biệt tốt hơn giữa thông tin công khai cần giữ lại và thông tin gắn với cá nhân cần được che hoặc xóa
- Mô hình được phát triển với mục tiêu nâng tiêu chuẩn quyền riêng tư vượt lên trên mặt bằng hiện có, và OpenAI cũng đang dùng các phiên bản fine-tune trong quy trình bảo toàn quyền riêng tư nội bộ
Kiến trúc mô hình và phạm vi phát hiện
- Sử dụng kiến trúc kết hợp mô hình phân loại token hai chiều với span decoding
- Bắt đầu từ checkpoint tiền huấn luyện tự hồi quy, sau đó được điều chỉnh thành bộ phân loại token trên một hệ nhãn quyền riêng tư cố định
- Thay vì sinh văn bản theo từng token, mô hình gán nhãn toàn bộ chuỗi đầu vào trong một lần rồi khôi phục các span nhất quán bằng quy trình Viterbi có ràng buộc
- Nhờ kiến trúc này, mô hình có đặc tính nhanh và hiệu quả cao khi gán nhãn mọi token chỉ với một forward pass
- Có thể dùng ngữ cảnh xung quanh để xác định span PII, và mô hình công khai hỗ trợ ngữ cảnh tối đa 128.000 token
- Có thể điều chỉnh điểm cân bằng giữa recall và precision cho phù hợp với môi trường vận hành
- Mô hình công khai có tổng cộng 1,5B tham số, trong đó số tham số hoạt động là 50M
- Các nhãn dự đoán gồm 8 loại:
private_person, private_address, private_email, private_phone, private_url, private_date, account_number, secret
account_number được dùng để che nhiều loại số tài khoản khác nhau, bao gồm số thẻ tín dụng và số tài khoản ngân hàng; secret bao phủ các mục như mật khẩu và API key
- Các nhãn được giải mã dưới dạng BIOES span tag để tạo ranh giới che dữ liệu gọn gàng và nhất quán hơn
Quá trình huấn luyện và kết quả đánh giá
- Trước tiên, OpenAI xây dựng taxonomy quyền riêng tư để định nghĩa các loại span mà mô hình cần phát hiện
- Bao gồm định danh cá nhân, thông tin liên hệ, địa chỉ, ngày tháng riêng tư, nhiều loại số tài khoản gồm thông tin tín dụng và ngân hàng, cùng các secret như API key và mật khẩu
- Sau khi thay language modeling head của mô hình ngôn ngữ tiền huấn luyện bằng token-classification head, mô hình được huấn luyện tiếp với mục tiêu phân loại có giám sát
- Mô hình được huấn luyện bằng cách trộn dữ liệu công khai với dữ liệu tổng hợp để vừa nắm bắt văn bản thực tế vừa bao phủ các mẫu quyền riêng tư khó
- Với dữ liệu công khai có nhãn chưa đầy đủ, OpenAI dùng chú giải có hỗ trợ từ mô hình và quy trình rà soát để tăng độ bao phủ
- Các ví dụ tổng hợp được dùng để tăng tính đa dạng về định dạng, ngữ cảnh và các kiểu con của dữ liệu riêng tư
- Khi suy luận, dự đoán ở mức token được chuyển thành các span nhất quán bằng giải mã chuỗi có ràng buộc
- Việc đánh giá được thực hiện trên benchmark chuẩn cùng với các bộ đánh giá tổng hợp và dạng hội thoại nhắm vào những trường hợp nhạy ngữ cảnh khó hơn
- Trên PII-Masking-300k, mô hình đạt F1 96%, precision 94,04% và recall 98,04%
- Ở phiên bản hiệu chỉnh phản ánh các vấn đề chú giải dữ liệu được phát hiện trong quá trình rà soát, mô hình đạt F1 97,43%, precision 96,79% và recall 98,08%
- Chỉ với lượng dữ liệu nhỏ, khả năng thích nghi theo miền đã cải thiện rất nhanh; trên benchmark domain adaptation được đánh giá, F1 tăng từ 54% lên 96%
- Model card cũng bao gồm các bài stress test về phát hiện secret trong codebase và các ví dụ đa ngôn ngữ, đối kháng và phụ thuộc ngữ cảnh
Hạn chế và lưu ý khi sử dụng
- Đây không phải công cụ ẩn danh hóa, không phải chứng nhận tuân thủ và cũng không thay thế việc rà soát chính sách trong môi trường rủi ro cao
- Mô hình chỉ là một thành phần trong toàn bộ hệ thống được thiết kế theo hướng lấy quyền riêng tư làm trung tâm
- Đặc tính hoạt động của mô hình chịu ảnh hưởng từ taxonomy nhãn và các ranh giới phán đoán được dùng trong huấn luyện
- Chính sách phát hiện và che dữ liệu mong muốn có thể khác nhau giữa các tổ chức, nên có thể cần đánh giá trong miền hoặc fine-tune thêm
- Hiệu năng có thể thay đổi ở các ngôn ngữ, hệ chữ viết, quy tắc tên gọi hoặc miền khác với phân phối huấn luyện
- Mô hình có thể bỏ sót các định danh hiếm hoặc tham chiếu cá nhân mơ hồ; đặc biệt khi ngữ cảnh bị hạn chế như trong chuỗi ngắn, nó có thể che quá mức hoặc chưa đủ
- Trong các lĩnh vực có độ nhạy cao như pháp lý, y tế và tài chính, việc rà soát bởi con người, đánh giá theo miền và fine-tune vẫn rất quan trọng
Mục đích công bố và định hướng tiếp theo
- Bảo vệ quyền riêng tư được xem là một nhiệm vụ liên tục xuyên suốt nghiên cứu, thiết kế sản phẩm, đánh giá và triển khai
- Điều này phản ánh tầm quan trọng của các mô hình nhỏ, hiệu quả có thể đạt hiệu năng ở mức frontier trong những tác vụ thực tế được xác định hẹp
- Mô hình được công bố với mục tiêu giúp hạ tầng bảo toàn quyền riêng tư dễ được kiểm tra, vận hành, thích nghi và cải thiện hơn
- Đây được xem là công cụ giúp mô hình học về thế giới nhưng không học thông tin riêng tư của cá nhân
- Bản preview lần này cũng là một bước để tiếp nhận phản hồi từ cộng đồng nghiên cứu và quyền riêng tư nhằm tiếp tục cải thiện hiệu năng
1 bình luận
Ý kiến Hacker News
Để giữ được UX, PII redaction phải được khôi phục lại ở phía client. Ví dụ tên là John nhưng bị che thành
[NAME], nếu mô hình trả lờiHi [NAME]thì trước khi hiển thị cho người dùng phải phục hồi lại thànhHi JohnCuối cùng thì ở lớp mà người dùng tương tác vẫn cần một cơ chế thay thế ngược
Ngoài ra, dữ liệu PII đã bị che đi hầu như gần như vô dụng cho đa số mục đích. Mô hình vẫn cần một mức dữ liệu thật nào đó để hoạt động, mà số mục được phân loại là PII lại quá nhiều, nên chat đơn giản thì còn ổn chứ khi người dùng cần tương tác phức tạp với LLM thì độ khó tăng mạnh. Thậm chí có thể không làm được gì hoặc sinh ra hallucination
Vì thế ở cấp nền tảng thì có hỗ trợ, nhưng do các giới hạn này nên thực tế lại ít được dùng
Cách thực tế hơn theo tôi là chỉ loại bỏ một phần PII có rủi ro bảo mật cao, rồi dùng mô hình đáng tin cậy có thể hủy PII càng sớm càng tốt. Muốn vậy thì thiết kế hệ thống cũng phải thay đổi khá nhiều
Nó dùng cả phát hiện dựa trên mô hình lẫn regex PII detection, và xử lý thay thế/phục hồi hai chiều trong request và response API. Nếu host mô hình phát hiện cục bộ thì PII sẽ không rời khỏi môi trường local
Nó đặc biệt hữu ích khi xử lý tài liệu nhạy cảm như pháp lý, thuế, nhập cư
Tuy nhiên toàn bộ ngữ cảnh của cuộc hội thoại thì mô hình và đơn vị vận hành vẫn có thể nhìn thấy
Vì vậy tôi thích cách tiếp cận mã hóa toàn bộ như Moxie Confer https://confer.to/ hơn, để không ai ngoài người dùng cuối có thể thấy văn bản gốc
Nếu tài liệu đã bị che ở đầu vào thì đầu ra của LLM cũng sẽ là nội dung đã che, nên tôi không rõ sau đó nối tiếp thế nào
Privacy Filter là một token-classification model hai chiều có gắn span decoding, và họ nói rằng bắt đầu từ checkpoint pretrain autoregressive rồi thích nghi nó thành bộ phân loại token trên một privacy label taxonomy cố định
Thay vì sinh văn bản theo từng token, nó gán nhãn toàn bộ chuỗi đầu vào trong một lần, rồi giải mã các span nhất quán bằng quy trình constrained Viterbi
Mô hình công khai được nói là có tổng cộng 1.5B tham số, trong đó 50M là tham số hoạt động
Họ cũng cho biết đã thay LM head của mô hình ngôn ngữ tiền huấn luyện bằng token-classification head, rồi hậu huấn luyện bằng objective phân loại có giám sát
Chỉ cần cho nguyên văn đi qua bộ lọc để lấy span, rồi ánh xạ span đó trở lại nguyên văn là sẽ có toàn bộ thông tin vị trí PII
Với các trường hợp tôi thử thì nó hoạt động khá ổn
Mô hình của OpenAI trông có vẻ đủ nhỏ, nên tôi đang nghĩ thử gắn nó vào công cụ của mình
Tôi đưa vào một tài liệu markdown khoảng 100 dòng thì
matterlà một phần của frontmatter nhưng bị nhận là tổ chức,endlà một phần của frontend cũng bị nhận là tổ chức, vàMCPcũng bị phân loại là tổ chứcCó rất nhiều kết quả vô nghĩa về mặt ngữ pháp kiểu
Following the discussion in , blahblahCảm giác như quay lại đúng thời NLP 10 năm trước, và điều đó lại làm tôi thấy spaCy đúng là một dự án rất tốt trong lĩnh vực này
Nếu chỉ là một tin nhắn đơn lẻ, trung tính như
Hi, this is Bob.thì thường là đủ dùng, nhưng khi dữ liệu bắt đầu tích lũy thì tôi chưa từng thấy công cụ PII redaction nào tính hết được rủi ro lộ danh tínhNhưng khi các công ty dùng kiểu này rồi tin rằng dữ liệu đã được ẩn danh hóa thì vấn đề sẽ lớn. Đó không phải ẩn danh hóa
Dù vậy, nếu dùng cho các bước xử lý trung gian như moderation, human eval, model training thay vì công khai hay chia sẻ dữ liệu ngay, thì kiểu lọc này vẫn có thể khá hữu ích
Tuy vậy, chạy thêm mô hình kiểu này để tăng yên tâm thì có vẻ cũng ổn
Tôi không có GPU trên server, nhưng hy vọng nó là mô hình đủ nhẹ để CPU-only inference vẫn gánh được nếu mỗi lần dưới 2k token
redactedbị dịch sang từ redagować trong tiếng Ba Lan, từ này gần nghĩa với biên tập/chỉnh sửa văn bản hơn là ẩn danh hóaNgay cả khi không thuộc ngành bị quản lý thì vẫn có nhiều lý do để chuẩn bị sẵn các mô hình và thực hành như thế này, và về lý thuyết thì một phần cũng sẽ cần vì EU AI Act
Tôi đã thêm redaction và rehydration bằng mô hình NER chuyên biệt vào https://grepture.com, nên cũng định bổ sung cái này vào pipeline
Nếu đặt tùy chọn trên hot path để có thể thực sự can thiệp trước và sau khi request chạm tới LLM, thì nó sẽ khá hữu ích cho compliance hoặc các kịch bản nhận trực tiếp input từ người dùng