PromptRobust (benchmark) (PL)

From Systems analysis Wiki
Jump to navigation Jump to search

PromptRobust (znany również jako PromptBench) — to kompleksowy benchmark do oceny odporności dużych modeli językowych (LLM) na adwersarialne modyfikacje zapytania — niewielkie zniekształcenia sformułowania zadania, które nie zmieniają jego sensu[1][2]. Benchmark został opracowany w 2023 roku przez grupę badaczy (Kaijie Zhu i in.) z Microsoft Research Asia[1]. Powstanie PromptRobust wynikało z obserwacji, że współczesne duże modele językowe (LLM) są wrażliwe na szczegóły sformułowania: nawet nieznaczne zmiany (np. literówki lub parafrazy) mogą wyraźnie wpływać na odpowiedzi modeli[2]. Benchmark ma na celu ilościowe zmierzenie tej podatności oraz wspieranie opracowywania bardziej niezawodnych metod interakcji z LLM.

Metodologia oceny

W ramach badania PromptBench zgromadzono korpus złożony z 4788 zmodyfikowanych podpowiedzi (promptów), zachowujących pierwotny sens zadań[3]. Te adwersarialne podpowiedzi zostały wygenerowane na czterech poziomach złożoności modyfikacji[1]:

  • Poziom znakowy: Wprowadzanie literówek, zamiana lub przestawienie znaków (imituje przypadkowe błędy wprowadzania).
  • Poziom wyrazowy: Zastępowanie niektórych słów synonimami, wstawianie słów „szumowych" lub inne drobne zmiany leksykalne.
  • Poziom zdaniowy: Parafrazowanie struktury zdań, dodawanie lub przestawianie fragmentów frazy bez zmiany ogólnego tematu.
  • Poziom semantyczny: Głębsze przeformułowanie zapytania przy zachowaniu jego zadania (np. alternatywne sformułowania tego samego pytania)[1].

Celem takich „ataków" jest sprawdzenie, jak nieznaczne odchylenia (np. przypadkowe literówki lub użycie synonimicznych sformułowań) wpływają na zdolność modelu do poprawnego wykonania zadania, przy czym samo zadanie pozostaje niezmienione[1]. Każda wygenerowana adwersarialna podpowiedź była stosowana do szeregu standardowych zadań NLP, w tym analizy wydźwięku, wykrywania poprawności gramatycznej, wyszukiwania zdań duplikatów, wnioskowania logicznego (NLI), czytania ze zrozumieniem, tłumaczenia maszynowego oraz rozwiązywania zadań matematycznych[1]. Do eksperymentów wybrano 8 różnych typów zadań na 13 datasetach — od klasycznych zbiorów GLUE (np. SST-2 dla analizy wydźwięku, MNLI dla NLI) po wyspecjalizowane testy matematyczne i wielojęzyczne[1].

Istotne jest, że badano odporność różnych formatów promptu[1]:

  • Bezpośrednie zapytania bez przykładów (zero-shot, tylko instrukcja).
  • Zapytania z kilkoma przykładami (few-shot, gdy w podpowiedzi podano próbki rozwiązania).
  • Podpowiedzi z rolą (in-context roles, np. „Jesteś systemem analizy wydźwięku, określ...").
  • Podpowiedzi opisujące zadanie (task-oriented, bezpośredni opis zadania)[1].

Przetestowano również różne wielkoskalowe modele językowe — od stosunkowo niewielkiego Flan-T5-large i modelu UL2 po zaawansowane ChatGPT i GPT-4, a także otwarte modele z rodziny LLaMA 2 i pochodny od nich Vicuna[1]. Do generowania ataków wykorzystano istniejące metody z dziedziny adwersarialnego NLP (takie jak TextBugger, DeepWordBug, TextFooler i inne), zaadaptowane do modyfikacji podpowiedzi zamiast danych wejściowych[1]. Poprawność uzyskanych „zniekształconych" podpowiedzi była weryfikowana metodami automatycznymi i ręcznymi; zgodnie z raportem co najmniej 85% adwersarialnych wariantów zachowuje poprawną semantykę i jest zrozumiałych dla człowieka[1]. Tym samym wpływ ataków odzwierciedla wyłącznie błędy modelu w odbiorze przeformułowanego zadania, a nie utratę sensu samego zadania.

Wyniki i wnioski

Testy wykazały, że współczesne LLM nie są wystarczająco odporne na niewielkie zmiany sformułowania zapytania[3]. W przypadku wszystkich przetestowanych modeli zaobserwowano znaczący spadek jakości odpowiedzi pod wpływem wygenerowanych ataków[3]. W szczególności nawet proste przypadki — takie jak literówka w treści zadania matematycznego lub zastąpienie jednego kluczowego słowa jego synonimem — powodowały, że model dawał błędny wynik, choć bez zniekształcenia radził sobie poprawnie[1]. Ogólny wniosek autorów brzmi: „współczesne duże modele językowe nie są robustne (odporne) na adwersarialne podpowiedzi"[3], tzn. nieznaczne odchylenia w phrasing mogą systematycznie wprowadzać je w błąd.

Przy analizie różnych rodzajów ataków okazało się, że najbardziej destrukcyjny wpływ na działanie LLM mają zmiany na poziomie wyrazowym[2]. Zastępowanie słów synonimami lub nieznaczne słowotwórcze zniekształcenia prowadziły do największego spadku jakości — średnio o ≈33% względem oryginalnego wyniku na tych samych zadaniach[2]. Ataki na poziomie znakowym (literówki, losowe znaki) powodowały średnio ~20% spadek dokładności[2]. Jakościowa zmiana lub dodanie całych zdań do promptu miało natomiast znacznie słabszy efekt i prawie nie dezorientowało modelu[1]. Semantyczne parafrazy (głębokie przeformułowanie zapytania w inny sposób) okazały się porównywalne pod względem szkodliwości z prostymi literówkami[1]. Fakty te podkreślają, że LLM są szczególnie podatne na subtelne zmiany leksykalne i błędy w słowach kluczowych[1]. Charakterystyczne jest, że zniekształcenia gramatyczne (literówki) można teoretycznie odfiltrować standardowymi narzędziami sprawdzania pisowni, podczas gdy zmiany na poziomie wyrazowym i semantycznym wymagają od modelu rozwiniętego rozumienia semantycznego, którego obecnym modelom często brakuje[1].

Analiza wydajności różnych modeli wykazała znaczne zróżnicowanie ich robustności[1]. GPT-4 i UL2 wykazały najlepszą odporność na adwersarialne podpowiedzi[1]. Nieco mniej podatne na błędy okazały się również model Flan-T5-large i model dialogowy ChatGPT[1]. Modele z rodziny LLaMA 2 zajęły pozycję pośrednią, natomiast Vicuna (13B) wyróżniła się jako najbardziej podatna na wszystkie rodzaje ataków[1]. Interesujące jest, że rozmiar modelu nie okazał się decydującym czynnikiem robustności[1]: stosunkowo niewielki T5-large pod względem stabilności odpowiedzi prawie nie ustępował znacznie większemu modelowi ChatGPT[1]. Autorzy zakładają, że kluczową rolę odgrywają metody uczenia i fine-tuningu modeli, a nie tylko ich skala[1]. I tak UL2 i T5-large przechodziły rozszerzone pretrenowanie na dużych korpusach danych, a ChatGPT był trenowany z użyciem uczenia ze wzmocnieniem na podstawie ludzkiej informacji zwrotnej (RLHF), co mogło wzmocnić ich odporność[1]. Natomiast Vicuna był trenowany na stosunkowo ograniczonym zbiorze danych (jako otwarta replika), co prawdopodobnie spowodowało jego wysoką wrażliwość na zmiany sformułowań[1]. Wyniki te wskazują, że poprawa metod fine-tuningu może zwiększyć niezawodność modeli bardziej niż samo zwiększanie ich rozmiarów.

Wpływ formatu promptu

Sposób podania zapytania również wpływa na niezawodność odpowiedzi[1]. Ustalono, że podpowiedzi z przykładami (few-shot) znacząco zwiększają odporność modelu w porównaniu z jednostopniowymi instrukcjami bez przykładów (zero-shot)[1]. Obecność kilku demonstracyjnych przykładów zadania w promptcie pomaga modelowi trafniej interpretować zadanie nawet przy obecności szumowych zmian. Podpowiedzi z rolą i opisowe (task-oriented) wykazały porównywalny poziom odporności ogólnie, choć ich skuteczność różniła się w zależności od zadania[1]. Na przykład w danych dotyczących analizy wydźwięku i duplikatów zdań format z rolą był nieco bardziej niezawodny, podczas gdy w zadaniach czytania ze zrozumieniem i tłumaczenia lepiej sprawdziły się jawne instrukcje zadania[1]. Spostrzeżenia te mogą służyć jako wskazówka przy projektowaniu promptów: dodanie rozbudowanych przykładów i kontekstu roli zmniejsza prawdopodobieństwo błędu modelu przy niestandardowych sformułowaniach.

Przenoszalność ataków między modelami

Przenoszalność (transfer) ataków między modelami okazała się ograniczona[1]. Adwersarialne podpowiedzi specjalnie dobrane przeciwko jednemu modelowi nie zawsze są jednakowo skuteczne przeciwko innemu[1]. Odnotowano na przykład, że prompty-„pułapki" wygenerowane pod kątem podatności ChatGPT znacznie słabiej wpływają na GPT-4[1]. Ten ostatni radził sobie lepiej, prawdopodobnie dlatego że ataki nie przenosiły się bezpośrednio na jego architekturę — to, co dezorientuje jeden model, może nie działać na bardziej zaawansowany model z innym przygotowaniem[1]. Niemniej jednak niektóre rodzaje prostych zniekształceń (np. literówki) wywierały negatywny efekt na kilka modeli jednocześnie, co świadczy o podobnych słabościach w ich językowych podstawach.

Praktyczne zalecenia

W toku prac nad PromptBench zidentyfikowano również praktyczne zalecenia dla użytkowników i twórców LLM[2]. Prosty wniosek: stabilność sformułowania ma znaczenie[2]. Należy unikać literówek i niedbałych sformułowań w zapytaniu[2]. Autorzy pokazują, że poprawienie nawet drobnych błędów (pisownia, przypadkowa wielkość liter, zbędne spacje) może znacząco poprawić niezawodność odpowiedzi modelu[2]. Ponadto dobór słów w instrukcji wpływa na jej odporność[2]. Analiza częstości terminów w odpornych vs. podatnych podpowiedziach wykazała, że niektóre słowa częściej pojawiają się w „niezawodnych" promptach, a inne — w tych, gdzie model popełniał błędy[2]. Na przykład podpowiedzi zawierające słowa „acting", „provided", „detection" itp. rzadziej prowadziły do błędów, natomiast słowa takie jak „respond", „following" czy „examine" występowały częściej w bardziej problematycznych przypadkach[2]. Wskazuje to, że określony styl i leksyka zapytań mogą łagodzić lub wręcz prowokować podatności modelu. Ogólnie zaleca się formułowanie zapytania możliwie jasno, jednoznacznie i w terminach typowych dla modelu, szczególnie w przypadku krytycznych zastosowań[2].

Ciekawym efektem ubocznym odnotowanym przez badaczy jest wpływ dodawania bezsensownych lub nieistotnych fragmentów tekstu do zapytania[2]. Okazało się, że wstawienie losowej sekwencji znaków (np. „LKF0FZxMZ4") na końcu lub w środku podpowiedzi może odwrócić uwagę modelu i obniżyć dokładność jego odpowiedzi[2]. Z drugiej strony dodanie neutralnej, ale gramatycznie poprawnej frazy (np. „and true is true" — „i prawdziwe jest prawdziwe") w niektórych przypadkach wręcz poprawiało odpowiedź, jakby skupiając model na istotnych częściach pytania[2]. To zjawisko podkreśla, jak nieprzewidywalnie LLM reagują na pozornie nieistotne szczegóły wejścia. Świadczy też o złożoności wewnętrznej budowy modeli: najmniejsze zmiany kontekstu mogą albo zakłócić, albo poprawić ich działanie, w zależności od tego, jak rozkłada się uwaga modelu.

Znaczenie i dalszy rozwój

PromptRobust/PromptBench wniósł znaczący wkład w rozumienie niezawodności LLM[2]. Zaproponowany benchmark i zgromadzone dane są otwarte dla społeczności: kod i zbiory adwersarialnych podpowiedzi są dostępne w repozytorium[1]. Pozwala to innym badaczom testować nowe modele pod kątem odporności na warianty zapytań i porównywać wyniki[1]. Kolejnym krokiem jest opracowanie metod ochrony modeli przed tego rodzaju atakami — na przykład ulepszone algorytmy uczenia uwzględniające możliwe literówki i parafrazy lub wbudowane systemy normalizacji mowy wejściowej[2]. PromptBench jest już postrzegany jako podstawa dla takich badań nad zwiększaniem robustności (robustness) modeli językowych wobec rzeczywistych niedokładnych danych wejściowych[2].

Ostatecznie praca Zhu i współpracowników demonstruje znaczenie uwzględniania odporności na prompty przy wdrażaniu LLM w praktycznych zastosowaniach: modele muszą nie tylko wykazywać wysoką dokładność na „czystych" danych, ale i zachowywać poprawność przy nieznacznych odchyleniach w danych wejściowych — czy to przy przypadkowych błędach użytkownika, czy przy celowych atakach[2][4].

Odnośniki

  • Oryginalna praca PromptBench (arXiv)
  • Repozytorium PromptBench na GitHub
  • Artykuł „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.

Przypisy

  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]