Inferencia de pertenencia (membership inference)
Cómo un atacante deduce si un registro concreto estaba en el entrenamiento de un modelo, por qué aun así es una fuga de privacidad, y qué cambia en los LLM frente a los clasificadores clásicos.
La extracción de datos saca texto del modelo. La inferencia de pertenenciaInferencia de pertenenciaAtaque que decide si un registro concreto formó parte de los datos de entrenamiento de un modelo, observando cómo responde. es más modesta y por eso más general: el atacante ya tiene un registro y solo quiere saber un bit, ¿formó parte de los datos de entrenamiento?
Parece poco, pero a menudo basta para violar la privacidad. Saber que “este paciente está en el conjunto de entrenamiento de un modelo de una clínica oncológica” ya revela que es paciente de esa clínica. Lo mismo vale para un historial de crédito, un usuario de una app de salud mental o un empleado en un modelo entrenado con datos de RR. HH.
La señal: el modelo trata distinto lo que vio#
Un modelo entrenado reduce su pérdida (loss) sobre los ejemplos de entrenamiento. Sobre datos nuevos, es menos seguro. Esa brecha es la fuga:
Paso 1 de 5La pregunta
El atacante tiene un registro (por ejemplo, un historial clínico) y quiere saber un solo bit: ¿estaba en el conjunto de entrenamiento del modelo?
El ataque más simple es un umbral sobre la pérdida: si la pérdida del registro es menor que τ, se declara “miembro”. Funciona mejor cuanto más sobreajustado esté el modelo.
import torch
def loss_of(model, tok, text): ids = tok(text, return_tensors="pt").input_ids with torch.no_grad(): return model(ids, labels=ids).loss.item()
def es_miembro(model, tok, texto, tau): # Pérdida baja => el modelo "ya lo conocía" return loss_of(model, tok, texto) < tauCómo se ha refinado#
- Modelos sombra (Shokri et al., 2017). El atacante entrena sus propios modelos con datos conocidos, de modo que sabe quién fue “miembro” en cada uno, y entrena un clasificador que distingue las respuestas de miembros y no miembros. Después lo aplica al modelo víctima.
- Calibrar por registro (LiRA, Carlini et al., 2022). Un umbral global falla porque algunos registros son intrínsecamente difíciles y otros fáciles. LiRA calcula, con modelos sombra, la distribución de la pérdida de ese registro cuando entra y cuando no entra al entrenamiento, y compara con ambas.
- Medir bien. La exactitud media engaña: un ataque con 50 % de acierto global puede identificar con certeza a unos pocos registros. LiRA propuso evaluar la tasa de verdaderos positivos con tasas de falsos positivos muy bajas, que es lo que importa para la privacidad individual.
¿Y en los LLM?#
Aquí hay un matiz honesto: los ataques clásicos funcionan mucho peor en LLM preentrenados.
- Se entrenan una sola época sobre cantidades enormes de datos, así que cada texto influye muy poco.
- La frontera “miembro / no miembro” es difusa. Un texto de test suele parecerse a otros que sí estaban en el corpus (versiones duplicadas, citas, plantillas), y eso confunde la señal.
- Estudios sistemáticos (Duan et al., 2024) encuentran ataques que apenas superan el azar en preentrenamiento. Métodos específicos, como Min-K% Prob (usa la media de los tokens menos probables), sirven sobre todo para detectar si un texto concreto estaba en el corpus.
El riesgo se dispara, sin embargo, cuando afinas un LLM con un conjunto pequeño y sensible, entrenando varias épocas. Ahí el modelo sí se ajusta a cada registro y los ataques se acercan al comportamiento de los clasificadores clásicos. Para ti, que usas modelos de terceros y quizá afinas con datos propios, la conclusión práctica es la de siempre: el riesgo es proporcional a lo pequeño y repetido que sea el conjunto de ajuste.
Defensa#
| Medida | Cómo reduce la señal | Coste |
|---|---|---|
| Privacidad diferencial (DP-SGD) | Acota la influencia de cada registro con garantía formal (glosario) | Pierde precisión; más cómputo |
| Regularización y menos épocas | Reduce la brecha entre entrenamiento y test | Puede bajar la calidad |
| Deduplicar y minimizar datos | Menos registros repetidos y sensibles que inferir | Trabajo de preparación |
| No exponer probabilidades | Devuelve solo texto/etiqueta, no logprobs ni confianzas |
Menos utilidad para quien integra |
| Rate limiting y detección | Un ataque necesita muchas consultas estructuradas | Falsos positivos |
| Agregación (PATE, ensembles) | Ningún modelo ve todos los datos | Complejidad |
Fíjate en el patrón de siempre: minimizar lo que se entrena (principio de mínimo privilegio aplicado a los datos) y no regalar señal en la salida son lo más barato; la privacidad diferencial es lo único con garantía matemática.
Tu turno
Mide tu propia brecha
En tu lab, afina un modelo pequeño con 500 textos y reserva otros 500 que no use:
- Calcula la pérdida de cada texto con
loss_of(ver el código de arriba). - Representa dos histogramas (miembros y no miembros). ¿Se solapan?
- Prueba varios umbrales τ y dibuja la curva TPR/FPR. ¿Qué TPR obtienes con FPR ≤ 1 %?
- Sube las épocas de ajuste de 1 a 10 y repite. ¿Cómo cambia la brecha?
Reto
Mi modelo solo devuelve texto, nunca probabilidades. ¿Estoy a salvo de la inferencia de pertenencia?
▸Mostrar solución
Más protegido, no a salvo. Hay ataques de solo etiqueta que perturban la entrada y observan si la respuesta cambia, y en LLM se puede medir la calidad de la continuación. Ocultar las probabilidades sube el coste del ataque, pero solo la reducción de la memorización en origen (DP, menos épocas, menos datos) cierra la brecha.
En resumen#
- La inferencia de pertenencia decide si un registro estuvo en el entrenamiento, y por sí sola puede revelar información sensible.
- La señal es que el modelo es más confiado con lo que vio; ataques modernos (LiRA) calibran por registro y se evalúan con TPR a FPR bajo.
- En LLM preentrenados es poco fiable, pero en modelos afinados con conjuntos pequeños y varias épocas el riesgo es real.
- Defensas: DP-SGD (única con garantía), menos épocas, deduplicación, minimizar datos y no exponer
logprobs.
Referencias#
- Shokri et al., Membership Inference Attacks Against Machine Learning Models (2017)
- Carlini et al., Membership Inference Attacks From First Principles (LiRA, 2022)
- Shi et al., Detecting Pretraining Data from Large Language Models (Min-K% Prob)
- Duan et al., Do Membership Inference Attacks Work on Large Language Models? (2024)
- NIST AI 100-2: Adversarial Machine Learning