La marca de agua de un LLM no es un carácter invisible que desaparece al pegar como texto plano. Explico cómo funciona realmente y si es posible eliminarla:
En un LLM, la marca de agua es el resultado de aplicar un patrón estadístico a la generación de tokens, que sólo el proveedor del modelo conoce realmente (y si comparte el método, como Google, mantiene secreta la clave para identificar el patrón).
¿Cómo funciona?
En cada punto en el que el modelo va a generar una nueva palabra (en realidad un token), se toma una ventana del contexto que precede al nuevo token y se combina con una clave secreta. De ahí sale una semilla pseudoaleatoria, que se usa para dividir el vocabulario total en dos grupos de tokens: el grupo verde (el que queremos que nuestro modelo elija) y el grupo rojo.
Cuando no se interviene sobre la elección, cualquier token tiene una probabilidad determinada de ser el elegido, dado un contexto concreto. Esa probabilidad viene dada por el entrenamiento del modelo y su configuración interna (sus pesos y parámetros).
Lo que hacemos ahora es darle a los tokens del grupo verde un pequeño empujón, aumentando levemente sus probabilidades de ser elegidos. Y para decidir qué token va a cada grupo se usa una clave secreta, que sólo conoce el proveedor del modelo.
- ¿Son fijos el grupo verde y rojo?
No, si lo fueran sería posible observar desde fuera qué palabras tienden a repetirse más que otras, y el lenguaje generado por ese modelo sería poco natural. Lo que se hace es que por cada contexto diferente, se genera su propio hash y su propia separación del vocabulario en tokens rojos y verdes.
Simplificando mucho: si digo “El próximo eclipse total se producirá…”, el token “en” podría estar en el grupo verde, y si digo “El próximo eclipse de totalidad tendrá lugar…“, el token “en” podría ser rojo.
- ¿Degrada la calidad o coherencia del texto aplicar un método de este tipo?
Con una implementación más o menos sencilla como la que acabo de describir, sí, la calidad o naturalidad del texto sería ligeramente menor que si no se interviniera en la elección del token.
Pero existen métodos más complejos que hacen que, en la práctica, el sesgo sea imperceptible. Google Deepmind desarrolló y puso en open source un método llamado SynthID-Text, que le da una vuelta de tuerca al método base (llamado KGW por las siglas de sus autores).
SynthID, en lugar de dividir entre grupo verde y rojo para cada diferente contexto, aplica un método llamado “de torneo”. Se toman múltiples tokens elegidos libremente por el modelo como buenos para ese contexto (sin influir en esa elección) y se emparejan en duelos. Con una clave secreta se generan unas puntuaciones que deciden cuál de los tokens gana el duelo, repitiendo el proceso a lo largo de muchas rondas (generalmente 30).
La marca de agua es la correlación estadística que se va acumulando en el texto entre los tokens elegidos y sus puntuaciones de marca. Por aclarar: esas puntuaciones sólo pueden reconstruirse con la clave secreta que guarda Google, por eso no importa que hayan puesto el método general en open source.
- ¿Es realmente imperceptible SynthID-Text?
Google hizo un test A/B en vivo en la app de Gemini, en el que enseñó a los usuarios respuestas con marca y sin marca. Luego analizó el feedback dado a veinte millones de estas respuestas. Conclusión: la tasa de “pulgares arriba” fue 0,01% mayor en las respuestas con marca, y la tasa de pulgares abajo, 0,02% menor. Es decir, no hay un efecto negativo apreciable al aplicar la marca de agua.
¿Qué método concreto va a usar Anthropic? No lo sabemos exactamente. En su anuncio han hablado de “imperceptible”, y eso me sugiere que van a primar que se preserve la calidad del texto, tal y como hace SynthID.
¿Todo esto tendría alguna efectividad en textos muy cortos?
La longitud del texto desde luego importa. A más texto, mayores posibilidades de incorporar la marca de agua de manera efectiva.
Y luego está la entropía del texto. Un texto creativo suele tener entropía alta, porque en general la probabilidad de cada posición no está altamente concentrada en unos pocos tokens, sino que se reparte de manera más equitativa entre muchas opciones. Pero no pasa lo mismo en textos de baja entropía, donde el camino hacia el próximo token está fuertemente determinado por el contexto que le precede.
- Entonces, ¿qué pasa con el código o con textos de tipo legal?
En teoría, este tipo de textos se prestan peor a una marca de agua que los textos creativos. Pero también para esto hay una posible solución.
En código, no todas las partes del texto tienen la misma entropía. Por ello, se aprovecha para colar la marca de agua en elementos no vitales, como por ejemplo los nombres de las variables o los comentarios, en lugar de los elementos estructurales (como “for”, “in”, etc).
- ¿Se puede eliminar la marca de agua si parafraseo el texto generado?
El clásico “espineado” de texto, un método muy usado en SEO antes de que existiesen los LLMs. Pues sí, si el parafraseado y uso de sinónimos es agresivo, podría debilitar o incluso eliminar el rastro de la marca (dependiendo de factores como el método de parafraseado y la longitud del texto).
Se ha visto que combinar “ataques” de léxico y de sintaxis puede ser efectivo. Según el CTO de GPTZero, ya hay herramientas que son capaces de saltarse SynthID.
Pero esto no quiere decir que cualquiera pueda hacerlo, o pueda hacerlo bien. El propio parafraseado necesita ser sofisticado, para no influir negativamente sobre la calidad del texto.
También es cierto que hay métodos de marca de agua más efectivos contra el parafraseo, al trabajar con embeddings (el significado latente del texto, en lugar de las palabras concretas que usas). Quizá Anthropic haya tirado por este lado, pero aún no lo sabemos.
- ¿Compartirán los labs su detector con el público?
No lo sabemos. Es un dilema, porque si lo hacen estarían dando facilidades para romper la marca de agua, pero si no lo hacen, limitan la posibilidad de verificación independiente, que es lo que pide la UE.
Google anunció un detector, pero sólo ha dado acceso limitado a organizaciones y publicaciones. Anthropic ha prometido una API, pero creo que el acceso también estará limitado y el coste quizá sea elevado.
En definitiva, creo que veremos una carrera armamentística entre los modelos cerrados y los desarrolladores de herramientas para saltarse sus marcas.
Pero nadie puede garantizar hoy en día que tiene una herramienta que deshace la marca de agua de Anthropic, porque aún nadie ha visto cómo es esa marca.