PromptRobust (benchmark) (ES)

From Systems analysis wiki
Jump to navigation Jump to search

PromptRobust (también conocido como PromptBench) es un benchmark integral para evaluar la robustez de los modelos de lenguaje grandes (LLM) frente a alteraciones adversarias del prompt, es decir, pequeñas distorsiones en la formulación de la tarea que no alteran su significado[1][2]. El benchmark fue desarrollado en 2023 por un grupo de investigadores (Kaijie Zhu et al.) de Microsoft Research Asia[1]. La creación de PromptRobust se debe a la observación de que los LLM modernos son sensibles a los detalles de la formulación: incluso cambios menores (por ejemplo, errores tipográficos o paráfrasis) pueden afectar notablemente las respuestas de los modelos[2]. El benchmark tiene como objetivo medir cuantitativamente esta vulnerabilidad y fomentar el desarrollo de métodos de interacción más fiables con los LLM.

Metodología de evaluación

En el marco de la investigación de PromptBench, se creó un corpus de 4788 prompts modificados que conservan el significado original de las tareas[3]. Estos prompts adversarios se generaron en cuatro niveles de complejidad de alteración[1]:

  • Nivel de carácter: Introducción de errores tipográficos, sustitución o permutación de caracteres (simulando errores de entrada accidentales).
  • Nivel de palabra: Sustitución de algunas palabras por sinónimos, introducción de palabras "ruido" u otros cambios léxicos menores.
  • Nivel de oración: Parafraseo de la estructura de las oraciones, adición o reordenamiento de partes de una frase sin cambiar el tema general.
  • Nivel semántico: Reformulación más profunda del prompt conservando su tarea (por ejemplo, formulaciones alternativas de la misma pregunta)[1].

El objetivo de tales "ataques" es verificar cómo desviaciones menores (por ejemplo, errores tipográficos accidentales o el uso de formulaciones sinónimas) afectan la capacidad del modelo para realizar correctamente la tarea, dado que la tarea en sí no ha cambiado[1]. Cada prompt adversario generado se aplicó a una serie de tareas estándar de NLP, incluyendo análisis de sentimientos, identificación de corrección gramatical, detección de oraciones duplicadas, inferencia lógica (NLI), comprensión lectora, traducción automática y resolución de problemas matemáticos[1]. Para los experimentos, se seleccionaron 8 tipos diferentes de tareas en 13 conjuntos de datos, desde los conjuntos clásicos de GLUE (por ejemplo, SST-2 para análisis de sentimientos, MNLI para NLI) hasta pruebas matemáticas y multilingües especializadas[1].

Es importante destacar que se evaluó la robustez de diferentes formatos de prompt[1]:

  • Prompts directos sin ejemplos (zero-shot, solo la instrucción).
  • Prompts con varios ejemplos (few-shot, donde el prompt incluye muestras de la solución).
  • Prompts de rol (in-context roles, por ejemplo, "Usted es un sistema de análisis de sentimientos, determine...").
  • Prompts orientados a la tarea (task-oriented, una descripción directa de la tarea)[1].

También se probaron varios modelos de lenguaje a gran escala, desde el relativamente pequeño Flan-T5-large y el modelo UL2 hasta los avanzados ChatGPT y GPT-4, así como los modelos abiertos de la familia LLaMA 2 y su derivado Vicuna[1]. Para generar los ataques se utilizaron métodos existentes del campo del NLP adversario (como TextBugger, DeepWordBug, TextFooler, etc.), adaptados para modificar los prompts en lugar de los datos de entrada[1]. La corrección de los prompts "distorsionados" obtenidos se verificó mediante métodos automáticos y manuales; según el informe, al menos el 85% de las variaciones adversarias conservan la semántica correcta y son comprensibles para un humano[1]. Por lo tanto, el impacto de los ataques refleja fallos del modelo en la percepción de la tarea parafraseada, y no la pérdida del significado de la tarea en sí.

Resultados y conclusiones

Las pruebas demostraron que los LLM modernos no son lo suficientemente robustos ante pequeños cambios en la formulación del prompt[3]. En todos los modelos probados, se observó una disminución significativa en la calidad de las respuestas bajo la influencia de los ataques generados[3]. En particular, incluso casos simples —como un error tipográfico en el enunciado de un problema matemático o la sustitución de una palabra clave por su sinónimo— provocaban que el modelo diera un resultado incorrecto, aunque lo resolvía correctamente sin la distorsión[1]. La conclusión general de los autores es que "los modelos de lenguaje grandes modernos no son robustos (resistentes) a los prompts adversarios"[3], lo que significa que desviaciones menores en el phrasing (la formulación) pueden inducirlos sistemáticamente a error.

Al analizar los diferentes tipos de ataques, se descubrió que los cambios a nivel de palabra son los que tienen un efecto más destructivo en el rendimiento de los LLM[2]. La sustitución de palabras por sinónimos o una ligera distorsión morfológica provocaron la mayor caída en la calidad, con un promedio de ≈33% en comparación con el resultado original en las mismas tareas[2]. Los ataques a nivel de carácter (errores tipográficos, caracteres aleatorios) causaron una disminución promedio de la precisión de ~20%[2]. Por el contrario, la alteración cualitativa o la adición de oraciones completas al prompt tuvieron un efecto mucho más débil, casi sin confundir al modelo[1]. Las paráfrasis semánticas (una reformulación profunda del prompt de otra manera) resultaron ser comparables en su efecto perjudicial a los simples errores tipográficos[1]. Estos hechos subrayan que los LLM son especialmente vulnerables a cambios léxicos sutiles y errores en palabras clave[1]. Es revelador que las distorsiones gramaticales (errores tipográficos) teóricamente pueden filtrarse con correctores ortográficos estándar, mientras que los cambios a nivel de palabra y de significado requieren una comprensión semántica avanzada que a los modelos actuales a menudo les falta[1].

El análisis del rendimiento de diferentes modelos mostró una dispersión significativa en su robustez[1]. GPT-4 y UL2 demostraron la mejor resistencia a los prompts adversarios[1]. El modelo Flan-T5-large y el modelo conversacional ChatGPT también resultaron ser un poco menos susceptibles a fallos[1]. Los modelos de la familia LLaMA 2 se situaron en una posición intermedia, mientras que Vicuna (13B) se destacó como el más vulnerable a todos los tipos de ataques[1]. Curiosamente, el tamaño del modelo no resultó ser un factor decisivo para la robustez[1]: el relativamente pequeño T5-large fue casi tan estable en sus respuestas como el mucho más grande ChatGPT[1]. Los autores sugieren que los métodos de entrenamiento y ajuste fino (fine-tuning) de los modelos juegan un papel clave, y no solo su escala[1]. Por ejemplo, UL2 y T5-large se sometieron a un pre-entrenamiento extendido en grandes corpus de datos, y ChatGPT fue entrenado con aprendizaje por refuerzo a partir de la retroalimentación humana (RLHF), lo que podría haber fortalecido su robustez[1]. Por el contrario, Vicuna fue entrenado en un conjunto de datos comparativamente limitado (como una réplica de código abierto), lo que probablemente explica su alta sensibilidad a los cambios en la formulación[1]. Estos resultados indican que mejorar los métodos de fine-tuning puede aumentar la fiabilidad de los modelos más que simplemente aumentar su tamaño.

Influencia del formato del prompt

La forma en que se presenta el prompt también afecta la fiabilidad de la respuesta[1]. Se encontró que los prompts con ejemplos (few-shot) aumentan significativamente la robustez del modelo en comparación con las instrucciones de un solo paso sin ejemplos (zero-shot)[1]. La presencia de varios ejemplos demostrativos de la tarea en el prompt ayuda al modelo a interpretar la tarea con mayor precisión, incluso en presencia de alteraciones de "ruido". Los prompts de rol y los orientados a la tarea (task-oriented) mostraron un nivel de robustez comparable en general, aunque su efectividad varió de una tarea a otra[1]. Por ejemplo, en los datos de análisis de sentimientos y detección de oraciones duplicadas, el formato de rol fue ligeramente más fiable, mientras que en las tareas de comprensión lectora y traducción, las instrucciones explícitas de la tarea funcionaron mejor[1]. Estas observaciones pueden servir como guía para el diseño de prompts: agregar ejemplos detallados y contexto de rol reduce la probabilidad de que el modelo cometa errores con formulaciones no estándar.

Transferibilidad de los ataques entre modelos

La transferibilidad de los ataques entre modelos resultó ser limitada[1]. Los prompts adversarios, diseñados específicamente contra un modelo, no siempre son igualmente efectivos contra otro[1]. Se observó que los prompts "trampa" generados para explotar las vulnerabilidades de ChatGPT tenían un efecto mucho más débil en GPT-4[1]. Este último se desempeñó mejor, probablemente porque los ataques no se transferían directamente a su arquitectura: lo que confunde a un modelo puede no afectar a un modelo más avanzado con un entrenamiento diferente[1]. Sin embargo, algunos tipos de distorsiones simples (como los errores tipográficos) tuvieron un efecto negativo en varios modelos a la vez, lo que sugiere puntos débiles similares en su base lingüística.

Recomendaciones prácticas

Durante el desarrollo de PromptBench, también se identificaron recomendaciones prácticas para usuarios y desarrolladores de LLM[2]. Una conclusión simple es que la estabilidad de la formulación importa[2]. Es necesario evitar errores tipográficos y formulaciones descuidadas en el prompt[2]. Los autores demuestran que corregir incluso errores menores (ortografía, mayúsculas/minúsculas aleatorias, espacios extra) puede aumentar significativamente la fiabilidad de la respuesta del modelo[2]. Además, la elección de las palabras en la instrucción afecta su robustez[2]. El análisis de la frecuencia de términos en prompts robustos frente a vulnerables reveló que algunas palabras aparecen más a menudo en prompts "fiables", mientras que otras lo hacen en aquellos donde el modelo falló[2]. Por ejemplo, los prompts que contenían palabras como "acting", "provided", "detection", etc., rara vez provocaban fallos, mientras que palabras como "respond" ("responde"), "following" ("siguiente") o "examine" ("examina") aparecían en casos más problemáticos[2]. Esto indica que un cierto estilo y léxico en los prompts puede mitigar o, por el contrario, provocar vulnerabilidades en el modelo. En general, se recomienda formular el prompt de la manera más clara, inequívoca y en términos familiares para el modelo posible, especialmente para aplicaciones de misión crítica[2].

Un efecto secundario interesante observado por los investigadores es el impacto de agregar fragmentos de texto sin sentido o irrelevantes al prompt[2]. Se descubrió que insertar una secuencia aleatoria de caracteres (por ejemplo, «LKF0FZxMZ4») al final o en medio del prompt puede distraer la atención del modelo y reducir la precisión de su respuesta[2]. Por otro lado, agregar una frase neutral pero gramaticalmente correcta (por ejemplo, «and true is true» — «y verdadero es verdadero») en algunos casos, por el contrario, mejoraba la respuesta, como si enfocara al modelo en las partes importantes de la pregunta[2]. Este fenómeno subraya cuán impredeciblemente reaccionan los LLM a detalles de entrada aparentemente insignificantes. También evidencia la complejidad del funcionamiento interno de los modelos: los cambios más pequeños en el contexto pueden perturbar o mejorar su rendimiento, dependiendo de cómo se redistribuye la atención del modelo.

Importancia y desarrollo futuro

PromptRobust/PromptBench ha hecho una contribución significativa a la comprensión de la fiabilidad de los LLM[2]. El benchmark propuesto y los datos recopilados están abiertos a la comunidad: el código y los conjuntos de prompts adversarios están disponibles en el repositorio[1]. Esto permite a otros investigadores probar la robustez de nuevos modelos frente a variaciones en los prompts y comparar los resultados[1]. El siguiente paso es el desarrollo de métodos para proteger los modelos de tales ataques, por ejemplo, algoritmos de entrenamiento mejorados que tengan en cuenta posibles errores tipográficos y paráfrasis, o sistemas integrados para la normalización del texto de entrada[2]. PromptBench ya se considera una base para futuras investigaciones sobre cómo mejorar la robustez (robustness) de los modelos de lenguaje ante datos de entrada imprecisos del mundo real[2].

En última instancia, el trabajo de Zhu y sus colegas demuestra la importancia de considerar la robustez de los prompts al implementar LLM en aplicaciones prácticas: los modelos no solo deben mostrar una alta precisión con datos "limpios", sino también mantener la corrección ante desviaciones menores en la entrada, ya sean errores accidentales del usuario o ataques deliberados[2][4].

Enlaces

Bibliografía

  • Liang, P. et al. (2022). Holistic Evaluation of Language Models (HELM). arXiv:2211.09110.
  • Chang, Y. et al. (2023). A Survey on Evaluation of Large Language Models. arXiv:2307.03109.
  • Ni, S. et al. (2025). A Survey on Large Language Model Benchmarks. arXiv:2508.15361.
  • Biderman, S. et al. (2024). The Language Model Evaluation Harness (lm-eval): Guidance and Lessons Learned. arXiv:2405.14782.
  • Kiela, D. et al. (2021). Dynabench: Rethinking Benchmarking in NLP. arXiv:2104.14337.
  • Ma, Z. et al. (2021). Dynaboard: An Evaluation‑As‑A‑Service Platform for Holistic Next‑Generation Benchmarking. arXiv:2106.06052.
  • Goel, K. et al. (2021). Robustness Gym: Unifying the NLP Evaluation Landscape. arXiv:2101.04840.
  • Xu, C. et al. (2024). Benchmark Data Contamination of Large Language Models: A Survey. arXiv:2406.04244.
  • Liu, S. et al. (2025). A Comprehensive Survey on Safety Evaluation of LLMs. arXiv:2506.11094.
  • Chiang, W.-L. et al. (2024). Chatbot Arena: An Open Platform for Evaluating LLMs by Human Preference. arXiv:2403.04132.
  • Boubdir, M. et al. (2023). Elo Uncovered: Robustness and Best Practices in Language Model Evaluation. arXiv:2311.17295.
  • Huang, L. et al. (2023). A Survey on Hallucination in Large Language Models. arXiv:2311.05232.

Notas

  1. 1.00 1.01 1.02 1.03 1.04 1.05 1.06 1.07 1.08 1.09 1.10 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.18 1.19 1.20 1.21 1.22 1.23 1.24 1.25 1.26 1.27 1.28 1.29 1.30 1.31 1.32 1.33 1.34 1.35 «PromptBench: Towards Evaluating the Robustness of Large Language Models on Adversarial Prompts». arXiv. [1]
  2. 2.00 2.01 2.02 2.03 2.04 2.05 2.06 2.07 2.08 2.09 2.10 2.11 2.12 2.13 2.14 2.15 2.16 2.17 2.18 2.19 «Prompt Robustness: How to Measure and How to Enhance». Towards AI. [2]
  3. 3.0 3.1 3.2 3.3 «PromptRobust: Towards Evaluating the Robustness of Large Language Models on Adversarial Prompts». arXiv. [3]
  4. «Realer Toxicity Prompts (RTP-2.0): Multilingual and Adversarial Prompts for Evaluating Neural Toxic Degeneration in Large Language Models». Language Technologies Institute - School of Computer Science - Carnegie Mellon University. [4]