vLLM incorpora marca de agua en texto sin apenas perder rendimiento

El framework de inferencia de código abierto vLLM anunció en su blog oficial, el 24 de septiembre, la incorporación de una marca de agua textual basada en el método Gumbel-max, que se activa en el servidor con un único parámetro de arranque. El artículo está firmado por tres autores, uno de Mistral y dos de Red Hat.

Activarla es sencillo: basta con añadir --watermark-config al comando vllm serve, indicar que el algoritmo es gumbel y proporcionar una clave. A partir de ahí, todo el texto generado por ese servidor lleva una señal estadística invisible a simple vista.

Cómo se esconde la marca de agua

Cada vez que un modelo grande genera una palabra, primero asigna una probabilidad a todas las palabras candidatas y luego extrae una de ellas. La marca de agua Gumbel-max actúa precisamente sobre ese paso de "extracción".

En concreto, con la clave, el contexto de las últimas palabras y el índice de la palabra candidata se calcula una secuencia de números que parece completamente aleatoria pero que puede reproducirse si se conoce la clave; esa secuencia se convierte en ruido Gumbel y se suma a la puntuación del modelo, tomando como salida el valor máximo. Matemáticamente, el resultado de este muestreo tiene una distribución idéntica a la de un muestreo aleatorio normal, por lo que los autores lo llaman "libre de distorsión": el modelo no llega a favorecer ciertas palabras, un estilo de escritura o un tipo de solución.

El lado que detecta la marca no necesita los pesos del modelo, solo la clave y el tokenizador. El texto se reconvierte en tokens, se recalcula la misma secuencia pseudoaleatoria con la clave, se puntúa cada token y se suman los valores, comparándolos con la distribución esperada sin marca de agua para obtener un valor p. Según la calibración que dan los autores, alrededor de un 1% de los textos sin marca de agua se marcan por error.

Dos conjuntos de cifras: costo y eficacia

En rendimiento, los autores probaron en una sola H100 con Qwen3.5-27B generando 512 tokens: con tamaño de lote 1, el throughput varió -0,23%; con tamaño de lote 32, +2,03%; los promedios de los grupos se situaron entre -1,1% y +2,0%, y la conclusión de los autores es que no hay un cambio consistente en el throughput. Para ahorrar memoria de GPU, vLLM combinó la generación de números pseudoaleatorios, la transformación Gumbel y el cálculo del máximo en un único kernel de GPU.

En calidad del modelo, también con Qwen3.5-27B, la comparación con y sin marca de agua fue: GSM8K 93,0% frente a 94,2%, MBPP 79,2% frente a 77,2%, IFEval 90,7% frente a 91,9%; los autores consideran que las diferencias están dentro del margen de error.

La diferencia en la tasa de detección, en cambio, es grande. Con una tasa de falsos positivos del 1%, un texto creativo logra una detección completa con apenas unos 100 tokens; en las tareas de código de MBPP, incluso con 400 tokens, la tasa de detección es de solo un 43%. La razón está en el propio principio: en salidas de código, el modelo suele estar muy seguro de la siguiente palabra, por lo que queda poca aleatoriedad disponible para la marca de agua. Los textos cortos presentan el mismo problema de señal débil. Cuando un texto es editado por una persona, las puntuaciones cerca de la zona modificada se desordenan, pero la señal se recupera fuera de ese tramo.

En la implementación hay además dos escollos. Uno es la decodificación especulativa: los autores usan dos claves separadas para los tokens borrador y para el muestreo residual del modelo objetivo, para mantener la tasa de aceptación, a costa de repartir la señal de detección entre dos claves. El otro es que los contextos repetidos generan la misma secuencia de números aleatorios, lo que puede llevar al modelo a una repetición infinita; la solución consiste en omitir la marca de agua cuando el contexto se repite, un ajuste que afecta al throughput en un máximo de 0,19%.

Qué significa esto para quienes operan en China

Las Medidas para el Etiquetado de Contenido Generado y Sintético por IA de China están en vigor desde septiembre del año pasado y exigen que el contenido generado lleve una etiqueta explícita o implícita. Aplicado al texto, el etiquetado implícito depende hoy sobre todo de metadatos, mientras que una marca de agua estadística puede incrustarse directamente en el propio texto; con esta novedad, vLLM lo ha convertido en un interruptor listo para usar, y numerosos equipos en China que operan sus propios servicios de inferencia con vLLM pueden probarlo directamente.

Pero los límites de esta solución también son claros: la detección depende de la clave, que queda en manos de quien la despliega, sin que terceros puedan verificarla de forma independiente; la tasa de detección es baja en código y respuestas cortas; y una reescritura humana extensa debilita la señal. Que esto baste para cumplir los requisitos concretos de los reguladores sobre "etiquetado implícito" dependerá de si llegan a existir estándares de detección asociados; por ahora no hay una postura pública al respecto.

Fuentes: blog oficial de vLLM, CocoLoop, Medidas para el Etiquetado de Contenido Generado y Sintético por IA; las cifras de throughput, benchmarks y tasas de detección siguen los criterios de prueba de los autores con Qwen3.5-27B en una sola H100.