PromptRobust (benchmark) (IT)

From Systems analysis Wiki
Jump to navigation Jump to search

PromptRobust (noto anche come PromptBench) — è un benchmark completo per la valutazione della robustezza dei grandi modelli linguistici (LLM) rispetto alle modifiche avversariali del prompt — piccole distorsioni nella formulazione del compito che non ne alterano il significato[1][2]. Il benchmark è stato sviluppato nel 2023 da un gruppo di ricercatori (Kaijie Zhu et al.) di Microsoft Research Asia[1]. La nascita di PromptRobust è motivata dall'osservazione che i moderni LLM sono sensibili ai dettagli della formulazione: anche modifiche minime (ad esempio, errori di battitura o riformulazioni) possono influenzare notevolmente le risposte dei modelli[2]. Il benchmark mira a misurare quantitativamente questa vulnerabilità e a favorire lo sviluppo di metodi più affidabili di interazione con gli LLM.

Metodologia di valutazione

Nell'ambito della ricerca PromptBench è stato costruito un corpus di 4788 prompt modificati che preservano il significato originale dei compiti[3]. Questi prompt avversariali sono stati generati a quattro livelli di complessità delle modifiche[1]:

  • Livello dei caratteri: Introduzione di errori di battitura, sostituzione o trasposizione di caratteri (simula errori casuali di digitazione).
  • Livello delle parole: Sostituzione di alcune parole con sinonimi, inserimento di parole «rumorose» o altre modifiche lessicali minori.
  • Livello della frase: Riformulazione della struttura delle frasi, aggiunta o trasposizione di parti del testo senza modificare il tema generale.
  • Livello semantico: Riformulazione più profonda della richiesta mantenendo il compito invariato (ad esempio, formulazioni alternative della stessa domanda)[1].

L'obiettivo di tali «attacchi» è verificare in che modo deviazioni minori (ad es., errori di battitura casuali o l'uso di formulazioni sinonimiche) influenzano la capacità del modello di eseguire correttamente il compito, pur restando il compito stesso invariato[1]. Ogni prompt avversariale generato è stato applicato a una serie di task NLP standard, tra cui analisi del sentiment, rilevamento della correttezza grammaticale, individuazione di frasi duplicate, inferenza logica (NLI), lettura e comprensione, traduzione automatica e risoluzione di problemi matematici[1]. Per gli esperimenti sono stati selezionati 8 diversi tipi di task su 13 dataset — dai classici dataset GLUE (ad esempio, SST-2 per il sentiment, MNLI per NLI) a test matematici e multilingue specializzati[1].

È importante sottolineare che è stata verificata la robustezza di diversi formati di prompt[1]:

  • Richieste dirette senza esempi (zero-shot, solo istruzione).
  • Richieste con alcuni esempi (few-shot, dove nel prompt sono forniti campioni di soluzione).
  • Prompt con ruoli (in-context roles, ad esempio, «Sei un sistema di analisi del sentiment, determina...»).
  • Prompt descrittivi del compito (task-oriented, descrizione diretta del compito)[1].

Sono stati inoltre testati vari modelli linguistici di grandi dimensioni, dal relativamente piccolo Flan-T5-large e il modello UL2 fino ai più avanzati ChatGPT e GPT-4, nonché i modelli open source della famiglia LLaMA 2 e il derivato Vicuna[1]. Per la generazione degli attacchi sono stati utilizzati metodi esistenti nel campo dell'NLP avversariale (come TextBugger, DeepWordBug, TextFooler e altri), adattati per la modifica dei prompt anziché dei dati di input[1]. La correttezza dei prompt «distorti» ottenuti è stata verificata con metodi automatici e manuali; secondo il rapporto, almeno l'85% delle variazioni avversariali mantiene la semantica corretta ed è comprensibile all'essere umano[1]. Pertanto, l'effetto degli attacchi riflette precisamente i fallimenti del modello nell'interpretare il compito riformulato, e non la perdita del significato del compito stesso.

Risultati e conclusioni

I test hanno mostrato che i moderni LLM non sono sufficientemente robusti rispetto a piccole modifiche nella formulazione del prompt[3]. Per tutti i modelli testati è stato osservato un significativo calo della qualità delle risposte sotto l'effetto degli attacchi generati[3]. In particolare, anche casi semplici — come un errore di battitura nel testo di un problema matematico o la sostituzione di una parola chiave con il suo sinonimo — portavano il modello a fornire un risultato errato, mentre senza distorsione lo risolveva correttamente[1]. La conclusione generale degli autori è: «i moderni grandi modelli linguistici non sono robusti rispetto ai prompt avversariali»[3], ovvero deviazioni minori nel phrasing possono sistematicamente trarre in inganno i modelli.

Nell'analisi dei diversi tipi di attacchi è emerso che le modifiche a livello delle parole hanno l'effetto più dannoso sul funzionamento degli LLM[2]. La sostituzione di parole con sinonimi o lievi distorsioni morfologiche provocavano il maggiore calo della qualità — in media circa il ≈33% rispetto al risultato originale sugli stessi compiti[2]. Gli attacchi a livello dei caratteri (errori di battitura, caratteri casuali) causavano in media una riduzione della precisione di circa il ~20%[2]. La modifica qualitativa o l'aggiunta di intere frasi al prompt, al contrario, aveva un effetto molto più debole, disorientando il modello solo marginalmente[1]. Le riformulazioni semantiche (rielaborazione profonda della richiesta in altro modo) si sono rivelate paragonabili per dannosità ai semplici errori di battitura[1]. Questi risultati sottolineano che gli LLM sono particolarmente vulnerabili a sottili modifiche lessicali e a errori nelle parole chiave[1]. È significativo che le distorsioni grammaticali (errori di battitura) potrebbero in teoria essere filtrate con i comuni strumenti di controllo ortografico, mentre le modifiche a livello di parole e di significato richiedono al modello una comprensione semantica sviluppata, di cui i modelli attuali spesso difettano[1].

L'analisi delle prestazioni dei vari modelli ha mostrato una variazione significativa nella loro robustezza[1]. GPT-4 e UL2 hanno dimostrato la migliore resistenza ai prompt avversariali[1]. Leggermente meno soggetti a errori si sono rivelati anche il modello Flan-T5-large e il modello conversazionale ChatGPT[1]. I modelli della famiglia LLaMA 2 hanno occupato una posizione intermedia, mentre Vicuna (13B) si è distinta come la più vulnerabile a tutti i tipi di attacchi[1]. È interessante notare che la dimensione del modello non si è rivelata un fattore determinante della robustezza[1]: il relativamente piccolo T5-large era praticamente equivalente al molto più grande ChatGPT in termini di stabilità delle risposte[1]. Gli autori ipotizzano che il ruolo chiave sia svolto dai metodi di addestramento e fine-tuning dei modelli, e non solo dalla scala[1]. Ad esempio, UL2 e T5-large hanno subito un pre-addestramento esteso su grandi corpus di dati, mentre ChatGPT è stato addestrato con rinforzo tramite feedback umano (RLHF), il che potrebbe aver consolidato la loro robustezza[1]. Al contrario, Vicuna è stato addestrato su un insieme di dati relativamente limitato (come replica open source), il che ha probabilmente determinato la sua elevata sensibilità alle variazioni di formulazione[1]. Questi risultati indicano che il miglioramento dei metodi di fine-tuning può aumentare l'affidabilità dei modelli più efficacemente del semplice aumento delle loro dimensioni.

Influenza del formato del prompt

Anche la forma di presentazione della richiesta influisce sull'affidabilità della risposta[1]. È stato stabilito che i prompt con esempi (few-shot) aumentano significativamente la robustezza del modello rispetto alle istruzioni monopassaggio senza esempi (zero-shot)[1]. La presenza di alcuni esempi dimostrativi del compito nel prompt aiuta il modello a interpretare correttamente l'istruzione anche in presenza di modifiche rumorose. I prompt con ruoli e quelli descrittivi (task-oriented) hanno mostrato un livello di robustezza complessivamente comparabile, sebbene la loro efficacia variasse da compito a compito[1]. Ad esempio, nei dati relativi all'analisi del sentiment e ai duplicati di frasi il formato con ruoli era leggermente più affidabile, mentre nei compiti di lettura e comprensione e di traduzione hanno funzionato meglio le istruzioni esplicite del compito[1]. Queste osservazioni possono servire da guida nella progettazione dei prompt: l'aggiunta di esempi dettagliati e del contesto del ruolo riduce la probabilità di errori del modello su formulazioni non standard.

Trasferibilità degli attacchi tra modelli

La trasferibilità degli attacchi tra modelli si è rivelata limitata[1]. I prompt avversariali appositamente costruiti contro un modello non risultano sempre ugualmente efficaci contro un altro[1]. È stato notato, ad esempio, che i prompt «trappola» generati per le vulnerabilità di ChatGPT influenzano molto meno GPT-4[1]. Quest'ultimo se la cavava meglio, probabilmente perché gli attacchi non si trasferivano direttamente sulla sua architettura — ciò che confonde un modello potrebbe non funzionare su un modello più avanzato con un addestramento diverso[1]. Tuttavia, alcuni tipi di distorsioni semplici (ad esempio, errori di battitura) avevano un effetto negativo su più modelli contemporaneamente, il che testimonia punti deboli simili nella loro base linguistica.

Raccomandazioni pratiche

Nel corso del lavoro PromptBench sono state identificate anche raccomandazioni pratiche per gli utenti e gli sviluppatori di LLM[2]. La conclusione semplice è: la stabilità della formulazione è importante[2]. È necessario evitare errori di battitura e formulazioni approssimative nella richiesta[2]. Gli autori dimostrano che la correzione anche di piccoli errori (ortografia, maiuscole casuali, spazi superflui) può aumentare significativamente l'affidabilità della risposta del modello[2]. Inoltre, la scelta delle parole nell'istruzione influisce sulla sua robustezza[2]. L'analisi della frequenza dei termini nei prompt robusti vs. vulnerabili ha rivelato che alcune parole compaiono più spesso nei prompt «affidabili», mentre altre — in quelli dove il modello ha fallito[2]. Ad esempio, i prompt contenenti parole come «acting», «provided», «detection» e simili portavano meno spesso a errori, mentre parole come «respond», «following» o «examine» comparivano nei casi più problematici[2]. Ciò indica che un determinato stile e lessico delle richieste può attenuare o, al contrario, provocare le vulnerabilità del modello. In generale si raccomanda di formulare la richiesta nel modo più chiaro, univoco e con termini familiari al modello possibile, in particolare per le applicazioni di importanza critica[2].

Un effetto collaterale interessante notato dai ricercatori riguarda l'impatto dell'aggiunta di frammenti di testo privi di senso o non pertinenti alla richiesta[2]. È emerso che l'inserimento di una sequenza casuale di caratteri (ad esempio, «LKF0FZxMZ4») in fondo o nel mezzo del prompt può distogliere l'attenzione del modello e ridurre la precisione della sua risposta[2]. D'altra parte, l'aggiunta di una frase neutrale ma grammaticalmente corretta (ad esempio, «and true is true» — «e il vero è vero») in alcuni casi al contrario migliorava la risposta, come se focalizzasse il modello sulle parti significative della domanda[2]. Questo fenomeno sottolinea quanto in modo imprevedibile gli LLM reagiscano a dettagli dell'input apparentemente irrilevanti. Esso testimonia anche la complessità della struttura interna dei modelli: le minime modifiche del contesto possono sia compromettere che migliorare il loro funzionamento, a seconda di come si ridistribuisce l'attenzione del modello.

Importanza e sviluppi futuri

PromptRobust/PromptBench ha contribuito in modo significativo alla comprensione dell'affidabilità degli LLM[2]. Il benchmark proposto e i dati raccolti sono aperti alla comunità: il codice e i set di prompt avversariali sono disponibili nel repository[1]. Ciò consente ad altri ricercatori di testare nuovi modelli sulla robustezza rispetto alle variazioni dei prompt e di confrontare i risultati[1]. Il passo successivo consiste nello sviluppo di metodi per proteggere i modelli da tali attacchi — ad esempio, algoritmi di addestramento migliorati che tengano conto di possibili errori di battitura e riformulazioni, oppure sistemi integrati di normalizzazione dell'input[2]. PromptBench è già considerato una base per tali ricerche volte ad aumentare la robustezza (robustness) dei modelli linguistici rispetto a dati di input reali imprecisi[2].

In definitiva, il lavoro di Zhu e colleghi dimostra l'importanza di tenere conto della robustezza rispetto ai prompt nell'implementazione degli LLM nelle applicazioni pratiche: i modelli devono non solo mostrare un'elevata precisione su dati «puliti», ma anche mantenere la correttezza in presenza di deviazioni minori nell'input, siano esse errori casuali dell'utente o attacchi deliberati[2][4].

Riferimenti

  • Articolo originale PromptBench (arXiv)
  • Repository PromptBench su GitHub
  • Articolo «Prompt Robustness: How to Measure and How to Enhance» (Towards AI)

Bibliografia

  • 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.

Note

  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]