5 điểm bởi GN⁺ 14 giờ trước | 1 bình luận | Chia sẻ qua WhatsApp
  • Đâ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 FaceGitHub, 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
  • Kiểu tính năng này tôi đã từng triển khai từ vài năm trước, và kết quả cho thấy một vài điều rất rõ ràng
    Để 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ời Hi [NAME] thì trước khi hiển thị cho người dùng phải phục hồi lại thành Hi John
    Cuố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
  • Tôi đang làm https://github.com/KevinXuxuxu/anon_proxy, một công cụ giống như proxy ẩn danh hóa đặt phía trước nhà cung cấp LLM
    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ư
    • Điểm hay của cách này là có thể gắn với bất kỳ mô hình nào
      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
    • Tôi tò mò không biết họ xử lý khôi phục ở phía response như thế nào
      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
  • Bản phát hành này có khá nhiều phần thú vị về mặt kỹ thuật
    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
    • Vậy thì có vẻ cái này cũng có thể dùng để tìm vị trí thông tin nhạy cảm trong văn bản phi cấu trúc mà không cần phụ thuộc vào công cụ phát hiện PII khác
      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
  • Nó không thông minh bằng OpenAI, nhưng tôi đã làm https://tools.nicklothian.com/webner/index.html để che một phần PII bằng BERT-based NER trong trình duyệt
    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 vừa thử với tài liệu thì thấy có khá nhiều false positive, nên có vẻ khá khó dùng
      Tôi đưa vào một tài liệu markdown khoảng 100 dòng thì matter là một phần của frontmatter nhưng bị nhận là tổ chức, end là một phần của frontend cũng bị nhận là tổ chức, và MCP cũng bị phân loại là tổ chức
      Có rất nhiều kết quả vô nghĩa về mặt ngữ pháp kiểu Following the discussion in , blahblah
      Cả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
  • Cần nói rõ rằng gần như mọi mô hình kiểu này đều ngây thơ và sơ khai
    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ính
    Như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
  • Hơi tiếc là phần lớn ví dụ đều là những thứ regex cũng bắt được khá dễ, nhưng tôi vẫn mừng vì nó được phát hành dưới dạng mô hình local mở
    • Với khách hàng của tôi, tôi dùng biểu thức chính quy để ngăn email cá nhân hoặc số điện thoại bị đăng lên website
      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
  • Khi bấm vào link thì nó chuyển hướng sang bản dịch máy trên trang OpenAI, mà ý nghĩa bị hỏng hoàn toàn
    redacted bị 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óa
  • Tôi tò mò không biết nó so với Presidio trộn regex và mô hình sẽ thế nào: https://microsoft.github.io/presidio/
    • Tôi nghĩ có khi còn dùng được bằng cách nhét mô hình này vào Presidio
  • Theo tôi thì https://peyeeye.ai giải quyết đúng nghĩa toàn bộ các vấn đề mà mọi người trong thread này đang nói đến
    • Một công ty thu thập dữ liệu của người khác mà không xin phép lại đi làm công cụ quyền riêng tư, đúng là quá mỉa mai
  • Tôi rất vui với lần công bố này
    Ngay 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