6 puan yazan GN⁺ 3 일 전 | 1 yorum | WhatsApp'ta paylaş
  • Yapılandırılmamış metinlerde kişisel tanımlayıcı bilgileri tespit edip maskeleyen açık ağırlıklı bir modeldir; yerel çalıştırma sayesinde filtreleme öncesi verilerin cihaz dışına çıkmaması sağlanabilir
  • Çift yönlü token sınıflandırma ile span decoding’i birleştirerek girdiyi tek seferde etiketler ve en fazla 128.000 token bağlamında PII span’lerini hızlıca yeniden oluşturacak şekilde tasarlanmıştır
  • Telefon numarası veya e-posta biçimine dayanan kural tabanlı yöntemlerden farklı olarak, dil ve bağlam farkındalığı temelinde herkese açık bilgiler ile maskelenmesi gereken bilgileri daha iyi ayırt eder
  • Açık veri ve sentetik veri birlikte kullanılarak eğitildi; PII-Masking-300k üzerinde F1 %96, düzeltilmiş sürümde F1 %97,43 elde etti ve az miktarda veriyle bile alan uyarlama performansı %54’ten %96’ya çıktı
  • Bir anonimleştirme aracı ya da uyumluluk sertifikasyonu yerine geçmez; yüksek hassasiyetli alanlarda insan incelemesi, alana özgü değerlendirme ve ek ince ayar hâlâ önemlidir

Ürüne genel bakış ve dağıtım modeli

  • Metinlerde kişisel tanımlayıcı bilgi tespiti ve gizleme için özelleştirilmiş açık ağırlıklı bir modeldir; metindeki PII’leri bulup maskeleyebilir veya silebilir
  • Yerel çalıştırmayı destekler; böylece filtreleme öncesi veriler cihaz dışına çıkmaz ve veriyi sunucuya gönderip kimliksizleştirme yapmaya kıyasla ifşa riski azaltılabilir
  • Uzun girdileri hızlı işlemek üzere tasarlanmıştır ve tek geçişte gizleme gerekip gerekmediğine karar verebilir
  • Geliştiriciler modeli kendi ortamlarında çalıştırıp kendi kullanım senaryolarına göre ince ayar yaparak eğitim, indeksleme, loglama ve inceleme süreçlerine daha güçlü gizlilik koruması ekleyebilir
  • Hugging Face ve GitHub üzerinden Apache 2.0 lisansı ile yayımlandı; deney, özelleştirme ve ticari dağıtım da hedefleniyor

Mevcut yaklaşımlardan farkı

  • Geleneksel PII tespit araçları çoğu zaman telefon numarası veya e-posta adresi gibi biçimler için deterministik kurallara dayanır
  • Bu yaklaşım dar bir kapsamda iyi çalışabilse de daha incelikli kişisel verileri kaçırmaya yatkındır ve bağlam işlemede zayıftır
  • Privacy Filter, daha derin bir dil ve bağlam farkındalığı temelinde yapılandırılmamış metinlerde daha geniş bir PII yelpazesini tespit edebilir
  • Korunması gereken herkese açık bilgiler ile kişiyle ilişkilendirildiği için maskelenmesi veya silinmesi gereken bilgileri daha iyi ayırt edecek şekilde tasarlanmıştır
  • Mevcut seviyenin ötesine geçerek gizlilik standartlarını yükseltme amacıyla geliştirildi; iç gizlilik koruma iş akışlarında da ince ayarlı sürümü kullanılıyor

Model yapısı ve tespit kapsamı

  • Çift yönlü token sınıflandırma modeli ile span decoding’i birleştiren bir yapı kullanır
  • Otoregresif ön eğitim kontrol noktasından başlanıp, sabit bir gizlilik etiket şeması üzerindeki token sınıflandırıcısına uyarlanır
  • Metni token token üretmek yerine giriş dizisini tek seferde etiketler, ardından kısıtlı bir Viterbi süreci ile tutarlı span’ler yeniden oluşturulur
  • Bu yapı sayesinde tüm token’lar tek bir forward pass ile etiketlenerek yüksek hız ve verimlilik sağlar
  • Çevre bağlamdan yararlanarak PII span’lerini belirleyebilir ve yayımlanan model en fazla 128.000 token bağlamı destekler
  • Çalışma ortamına göre recall ile precision arasındaki denge noktası ayarlanabilir
  • Yayımlanan model toplam 1,5 milyar parametreye sahiptir; aktif parametre sayısı ise 50M’dir
  • Tahmin kategorileri private_person, private_address, private_email, private_phone, private_url, private_date, account_number, secret olmak üzere 8 adettir
  • account_number, kredi kartı numaraları ve banka hesap numaraları dâhil çeşitli hesap numaralarını gizlemek için kullanılır; secret ise parola ve API anahtarı gibi öğeleri kapsar
  • Etiketler BIOES span tag olarak decode edilerek daha temiz ve tutarlı maskeleme sınırları oluşturur

Eğitim süreci ve değerlendirme sonuçları

  • Önce bir gizlilik taksonomisi oluşturulup modelin tespit etmesi gereken span türleri tanımlandı
    • Kişisel tanımlayıcılar, iletişim bilgileri, adresler, herkese açık olmayan tarihler, kredi ve banka bilgilerini içeren çeşitli hesap numaraları, API anahtarları ve parolalar gibi secret türleri buna dâhildir
  • Ön eğitimli dil modelinin language modeling head’i token-classification head ile değiştirildi, ardından gözetimli sınıflandırma hedefiyle ek eğitim yapıldı
  • Açık veri ile sentetik veri karıştırılarak eğitildi; böylece hem gerçekçi metinler hem de zorlu gizlilik kalıpları birlikte yakalanabildi
    • Açık veride etiketlerin eksik olduğu bölümler, model destekli açıklama ekleme ve inceleme ile daha kapsamlı hâle getirildi
    • Sentetik örnekler; biçim, bağlam ve gizlilik alt türleri genelinde çeşitliliği artırmak için kullanıldı
  • Çıkarım sırasında token düzeyindeki tahminler, kısıtlı dizi decoding ile tutarlı span’lere dönüştürülür
  • Standart benchmark’ların yanı sıra daha zor, bağlama duyarlı vakaları hedefleyen ek sentetik ve sohbet tarzı değerlendirmeler de yapıldı
  • PII-Masking-300k üzerinde F1 %96, precision %94,04 ve recall %98,04 elde edildi
  • İnceleme sürecinde doğrulanan veri kümesi anotasyon sorunlarını yansıtan düzeltilmiş sürümde F1 %97,43, precision %96,79 ve recall %98,08 elde edildi
  • Az miktarda veriyle bile alan uyarlaması hızlı gerçekleşti ve değerlendirilen alan uyarlama benchmark’ında F1 %54’ten %96’ya yükseldi
  • Model kartı, kod tabanında secret tespiti ile çok dilli, adversarial ve bağlama bağımlı örnekler üzerinde yapılan stres testlerini de içeriyor

Sınırlamalar ve kullanım sırasında dikkat edilmesi gerekenler

  • Bir anonimleştirme aracı değildir, uyumluluk sertifikasyonu sağlamaz ve yüksek riskli ortamlarda politika incelemesinin yerine geçmez
  • Gizlilik odaklı tasarlanmış bütünsel bir sistemin yalnızca bir bileşenidir
  • Çalışma özellikleri, eğitimde kullanılan etiket taksonomisi ve karar sınırlarından etkilenir
  • Kurumların istediği tespit ve maskeleme politikaları farklı olabileceğinden, alan içi değerlendirme veya ek ince ayar gerekebilir
  • Eğitim dağılımından farklı dillerde, yazı sistemlerinde, adlandırma kurallarında veya alanlarda performans değişebilir
  • Nadir tanımlayıcıları ya da belirsiz kişisel referansları kaçırabilir; özellikle kısa diziler gibi bağlamın sınırlı olduğu durumlarda fazla ya da yetersiz maskeleme yapabilir
  • Hukuk, sağlık ve finans gibi yüksek hassasiyetli alanlarda insan incelemesi, alana özgü değerlendirme ve ince ayar hâlâ önemlidir

Yayın amacı ve gelecekteki yön

  • Gizlilik koruması; araştırma, ürün tasarımı, değerlendirme ve dağıtımın tamamına yayılan sürekli bir görev olarak ele alınıyor
  • Dar tanımlı gerçek dünya görevlerinde frontier düzeyinde performans sunan küçük ve verimli modellerin önemini yansıtıyor
  • Gizliliği koruyan altyapının daha kolay denetlenebilir, çalıştırılabilir, uyarlanabilir ve geliştirilebilir olması hedefiyle yayımlandı
  • Modellerin dünya hakkında öğrenmesini sağlarken bireylerin özel bilgilerini öğrenmemesine yardımcı olacak bir araç olarak konumlandırılıyor
  • Bu önizleme yayını, araştırma ve gizlilik topluluğundan geri bildirim alarak performansı daha da iyileştirmeye yönelik bir adım niteliği de taşıyor

1 yorum

 
GN⁺ 3 일 전
Hacker News görüşleri
  • Böyle bir özelliği birkaç yıl önce zaten uygulamayı denedim ve bunun sonucunda birkaç şey netleşti
    PII temizleme, UX'i korumak için istemci tarafında geri çözümlenmek zorunda. Örneğin isim John ise ve [NAME] olarak gizlenmiş durumdaysa, model Hi [NAME] diye yanıt verdiğinde bunu kullanıcıya göstermeden önce Hi John olarak geri yüklemek gerekir
    Sonuçta kullanıcının etkileşim kurduğu katmanda bir ters ikame mekanizması gerekiyor
    Ayrıca gizlenmiş PII verisi çoğu amaç için neredeyse işe yaramaz. Modelin çalışabilmesi için bir ölçüde gerçek veriye ihtiyacı var, ama PII olarak sınıflanan öğe sayısı o kadar fazla ki basit sohbetlerde sorun olmasa da kullanıcının LLM ile karmaşık şekilde etkileşmesi gereken durumlarda zorluk ciddi biçimde artıyor. Hatta hiçbir şey yapamayabilir ya da halüsinasyon üretebilir
    Bu yüzden platform düzeyinde destekleniyor ama bu sınırlamalar nedeniyle pratikte pek kullanılmıyor
    Gerçekçi yaklaşımın, güvenlik riski yüksek bazı PII'ları kaldırmak ve PII'ı mümkün olduğunca hızlı atan güvenilir bir model kullanmak olduğunu düşünüyorum. Bunun için sistem tasarımının da epey farklı olması gerekir
  • https://github.com/KevinXuxuxu/anon_proxy geliştiriyorum. LLM sağlayıcısının önüne konan bir anonimleştirme proxy'si gibi bir araç
    Model tabanlı tespit ile regex PII detection birlikte kullanılıyor ve API istekleri ile yanıtlarında değiştirme ve geri yükleme işlemleri iki yönde yürütülüyor. Tespit modelini yerelde barındırırsanız PII yerel ortamın dışına çıkmaz
    Özellikle hukuk, vergi, göçmenlik gibi hassas belgeler ile çalışırken faydalı oldu
    • Bu yaklaşımın güzel yanı, hangi model olursa olsun bağlanabilmesi
      Ancak konuşmanın genel bağlamı hâlâ model ve operatör tarafından görülebiliyor
      Bu yüzden ben Moxie'nin Confer'ındaki gibi https://confer.to/ her şeyi şifreleyip son kullanıcı dışında kimsenin düz metni göremediği yaklaşımı daha çok seviyorum
    • Yanıt tarafındaki geri yükleme işlemini nasıl yaptığınızı merak ediyorum
      Belgeyi girdide gizlediyseniz LLM çıktısı da gizlenmiş içerik olacaktır; sonrasında akışın nasıl devam ettiğini anlayamadım
  • Bu sürümde teknik olarak ilginç kısımlar epey var
    Privacy Filter, span decoding eklenmiş iki yönlü bir token-classification model biçiminde ve autoregressive ön eğitimli checkpoint'ten başlayıp sabit bir privacy label taxonomy üzerindeki token sınıflandırıcısına uyarlanmış
    Metni token token üretmek yerine giriş dizisini tek seferde etiketliyor ve constrained Viterbi süreciyle tutarlı span'leri çözümlüyor
    Açık yayımlanan modelin toplam 1.5B parametreye sahip olduğu, etkin parametre sayısının ise 50M olduğu söyleniyor
    Ayrıca ön eğitimli dil modelinin LM head'inin token-classification head ile değiştirildiği ve gözetimli sınıflandırma objective'i ile sonradan eğitildiği belirtiliyor
    • O zaman bu, başka PII tespit araçlarına bağlı kalmadan yapısız metin içinde hassas bilgi konumlarını bulmak için de kullanılabilir gibi görünüyor
      Orijinal metni filtreden geçirip span'leri alır, sonra o span'leri yeniden orijinal metne eşlerseniz sonunda tüm PII konum bilgilerini elde etmiş olursunuz
  • OpenAI kadar akıllı değil ama tarayıcıda BERT tabanlı NER ile bazı PII'ları gizleyen https://tools.nicklothian.com/webner/index.html aracını yaptım
    Denediğim kullanım senaryolarında oldukça iyi çalıştı
    OpenAI modelinin yeterince küçük göründüğünü düşünüyorum; bunu da aracıma eklemeyi değerlendiriyorum
    • Az önce belgede denedim ama false positive çok fazla olduğu için kullanımı epey zor görünüyor
      Yaklaşık 100 satırlık bir markdown belge verdim; matter kelimesini frontmatter'ın parçası olmasına rağmen kuruluş olarak, end kelimesini frontend'in parçası olmasına rağmen yine kuruluş olarak, MCP'yi de kuruluş olarak sınıflandırdı
      Following the discussion in , blahblah gibi dilbilgisel olarak da anlamsız birçok sonuç çıktı
      Tam anlamıyla 10 yıl önceki NLP günlerine dönmüş gibi hissettirdi ve o alanda spaCy'nin ne kadar iyi bir proje olduğunu yeniden fark ettim
  • Bu tür modellerin neredeyse tamamının naif ve temel düzeyde olduğunu net söylemek gerekir
    Hi, this is Bob. gibi tekil ve nötr bir mesaj için genelde yeterli olabilir ama veri birikmeye başladığında kimlik sızıntısı riskinin tamamını hesaba katan bir PII redaction aracını ben henüz görmedim
    Asıl sorun, şirketlerin bunları kullanıp verinin anonimleştirildiğine inanmaya başlaması. Bu anonimleştirme değil
    Yine de veriyi doğrudan yayımlamak ya da paylaşmak yerine moderation, human eval, model training gibi ara işleme aşamalarında kullanılıyorsa bu tür filtreleme oldukça yararlı olabilir
  • Örneklerin çoğunun regex ile de kolayca yakalanabilecek şeyler olması biraz hayal kırıklığı yaratıyor ama açık bir yerel model olarak yayımlanmış olması sevindirici
    • Müşterilerim için kişisel e-posta adreslerinin veya telefon numaralarının web sitesine çıkmasını regex ile engelliyorum
      Yine de ek güvence için bunun gibi bir modeli birlikte çalıştırmak mantıklı görünüyor
      Sunucuda GPU yok ama bir seferde 2k token'ın altındaysa CPU-only inference ile de kaldırılabilecek kadar hafif bir model olmasını umuyorum
  • Bağlantıya tıklayınca OpenAI sitesinin makine çevirisi sürümüne yönlendiriyor ve anlam tamamen bozulmuş
    redacted ifadesini Lehçedeki redagować olarak çevirmişler; o ise anonimleştirme değil, metni düzenlemek ve düzeltmek anlamına daha yakın
  • Bunun regex ve modeli birleştiren Presidio ile karşılaştırması nasıl olur merak ediyorum: https://microsoft.github.io/presidio/
    • Belki bu modeli Presidio'nun içine ekleyerek de kullanmak mümkün olur
  • https://peyeeye.ai'nin bu başlıkta herkesin söz ettiği sorunu kelimenin tam anlamıyla tamamen çözdüğünü düşünüyorum
    • Başkalarının verisini izin almadan toplayan bir şirketin yaptığı gizlilik aracı olması, ironiyi fazlasıyla artırıyor
  • Bu duyuru sevindirici
    Düzenlemeye tabi sektörlerde olmasanız bile böyle modeller ve pratikler bulundurmak için birçok neden var ve teoride EU AI Act nedeniyle bunların bir kısmı zaten gerekli hâle geliyor
    Ben https://grepture.com için özelleştirilmiş NER modelleriyle redaction ve rehydration ekledim; bunu da pipeline'a eklemeyi düşünüyorum
    İsteğe bağlı olarak hot path üzerinde konumlandırıp LLM'e istek ulaşmadan önce ve sonra gerçekten müdahale edebilirseniz, compliance veya doğrudan kullanıcı girdisi alan senaryolarda oldukça faydalı oluyor