PromptRobust (benchmark) (CS)

From Systems analysis Wiki
Jump to navigation Jump to search

PromptRobust (také známý jako PromptBench) — jde o komplexní benchmark pro hodnocení odolnosti velkých jazykových modelů (LLM) vůči adversariálním změnám promptu — drobným zkreslením formulace zadání, která nemění jeho smysl[1][2]. Benchmark byl vyvinut v roce 2023 skupinou výzkumníků (Kaijie Zhu a kol.) z Microsoft Research Asia[1]. Vznik PromptRobust byl podmíněn pozorováním, že moderní LLM jsou citlivé na detaily formulace: i nevýznamné změny (například překlepy nebo přeformulování) mohou znatelně ovlivňovat odpovědi modelů[2]. Benchmark si klade za cíl tuto zranitelnost kvantitativně změřit a přispět k vývoji spolehlivějších metod interakce s LLM.

Metodologie hodnocení

V rámci výzkumu PromptBench byl sestaven korpus 4788 pozměněných promptů, které zachovávají původní smysl zadání[3]. Tyto adversariální prompty byly vygenerovány na čtyřech úrovních složitosti změn[1]:

  • Znaková úroveň: Vnášení překlepů, záměna nebo přeskupení znaků (napodobuje náhodné chyby při zadávání).
  • Slovní úroveň: Záměna některých slov synonymy, vkládání „šumových" slov nebo jiných drobných slovních změn.
  • Větná úroveň: Přeformulování struktury vět, přidání nebo přeskupení částí fráze bez změny celkového tématu.
  • Sémantická úroveň: Hlubší přeformulování dotazu při zachování jeho úkolu (například alternativní formulace téže otázky)[1].

Cílem těchto „útoků" je ověřit, jak drobné odchylky (např. náhodné překlepy nebo použití synonymních formulací) ovlivňují schopnost modelu správně splnit úkol, přičemž samotný úkol se nezměnil[1]. Každý vygenerovaný adversariální prompt byl aplikován na řadu standardních NLP zadání, včetně analýzy sentimentu, detekce gramatické správnosti, vyhledávání duplicitních vět, logického usuzování (NLI), čtení s porozuměním, strojového překladu a řešení matematických úloh[1]. Pro experimenty bylo vybráno 8 různých typů úkolů na 13 datasetech — od klasických sad GLUE (například SST-2 pro sentiment, MNLI pro NLI) po specializované matematické a vícejazyčné testy[1].

Důležité je, že byla testována odolnost různých formátů promptu[1]:

  • Přímé dotazy bez příkladů (zero-shot, pouze instrukce).
  • Dotazy s několika příklady (few-shot, kdy jsou v promptu uvedeny ukázky řešení).
  • Rolové prompty (in-context roles, například „Jste systém pro analýzu sentimentu, určete...").
  • Prompty popisující úkol (task-oriented, přímý popis zadání)[1].

Byla také otestována různá rozsáhlá jazyková modely — od relativně malé Flan-T5-large a modelu UL2 až po pokročilé ChatGPT a GPT-4, jakož i otevřené modely rodiny LLaMA 2 a z nich odvozená Vicuna[1]. Pro generování útoků byly použity stávající metody z oblasti adversariálního NLP (jako TextBugger, DeepWordBug, TextFooler aj.), přizpůsobené pro modifikaci promptů namísto vstupních dat[1]. Správnost získaných „zkreslených" promptů byla ověřována automatickými i ručními metodami; podle zprávy si nejméně 85 % adversariálních variant zachovává správnou sémantiku a je srozumitelných pro člověka[1]. Vliv útoků tedy odráží právě selhání modelu při vnímání přeformulovaného zadání, nikoli ztrátu samotného smyslu úkolu.

Výsledky a závěry

Testování ukázalo, že moderní LLM nejsou dostatečně odolné vůči drobným změnám formulace dotazu[3]. U všech testovaných modelů bylo pozorováno výrazné snížení kvality odpovědí pod vlivem vygenerovaných útoků[3]. Zejména i jednoduché případy — jako překlep v textu matematické úlohy nebo záměna jednoho klíčového slova jeho synonymem — vedly k tomu, že model podal nesprávný výsledek, přestože bez zkreslení odpovídal správně[1]. Celkový závěr autorů zní: „moderní velké jazykové modely nejsou robustní (odolné) vůči adversariálním promptům"[3], tedy drobné odchylky ve formulaci je mohou systematicky uvádět v omyl.

Při analýze různých druhů útoků se ukázalo, že na fungování LLM mají nejničivější vliv změny na slovní úrovni[2]. Záměna slov za synonyma nebo drobné slovotvorné zkreslení vedly k největšímu poklesu kvality — v průměru o přibližně 33 % oproti původnímu výsledku na týchž úkolech[2]. Útoky na znakové úrovni (překlepy, náhodné znaky) způsobovaly v průměru přibližně 20% pokles přesnosti[2]. Kvalitativní změna nebo přidání celých vět do promptu měly naopak mnohem slabší efekt a model téměř nevyvedly z míry[1]. Sémantická přeformulování (hluboké přetlumočení dotazu jiným způsobem) se ukázala být svou škodlivostí srovnatelná s jednoduchými překlepy[1]. Tyto skutečnosti zdůrazňují, že LLM jsou obzvláště zranitelné vůči jemným lexikálním změnám a chybám v klíčových slovech[1]. Příznačné je, že gramatická zkreslení (překlepy) lze teoreticky odfiltrovat standardními nástroji pro kontrolu pravopisu, zatímco změny na slovní a sémantické úrovni vyžadují od modelu rozvinuté sémantické porozumění, které současným modelům často chybí[1].

Analýza výkonnosti různých modelů ukázala výrazné rozdíly v jejich robustnosti[1]. GPT-4 a UL2 vykazovaly nejlepší odolnost vůči adversariálním promptům[1]. O něco méně náchylné k chybám se ukázaly také model Flan-T5-large a dialogový model ChatGPT[1]. Modely rodiny LLaMA 2 zaujaly střední pozici, zatímco Vicuna (13B) se vyznačila jako nejzranitelnější vůči všem druhům útoků[1]. Zajímavé je, že velikost modelu se neukázala jako rozhodující faktor robustnosti[1]: relativně malá T5-large ve stabilitě odpovědí prakticky nezaostávala za mnohem větším modelem ChatGPT[1]. Autoři předpokládají, že klíčovou roli hrají metody trénování a dolaďování modelů, a nikoli pouze jejich rozsah[1]. Například UL2 a T5-large prošly rozšířeným předtrénováním na rozsáhlých datových korpusech a ChatGPT byl trénován s posílením na základě lidské zpětné vazby (RLHF), což mohlo posílit jejich odolnost[1]. Naproti tomu Vicuna byla trénována na relativně omezeném souboru dat (jako otevřená replika), což pravděpodobně způsobilo její vysokou citlivost na změny formulací[1]. Tyto výsledky naznačují, že zlepšení metod fine-tuning může zvýšit spolehlivost modelů výrazněji než pouhé zvětšování jejich rozsahu.

Vliv formátu promptu

Forma podání dotazu rovněž ovlivňuje spolehlivost odpovědi[1]. Bylo zjištěno, že prompty s příklady (few-shot) výrazně zvyšují odolnost modelu ve srovnání s jednokolovými instrukcemi bez příkladů (zero-shot)[1]. Přítomnost několika demonstračních příkladů úkolu v promptu pomáhá modelu správněji interpretovat zadání i při přítomnosti šumových změn. Rolové prompty a popisné (task-oriented) vykazovaly celkově srovnatelnou úroveň odolnosti, přestože jejich efektivita se lišila úkol od úkolu[1]. Například u dat pro analýzu sentimentu a duplicitních vět byl rolový formát o něco spolehlivější, zatímco u úkolů čtení s porozuměním a překladu lépe fungovaly explicitní instrukce zadání[1]. Tato pozorování mohou sloužit jako vodítko při navrhování promptů: přidání rozsáhlých příkladů a kontextu role snižuje pravděpodobnost chyby modelu při nestandardních formulacích.

Přenositelnost útoků mezi modely

Přenositelnost (transfer) útoků mezi modely se ukázala jako omezená[1]. Adversariální prompty speciálně přizpůsobené proti jednomu modelu nejsou vždy stejně účinné proti jinému[1]. Bylo například zaznamenáno, že prompty-„pasti" generované pro zranitelnosti ChatGPT mají na GPT-4 mnohem slabší vliv[1]. Ten si vedl lépe pravděpodobně proto, že útoky se přímo nepřenášely na jeho architekturu — co zmátlo jeden model, nemusí zapůsobit na pokročilejší model s odlišnou přípravou[1]. Nicméně některé druhy jednoduchých zkreslení (například překlepy) měly negativní efekt hned na několik modelů, což svědčí o podobných slabinách v jejich jazykových základech.

Praktická doporučení

V průběhu práce PromptBench byla identifikována i praktická doporučení pro uživatele a vývojáře LLM[2]. Jednoduchý závěr: stabilita formulace má svůj význam[2]. Je nutné vyhýbat se překlepům a nedbale formulovaným dotazům[2]. Autoři ukazují, že oprava i drobných chyb (pravopis, náhodné velikosti písmen, nadbytečné mezery) může výrazně zvýšit spolehlivost odpovědi modelu[2]. Kromě toho výběr slov v instrukci ovlivňuje její odolnost[2]. Analýza četnosti termínů v odolných vs. zranitelných promptech odhalila, že některá slova se vyskytují častěji ve „spolehlivých" promptech, zatímco jiná — v těch, kde se model spletl[2]. Například prompty obsahující slova „acting", „provided", „detection" apod. méně často vedly k chybám, zatímco slova jako „respond", „following" nebo „examine" se vyskytovala v problematičtějších případech[2]. To naznačuje, že určitý styl a slovní zásoba dotazů mohou zmírňovat nebo naopak provokovat zranitelnosti modelu. Obecně se doporučuje formulovat dotaz co nejjasněji, jednoznačně a v termínech, které jsou pro model přirozené, zejména pro kriticky důležité aplikace[2].

Zajímavý vedlejší efekt, zaznamenaný výzkumníky, je vliv přidávání nesmyslných nebo irelevantních fragmentů textu do dotazu[2]. Ukázalo se, že vložení náhodné sekvence znaků (například „LKF0FZxMZ4") na konec nebo doprostřed promptu může rozptýlit pozornost modelu a snížit přesnost jeho odpovědi[2]. Na druhou stranu přidání neutrální, avšak gramaticky správné fráze (například „and true is true") v některých případech naopak zlepšovalo odpověď, jako by model zaostřoval na smysluplné části otázky[2]. Tento fenomén zdůrazňuje, jak nepředvídatelně LLM reagují na zdánlivě nepodstatné detaily vstupu. Svědčí rovněž o složitosti vnitřního uspořádání modelů: ty nejmenší změny kontextu mohou buď narušit, nebo zlepšit jejich fungování, v závislosti na tom, jak se přerozděluje pozornost modelu.

Význam a další vývoj

PromptRobust/PromptBench přinesl významný příspěvek k pochopení spolehlivosti LLM[2]. Navržený benchmark a shromážděná data jsou otevřena komunitě: kód a sady adversariálních promptů jsou dostupné v repozitáři[1]. To umožňuje ostatním výzkumníkům testovat nové modely na odolnost vůči variacím dotazů a porovnávat výsledky[1]. Dalším krokem se stává vývoj metod ochrany modelů před podobnými útoky — například zdokonalené algoritmy trénování zohledňující možné překlepy a přeformulování, nebo integrované systémy normalizace vstupního textu[2]. PromptBench je již považován za základ pro takový výzkum zaměřený na zvyšování robustnosti (robustness) jazykových modelů vůči reálně nepřesným vstupním datům[2].

V konečném důsledku práce Zhua a kolegů demonstruje důležitost zohledňování odolnosti vůči promptům při nasazení LLM do praktických aplikací: modely musí nejen dosahovat vysoké přesnosti na „čistých" datech, ale také si zachovávat správnost při drobných odchylkách ve vstupu, ať už jde o náhodné chyby uživatele nebo záměrné útočné vlivy[2][4].

Odkazy

  • Původní článek PromptBench (arXiv)
  • Repozitář PromptBench na GitHubu
  • Článek „Prompt Robustness: How to Measure and How to Enhance" (Towards AI)

Literatura

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

Poznámky

  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]