Menú de navegaciónMenú
Categorías
Logo campusMVP.es

La mejor forma de Aprender Programación online y en español www.campusmvp.es

Eliminación de datos personales con IA: el modelo Open Source de OpenAI que se ejecuta en local

OpenAI Privacy Filter es un modelo de código abierto que detecta y enmascara datos personales en texto con un rendimiento muy alto y ejecutándose en local. Procesa documentos largos en un solo pase y entiende el contexto para distinguir información pública de privada. Descubre qué puede hacer, cuáles son sus límites reales y cómo integrarlo en tus pipelines sin dificultad.

Imagen ornamental

OpenAI ha lanzado Privacy Filter, un modelo de código abierto (Apache 2.0) diseñado para detectar y redactar información de identificación personal (PII) en texto de forma eficiente y sensible al contexto. La clave diferencial frente a otras soluciones del mercado es que es muy ligero y se ejecuta de forma local: los datos que aún no han sido filtrados no necesitan salir del dispositivo, lo que reduce el riesgo de exposición desde el origen.

Las herramientas tradicionales de detección de PII funcionan bien para patrones concretos (formato de un número de teléfono, estructura de un email...), pero fallan ante información ambigua o dependiente del contexto.

Privacy Filter aborda esto con comprensión lingüística real: puede distinguir si una dirección es la sede de una empresa pública o el domicilio de una persona privada, o si una fecha es un hito de negocio o una fecha de nacimiento, en función de cómo esté redactado el texto que la rodea.

Esta es la misma versión, ajustada a sus casos de uso, que usan en OpenAI para sus propios flujos de trabajo internos de preservación de la privacidad.

Qué es y para qué sirve el modelo Privacy Filter de OpenAI

Privacy Filter actúa como una capa de preprocesamiento: recibe texto en crudo y devuelve ese mismo texto con los fragmentos sensibles sustituidos por etiquetas tipificadas. La idea es insertarlo antes de que los datos lleguen a tu base de datos, tu sistema de indexación, tu pipeline de entrenamiento o tus logs de aplicación.

Los casos de uso principales son:

  • Saneamiento de texto en la ingesta de datos antes de almacenarlos o indexarlos
  • Preparación de corpus para entrenamiento o evaluación de modelos
  • Censura de información personal en documentos, correos y transcripciones de soporte
  • Detección de secretos y credenciales en bases de código antes de almacenar o compartir logs
  • Adaptación a políticas de privacidad propias de cada organización mediante fine-tuning

Y no solo se puede utilizar desde tu pipeline para IA generativa: es un script de Python que permite procesar textos o archivos completos con una llamada desde línea de comandos.

El modelo tiene 1.500 millones de parámetros en total, por lo que es muy ágil para ejecutarlo incluso en una CPU. De todos modos solo utiliza 50 millones de parámetros activos en tiempo de ejecución gracias a una arquitectura de mezcla de expertos dispersa (sparse MoE), con enrutamiento top-4 entre 128 expertos.

Esto le permite ejecutarse en un portátil o incluso en un navegador web, con una ventana de contexto de 128.000 tókenes sin necesidad de hacer chunking, lo que lo hace especialmente útil para documentos largos.

Si lo usas en tu pipeline deberías utilizarlo tanto antes de enviar información al modelo para su procesamiento en el contexto, como después para anonimizar las respuestas del propio modelo que estés utilizando.

Qué es capaz de detectar el modelo Privacy Filter de OpenAI

El modelo reconoce ocho categorías de PII:

  • private_person: nombres de personas privadas, nombres de usuario y handles de redes sociales.
  • private_address: direcciones asociadas a una persona privada.
  • private_email: correos electrónicos de uso personal.
  • private_phone: números de teléfono de personas privadas.
  • private_url: URLs o IPs de audiencia privada o que identifican a alguien.
  • private_date: fechas de nacimiento u otras fechas que identifican a una persona concreta.
  • account_number: números de tarjeta de crédito, cuenta bancaria u otros identificadores.
  • secret: claves de API, contraseñas y credenciales.

Vamos a ver sus efectos en la práctica... Imagina que tenemos un correo electrónico con el siguiente contenido:

Hola Carlos:

Te confirmo que hemos procesado la devolución del pedido de Laura Martínez,
nacida el 3 de abril de 1987. Puedes contactarla en [email protected] o 
en el +34 612 345 678. 

El reembolso se enviará a la cuenta terminada en 4111-2233-4455-6677.

Un saludo.

Tomás Reyes

Al pasarlo por el modelo, produce esta salida:

Hola [PRIVATE_PERSON]:

Te confirmo que hemos procesado la devolución del pedido de [PRIVATE_PERSON],
nacida el [PRIVATE_DATE]. Puedes contactarla en [PRIVATE_EMAIL] o
en el [PRIVATE_PHONE].

El reembolso se enviará a la cuenta terminada en [ACCOUNT_NUMBER].

Un saludo

[PRIVATE_PERSON]

Fíjate en un detalle importante: "3 de abril de 1987" queda enmascarada porque el modelo infiere del contexto que es una fecha de nacimiento asociada a una persona concreta, no una fecha de negocio genérica (como por ejemplo la fecha de una factura). O sea, no es un enmascaramiento por patrones, sino que reconoce el contexto y es capaz de discernir si un dato es realmente privado o no.

El resto del contenido operativo del ticket ("devolución del pedido", "reembolso") se preserva intacto.

Si en el mismo ticket hubiera además una credencial de acceso al sistema:

La API key de producción es sk-prod-9aXk2mT84nQwZ1oLpRvC. Úsala solo en entornos internos.

La salida sería:

La API key de producción es [SECRET]. Úsala solo en entornos internos.

Rendimiento

En el benchmark PII-Masking-300k, Privacy Filter alcanza un F1 del 96% (94,04% de precisión y 98,04% de recall). En la versión corregida por errores de anotación que identificó el propio equipo de OpenAI durante la evaluación, el F1 sube a 97,43% (96,79% de precisión y 98,08% de recall).

El dato más relevante para decisiones de despliegue es el recall del 98%: casi ningún dato sensible pasa inadvertido. Y el modelo generaliza bien con pocos ejemplos de dominio: en un benchmark de adaptación de dominio, el F1 pasa del 54% al 96% con una cantidad pequeña de datos de fine-tuning, y la curva se aplana rápidamente.

En cuanto a idiomas, el modelo está optimizado para inglés. Aunque ofrece resultados "razonables" en alemán, francés, italiano, español y holandés, OpenAI advierte explícitamente que no es un modelo multilingüe de pleno derecho, y recomienda evaluación específica para otros idiomas o scripts.

O sea, que como siempre, toca probarlo bien con nuestro caso de uso particular.

Cómo usarlo

Privacy Filter está disponible en GitHub y en Hugging Face bajo licencia Apache 2.0, que permite uso comercial, modificación y distribución.

La instalación incluye una CLI llamada opf. El uso más básico desde la línea de comandos es:

$ opf "Ben Morgan lives at 12 3rd St. Call him at 123 456 7890."
<PRIVATE_PERSON> lives at <PRIVATE_ADDRESS>. Call him at <PRIVATE_PHONE>.

Para procesar un fichero completo y obtener la salida en JSON con las posiciones exactas de cada span, su etiqueta y el texto original :

$ opf -f documento.txt --format json

El JSON resultante incluye los offsets de inicio y fin de cada span detectado, lo que es especialmente útil si necesitas trazabilidad o quieres aplicar la redacción de forma selectiva en tu propio código.

Para el fine-tuning sobre tus propios datos anotados en formato JSONL (un simple archivo que contiene un objeto JSON en cada línea) puedes hacer:

$ opf train --output-dir finetuned/ dataset.jsonl

Lo que nos facilita mucho las cosas para poder adaptarlo a nuestros casos particulares, pudiendo hacer el fine-tuning en una máquina local.

Lo que no hace (y lo que no debe hacer)

Privacy Filter no es una herramienta de anonimización certificada, ni reemplaza la revisión humana en flujos de alto riesgo. Es un componente dentro de un sistema de privacidad más amplio, no un sustituto de un pipeline completo.

Tiene tres limitaciones concretas que conviene tener en mente antes de integrarlo en producción:

  • Las categorías de etiquetado son fijas: si tu organización necesita definiciones de PII distintas a las del modelo base, el camino es el fine-tuning, no la configuración en tiempo de ejecución.
  • En secuencias cortas o con poco contexto, el modelo puede sobrecensurar o dejar pasar identificadores ambiguos.
  • En dominios de alta sensibilidad (legal, médico, financiero), la revisión humana y la evaluación específica de dominio siguen siendo imprescindibles.

Aún así es una herramienta increíblemente útil de la que podemos disfrutar de manera gratuita y libre. Muy a tener en cuenta...

Consulta el anuncio de lanzamiento de OpenAI para Privacy Filter, y su el Model Card de Privacy Filter (PDF, 473Kb).

José Manuel Alarcón Fundador de campusMVP.es, es ingeniero industrial y especialista en consultoría de empresa. Ha escrito diversos libros, habiendo publicado hasta la fecha cientos de artículos sobre informática e ingeniería en publicaciones especializadas. Microsoft lo ha reconocido como MVP (Most Valuable Professional) en desarrollo web desde el año 2004 hasta la actualidad. Puedes seguirlo en LinkedIn. Ver todos los posts de José Manuel Alarcón
Archivado en: Inteligencia Artificial

Boletín campusMVP.es

Solo cosas útiles. Una vez al mes.

🚀 Únete a miles de desarrolladores

DATE DE ALTA

x No me interesa | x Ya soy suscriptor

La mejor formación online para desarrolladores como tú

Agregar comentario

Los datos anteriores se utilizarán exclusivamente para permitirte hacer el comentario y, si lo seleccionas, notificarte de nuevos comentarios en este artículo, pero no se procesarán ni se utilizarán para ningún otro propósito. Lee nuestra política de privacidad.