Recursos/Entrenamiento de modelos/Preparación de datos

Paso del pipeline

Datos personales y secretos (PII)

Antes del entrenamiento, los correos electrónicos, números de teléfono, números de tarjeta, IBAN, documentos de identidad y claves de API se detectan y, por defecto, se sustituyen por marcadores de posición, ya que un modelo con ajuste fino puede repetir su texto de entrenamiento palabra por palabra.

Capítulo 55 min de lectura4 referencias

Qué es

PII —información de identificación personal— es cualquier dato que identifique a una persona: una dirección de correo electrónico, un número de teléfono, un documento de identidad, una cuenta bancaria. Los registros de chat están llenos de ella, ya que los usuarios pegan sus datos al pedir ayuda. Los secretos, como las claves de API y las contraseñas, acaban ahí por el mismo motivo. Este paso los localiza en los datos de entrenamiento y decide qué hacer con ellos antes de que los datos se envíen para el entrenamiento.

Por qué un modelo puede filtrar datos de entrenamiento

El entrenamiento impulsa al modelo a hacer que cada respuesta objetivo sea más probable. Para la mayor parte del texto, esto significa aprender patrones, pero para cadenas raras y exactas —un IBAN, un correo electrónico, una clave— la única forma de predecirlas es memorizarlas. Ese texto memorizado puede volver a aparecer cuando un prompt posterior se asemeje al contexto original.

Esto no es hipotético. Carlini et al. (2020) extrajeron cientos de secuencias literales de los datos de entrenamiento de GPT-2, incluidos nombres, números de teléfono y correos electrónicos, mediante prompts al modelo y el filtrado de sus resultados. Estudios posteriores descubrieron que la memorización aumenta con el tamaño del modelo y con la frecuencia con la que se repite un ejemplo, y Lukas et al. (2023) demostraron que los métodos de depuración habituales reducen, pero no eliminan, la filtración de PII. Los datos de ajuste fino conforman un conjunto mucho más pequeño que se procesa varias veces (cada época es una pasada adicional), lo que facilita, y no dificulta, la memorización.

Cómo funciona

La detección escanea el texto de la conversación en busca de identificadores con una estructura reconocible: direcciones de correo electrónico, números de teléfono, números de tarjetas de pago, IBAN, documentos de identidad y claves de API. Cada coincidencia se gestiona según el modo que usted elija. Con Redactar, el valor se sustituye por un marcador de posición del mismo tipo:

detectado → marcador de posición
Email        dana.k@example.com              →  [EMAIL]
Phone        +44 20 7946 0958                →  [PHONE]
Card number  4111 1111 1111 1111             →  [CARD]
IBAN         GB33 BUKB 2020 1555 5555 55     →  [IBAN]
API key      sk_live_…                       →  [API_KEY]
En el conjunto de datos

userHola, soy Dana. Por favor, envíe el reembolso a GB33 BUKB 2020 1555 5555 55 y confirme en dana.k@example.com o +44 20 7946 0958.

En el archivo de entrenamiento · Anonimizado

userHola, soy Dana. Por favor, envíe el reembolso a [IBAN] y confirme en [EMAIL] o [PHONE].

datos personales detectadosmarcador de posición del mismo tipo
El mismo mensaje del usuario antes y después de la anonimización. El modelo sigue aprendiendo la estructura de la solicitud — un reembolso a una cuenta, una confirmación por correo electrónico —, pero ningún número de cuenta, dirección o número de teléfono real llega al archivo de entrenamiento.

Los marcadores de posición mantienen intacta la señal de entrenamiento. El modelo sigue aprendiendo que una solicitud de reembolso menciona una cuenta y que una buena respuesta pide confirmación por correo electrónico; simplemente nunca ve una cuenta real. En la práctica, a veces escribirá [EMAIL] donde iría un valor, lo cual es un fallo mucho mejor que escribir la dirección de un cliente real.

RedactarTípico Recomendado#

Sustituir cada valor detectado por un marcador de posición tipado como [EMAIL] o [IBAN]. La opción predeterminada recomendada: el modelo aprende el patrón, no los datos.

Marcar#

Mantener los valores, pero informar de cuántos se encontraron y dónde. Utilícelo para auditar un conjunto de datos antes de decidir, o cuando los identificadores sean datos de prueba sintéticos y necesite que el modelo reproduzca su formato exacto.

Ignorar#

No hacer nada. Solo es adecuado cuando se sabe que los datos no contienen información personal real, por ejemplo, en conversaciones totalmente sintéticas.

Ejemplo práctico: una conversación sobre un reembolso
  1. El usuario escribe: “Reembolso a GB33 BUKB 2020 1555 5555 55, confirmar a dana.k@example.com”. El asistente responde: “Hecho — se ha enviado una confirmación a dana.k@example.com”.
  2. La detección encuentra un IBAN y la misma dirección de correo electrónico dos veces, una en el mensaje del usuario y otra en la respuesta objetivo.
  3. Con Ocultar, ambos mensajes se reescriben: el texto objetivo pasa a ser “Hecho — se ha enviado una confirmación a [EMAIL]”.
  4. El correo electrónico en el texto objetivo es el peligroso: el texto objetivo es lo que el modelo está entrenado para producir. Si no se oculta, un futuro usuario que pregunte sobre reembolsos podría recibir la dirección de Dana.
  5. Con Marcar, el informe mostraría 3 elementos en 1 conversación, y el archivo de entrenamiento los conservaría.

Lo que la detección no puede captar

La detección de patrones es fiable para identificadores con una forma fija. Es mucho más débil en texto libre: el nombre de una persona, una dirección postal escrita en prosa, un diagnóstico o un detalle que identifica a alguien solo en combinación («el director financiero de nuestra oficina de Lyon»). Considere la redacción como una red de seguridad, no como una garantía, y lea una muestra del conjunto de datos teniendo esto en cuenta, especialmente cuando los chats traten sobre salud, finanzas, recursos humanos o el Sector jurídico.

Errores comunes

  • Ocultar solo los mensajes del usuario: las respuestas del asistente son los objetivos que el modelo está entrenado para reproducir, por lo que son los más importantes.
  • Tratar la ocultación automática como completa. Los nombres, las direcciones y los datos confidenciales en prosa no son identificadores estructurados.
  • Usar Marcar “solo por ahora” y entrenar con el archivo marcado de todos modos.
  • Olvidar los secretos: las claves de API pegadas en un chat de soporte son tan peligrosas en el resultado de un modelo como los datos personales.
  • Cambiar el modo de ocultación entre dos preparaciones y luego comparar los modelos resultantes como si solo difirieran las configuraciones de entrenamiento.

Referencias y lecturas adicionales

Las fuentes externas se abren en una pestaña nueva.

  1. 01Extracting Training Data from Large Language ModelsCarlini et al., 2020 · arXiv · arxiv.orgEl estudio que demostró que se puede incitar a los modelos de lenguaje mediante prompts a revelar datos personales de su conjunto de entrenamiento.
  2. 02Quantifying Memorization Across Neural Language ModelsCarlini et al., 2022 · arXiv · arxiv.orgCómo aumenta la memorización con el tamaño del modelo, la duplicación y la longitud del prompt.
  3. 03Analyzing Leakage of Personally Identifiable Information in Language ModelsLukas et al., 2023 · arXiv · arxiv.orgMide hasta qué punto la depuración y otras defensas reducen realmente la filtración de PII.
  4. 04Personal dataWikipedia · en.wikipedia.orgDefiniciones de datos personales y PII en marcos legales como el RGPD.

Convierta semanas de trabajo experto en minutos

Vea cómo Scalata se adapta a su equipo, a sus datos y a sus Controles.

Contactar con ventas