Apresentando o OpenAI Privacy Filter
(openai.com)- Um modelo de pesos abertos que realiza detecção e mascaramento de informações de identificação pessoal em texto não estruturado, podendo ser executado localmente para que os dados não saiam do dispositivo antes da filtragem
- Combina classificação bidirecional de tokens com span decoding para rotular a entrada inteira de uma vez e foi projetado para reconstruir rapidamente spans de PII em contextos de até 128.000 tokens
- Diferentemente de abordagens baseadas em regras que dependem de formatos como telefone ou e-mail, distingue melhor entre informações públicas e dados que precisam ser mascarados com base em linguagem e contexto
- Foi treinado com dados públicos e sintéticos, alcançou F1 de 96% no PII-Masking-300k e F1 de 97,43% na versão corrigida, enquanto a adaptação de domínio subiu de 54% para 96% mesmo com poucos dados
- Não é uma ferramenta de anonimização nem substitui certificações de conformidade; em áreas altamente sensíveis, revisão humana, avaliação por domínio e ajuste fino adicional continuam sendo importantes
Visão geral do produto e forma de distribuição
- Um modelo de pesos abertos especializado em detecção e mascaramento de informações de identificação pessoal, capaz de encontrar PII em textos para mascarar ou remover
- Suporta execução local, permitindo que os dados não saiam do dispositivo antes da filtragem e reduzindo o risco de exposição em comparação com o envio a um servidor para desidentificação
- Foi projetado para processar entradas longas rapidamente e pode decidir o que deve ser mascarado em uma única passagem
- Desenvolvedores podem executá-lo em seu próprio ambiente e ajustá-lo para seus casos de uso, adicionando proteção de privacidade mais forte a pipelines de treinamento, indexação, logging e revisão
- Foi publicado sob licença Apache 2.0 no Hugging Face e no GitHub, pensando em experimentação, customização e implantação comercial
O que muda em relação às abordagens existentes
- Ferramentas tradicionais de detecção de PII frequentemente dependem de regras determinísticas para formatos como números de telefone ou endereços de e-mail
- Esse tipo de abordagem pode funcionar bem em cenários mais restritos, mas tende a deixar passar informações pessoais mais sutis e tem dificuldade com contexto
- O Privacy Filter consegue detectar uma gama mais ampla de PII em texto não estruturado com base em uma compreensão mais profunda de linguagem e contexto
- Foi projetado para distinguir melhor entre informações públicas que devem ser preservadas e informações ligadas a uma pessoa que precisam ser mascaradas ou removidas
- Foi desenvolvido com o objetivo de elevar o padrão de privacidade além do nível atual, e uma versão ajustada também está sendo usada em fluxos internos de preservação de privacidade
Arquitetura do modelo e escopo de detecção
- Usa uma estrutura que combina um modelo bidirecional de classificação de tokens com span decoding
- Parte de um checkpoint pré-treinado autoregressivo e depois é adaptado como classificador de tokens sobre um esquema fixo de rótulos de privacidade
- Em vez de gerar o texto token por token, rotula toda a sequência de entrada de uma só vez e depois reconstrói spans consistentes com um procedimento Viterbi restrito
- Graças a essa estrutura, apresenta características de alta velocidade e eficiência, rotulando todos os tokens em um único forward pass
- Pode identificar spans de PII usando o contexto ao redor, e o modelo publicado suporta contexto de até 128.000 tokens
- É possível ajustar o equilíbrio entre revocação e precisão de acordo com o ambiente operacional
- O modelo divulgado tem 1,5 bilhão de parâmetros no total, com 50M de parâmetros ativos
- As categorias previstas são 8:
private_person,private_address,private_email,private_phone,private_url,private_date,account_numberesecret account_numberé usado para mascarar vários tipos de números de conta, incluindo cartões de crédito e contas bancárias, enquantosecretcobre itens como senhas e chaves de API- Os rótulos são decodificados como tags de span BIOES, criando limites de mascaramento mais limpos e consistentes
Processo de treinamento e resultados de avaliação
- Primeiro foi criada uma taxonomia de privacidade para definir os tipos de span que o modelo deveria detectar
- Inclui identificadores pessoais, informações de contato, endereços, datas privadas, vários números de conta incluindo dados de crédito e banco, e secrets como chaves de API e senhas
- O language modeling head do modelo de linguagem pré-treinado foi substituído por um token-classification head, seguido por treinamento supervisionado com objetivo de classificação
- O treinamento combinou dados públicos e sintéticos para capturar ao mesmo tempo textos realistas e padrões de privacidade mais desafiadores
- Em dados públicos, partes com rotulação incompleta tiveram sua cobertura ampliada com anotação assistida por modelo e revisão
- Exemplos sintéticos foram usados para aumentar a diversidade de formatos, contextos e subtipos de privacidade
- Na inferência, previsões por token são convertidas em spans consistentes por meio de decodificação de sequência restrita
- Foram realizadas avaliações em benchmarks padrão e também avaliações sintéticas e em formato de chat voltadas a casos mais difíceis e sensíveis ao contexto
- No PII-Masking-300k, registrou F1 de 96%, precisão de 94,04% e revocação de 98,04%
- Na versão corrigida, que reflete problemas de anotação do dataset identificados durante a revisão, registrou F1 de 97,43%, precisão de 96,79% e revocação de 98,08%
- Mesmo com poucos dados, a adaptação de domínio avançou rapidamente, e no benchmark avaliado o F1 subiu de 54% para 96%
- O model card também inclui testes de estresse para detecção de secrets em codebases e exemplos multilíngues, adversariais e dependentes de contexto
Limitações e cuidados de uso
- Não é uma ferramenta de anonimização, não é uma certificação de conformidade e não substitui revisão de políticas em ambientes de alto risco
- É apenas um componente dentro de um sistema mais amplo com design centrado em privacidade
- Seu comportamento é influenciado pela taxonomia de rótulos usada no treinamento e pelos limites de decisão adotados
- Como cada organização pode querer políticas diferentes de detecção e mascaramento, pode ser necessária avaliação no domínio ou ajuste fino adicional
- O desempenho pode variar em idiomas, sistemas de escrita, convenções de nomes e domínios diferentes da distribuição de treinamento
- Pode deixar passar identificadores raros ou referências pessoais ambíguas e, especialmente quando o contexto é limitado, como em sequências curtas, pode mascarar demais ou de menos
- Em áreas altamente sensíveis, como direito, saúde e finanças, revisão humana, avaliação específica de domínio e ajuste fino continuam sendo importantes
Intenção da publicação e próximos passos
- A proteção de privacidade é tratada como um desafio contínuo que atravessa pesquisa, design de produto, avaliação e implantação
- Isso reflete a importância de modelos pequenos e eficientes que entregam desempenho de nível frontier em tarefas reais definidas de forma estreita
- A publicação segue o objetivo de tornar a infraestrutura de preservação de privacidade mais fácil de auditar, executar, adaptar e melhorar
- O modelo é apresentado como uma ferramenta para ajudar sistemas a aprender sobre o mundo sem aprender informações privadas de indivíduos
- Esta prévia pública também é uma etapa para receber feedback da comunidade de pesquisa e privacidade e melhorar ainda mais o desempenho
1 comentários
Comentários do Hacker News
A sanitização de PII precisa ser revertida no cliente para manter a UX. Por exemplo, se o nome é John e ele foi ocultado como
[NAME], quando o modelo responderHi [NAME], isso precisa ser restaurado paraHi Johnantes de mostrar ao usuárioNo fim, a camada com a qual o usuário interage precisa de um mecanismo de substituição reversa
Além disso, dados de PII mascarados são quase inúteis para a maioria dos objetivos. O modelo precisa de algum nível de dados reais para funcionar, e há tantos itens classificados como PII que um chat simples até funciona, mas quando o usuário precisa interagir de forma complexa com o LLM a dificuldade aumenta muito. Pode simplesmente não funcionar ou gerar hallucination
Por isso existe suporte em nível de plataforma, mas na prática é pouco usado por causa dessas limitações
A abordagem mais realista, na minha visão, é remover só parte das PII com maior risco de segurança e usar um modelo confiável que descarte a PII o mais rápido possível. Para isso, a arquitetura do sistema também precisa mudar bastante
Ele usa detecção baseada em modelo junto com regex PII detection e faz substituição e restauração nos dois sentidos, tanto nas requisições quanto nas respostas da API. Se o modelo de detecção for hospedado localmente, a PII não sai do ambiente local
Foi especialmente útil ao lidar com documentos sensíveis como os de direito, impostos e imigração
Ainda assim, o contexto inteiro da conversa continua visível para o modelo e para o operador
Por isso eu prefiro uma abordagem como a do Confer, da Moxie https://confer.to/, que criptografa tudo para que ninguém além do usuário final possa ver o texto em claro
Se o documento foi mascarado na entrada, a saída do LLM também vai conter o conteúdo mascarado; então não entendo bem como isso continua depois
O Privacy Filter é um modelo de classificação de tokens bidirecional com span decoding, e dizem que ele começa de um checkpoint pré-treinado autoregressivo e foi adaptado como classificador de tokens sobre uma taxonomia fixa de labels de privacidade
Em vez de gerar texto token por token, ele rotula a sequência de entrada de uma vez só e decodifica spans consistentes com um procedimento Viterbi restrito
O modelo publicado tem 1,5 bilhão de parâmetros no total, com 50M de parâmetros ativos
Também foi informado que ele foi criado trocando a LM head do modelo de linguagem pré-treinado por uma token-classification head e depois fazendo pós-treinamento com um objetivo supervisionado de classificação
Se você passar o texto original pelo filtro para obter os spans e depois mapear esses spans de volta ao texto original, no fim terá toda a localização da PII
Funcionou muito bem para os usos que testei
Como o modelo da OpenAI parece pequeno o bastante, estou pensando em acoplar isso também à minha ferramenta
Coloquei um documento markdown de umas 100 linhas e ele classificou
mattercomo organização por fazer parte de frontmatter,endtambém como organização por fazer parte de frontend, eMCPigualmente como organizaçãoHavia muitos resultados gramaticalmente sem sentido, como
Following the discussion in , blahblahDá uma sensação de voltar aos tempos do NLP de 10 anos atrás, e isso me fez lembrar de novo como o spaCy foi um projeto tão bom nessa área
Para uma mensagem única e neutra como
Hi, this is Bob., normalmente já basta, mas quando os dados começam a se acumular eu ainda não vi uma ferramenta de redaction de PII que leve em conta todo o risco de vazamento de identidadeO problema cresce quando empresas usam isso e passam a acreditar que os dados foram anonimizados. Isso não é anonimização
Ainda assim, esse tipo de filtragem pode ser bem útil quando não se trata de publicar ou compartilhar os dados diretamente, mas de usá-los em etapas intermediárias de processamento como moderation, human eval e model training
Mesmo assim, parece razoável rodar um modelo desses junto para ter uma garantia extra
Não tenho GPU no servidor, mas espero que seja um modelo leve o suficiente para dar conta de inferência só em CPU se for menos de 2k tokens por vez
redactedfoi traduzido pelo polonês redagować, que significa mais editar ou lapidar um texto do que anonimizarMesmo fora de setores regulados, há muitos motivos para ter esse tipo de modelo e prática, e em teoria parte disso passa a ser necessário também por causa do EU AI Act
Eu já coloquei redaction e rehydration no https://grepture.com com um modelo NER especializado, então pretendo adicionar isso ao pipeline também
Se der para colocá-lo opcionalmente no hot path e realmente mexer nas requisições antes e depois de chegarem ao LLM, isso pode ser bem útil em cenários de compliance ou com entrada direta de usuários