PromptRobust (benchmark) (BG)
PromptRobust (известен също като PromptBench) — това е комплексен benchmark за оценка на устойчивостта на големи езикови модели (LLM) към адверсарни изменения на заявката — малки изкривявания на формулировката на заданието, които не променят смисъла му[1][2]. Benchmark-ът е разработен през 2023 година от група изследователи (Kaijie Zhu и др.) от Microsoft Research Asia[1]. Появата на PromptRobust е обусловена от наблюдението, че съвременните LLM са чувствителни към детайлите на формулировката: дори незначителни промени (например печатни грешки или перифразиране) могат осезаемо да влияят върху отговорите на моделите[2]. Benchmark-ът е предназначен да измери количествено тази уязвимост и да съдейства за разработването на по-надеждни методи за взаимодействие с LLM.
Методология на оценяването
В рамките на изследването PromptBench е формиран корпус от 4788 видоизменени подсказки (prompt-и), запазващи първоначалния смисъл на заданията[3]. Тези адверсарни подсказки са генерирани на четири нива на сложност на измененията[1]:
- Символно ниво: Въвеждане на печатни грешки, замяна или разместване на символи (имитира случайни грешки при въвеждане).
- Словно ниво: Замяна на някои думи със синоними, въвеждане на „шумови" думи или други незначителни речникови изменения.
- Ниво на изречението: Перифразиране на структурата на изреченията, добавяне или разместване на части от фразата без промяна на общата тема.
- Семантично ниво: По-дълбоко преформулиране на заявката при запазване на нейната задача (например алтернативни формулировки на един и същ въпрос)[1].
Целта на подобни „атаки" е да се провери как незначителните отклонения (напр. случайни печатни грешки или използване на синонимни формулировки) влияят върху способността на модела правилно да изпълни задачата, при положение че самата задача не е променена[1]. Всяка генерирана адверсарна подсказка е прилагана към редица стандартни NLP задачи, включително анализ на тоналността, разкриване на граматическа коректност, търсене на дублиращи се изречения, логически извод (NLI), четене с разбиране, машинен превод и решаване на математически задачи[1]. За експериментите са подбрани 8 различни типа задачи върху 13 dataset-а — от класическите набори GLUE (например SST-2 за тоналност, MNLI за NLI) до специализирани математически и многоезикови тестове[1].
Важно е, че беше проверявана устойчивостта на различни формати на prompt[1]:
- Преки заявки без примери (zero-shot, само инструкция).
- Заявки с няколко примера (few-shot, когато в подсказката са дадени образци за решение).
- Ролеви подсказки (in-context roles, например „Вие сте система за анализ на тоналността, определете...").
- Подсказки, описващи задачата (task-oriented, пряко описание на заданието)[1].
Също така бяха тествани различни мащабни езикови модели — от сравнително малкия Flan-T5-large и модела UL2 до напредналите ChatGPT и GPT-4, а също и отворените модели от семейството LLaMA 2 и производният от тях Vicuna[1]. За генериране на атаките бяха използвани съществуващи методи от областта на адверсарното NLP (като TextBugger, DeepWordBug, TextFooler и др.), адаптирани за модификация на подсказките вместо на входните данни[1]. Коректността на получените „изкривени" подсказки беше проверявана с автоматични и ръчни методи; според доклада не по-малко от 85% от адверсарните вариации запазват правилната семантика и са разбираеми за човек[1]. По този начин влиянието на атаките отразява именно грешките на модела при възприемане на перифразираното задание, а не загубата на самия смисъл на задачата.
Резултати и изводи
Изпитанията показаха, че съвременните LLM не са достатъчно устойчиви към малки изменения в формулировката на заявката[3]. При всички тествани модели беше наблюдавано значително влошаване на качеството на отговорите под въздействието на генерираните атаки[3]. По-специално, дори прости случаи — като печатна грешка в текста на математическа задача или замяна на една ключова дума с нейния синоним — водеха до това, че моделът даваше неверен резултат, въпреки че без изкривяване се справяше правилно[1]. Общият извод на авторите: „съвременните големи езикови модели не са robust (устойчиви) към адверсарни подсказки"[3], тоест незначителни отклонения в phrasing могат системно да ги въвеждат в заблуждение.
При анализа на различните видове атаки се установи, че най-разрушително върху работата на LLM влияят изменените на словно ниво[2]. Замяната на думи със синоними или незначителното словообразувателно изкривяване водеха до най-голям спад в качеството — средно с ≈33% спрямо изходния резултат на същите задания[2]. Атаките на символно ниво (печатни грешки, случайни символи) предизвикваха средно ~20% намаляване на точността[2]. Качественото изменение или добавянето на цели изречения към prompt-а, напротив, имаше много по-слаб ефект и почти не объркваше модела[1]. Семантичните перифразирания (дълбоко преразказване на заявката по друг начин) се оказаха сравними по вредоносност с обикновените печатни грешки[1]. Тези факти подчертават, че LLM са особено уязвими към тънки лексикални изменения и грешки в ключовите думи[1]. Характерно е, че граматическите изкривявания (печатни грешки) теоретично могат да бъдат филтрирани чрез стандартни средства за проверка на правописа, докато изменените на словно и смислово ниво изискват от модела развито семантично разбиране, което на текущите модели често им липсва[1].
Анализът на производителността на различните модели показа значителен разброс в тяхната robustness[1]. GPT-4 и UL2 демонстрираха най-добра устойчивост към адверсарни подсказки[1]. Малко по-малко склонни към грешки се оказаха също моделът Flan-T5-large и диалоговият модел ChatGPT[1]. Моделите от семейството LLaMA 2 заеха междинна позиция, докато Vicuna (13B) се открои като най-уязвима към всички видове атаки[1]. Интересно е, че размерът на модела не се оказа решаващ фактор за robustness[1]: сравнително малкият T5-large по стабилност на отговора практически не отстъпваше на значително по-големия модел ChatGPT[1]. Авторите предполагат, че ключова роля играят методите на обучение и fine-tuning на моделите, а не само мащабът[1]. Така UL2 и T5-large са преминали разширено предобучение върху големи корпуси от данни, а ChatGPT е обучен с подкрепление от човешка обратна връзка (RLHF), което вероятно е укрепило тяхната устойчивост[1]. Напротив, Vicuna е обучен върху сравнително ограничен набор от данни (като отворена реплика), което вероятно е обусловило неговата висока чувствителност към изменения в формулировките[1]. Тези резултати сочат, че подобряването на методите за fine-tuning може да повиши надеждността на моделите в по-голяма степен, отколкото простото увеличаване на техния размер.
Влияние на формата на prompt
Формата на подаване на заявката също влияе върху надеждността на отговора[1]. Установено е, че подсказките с примери (few-shot) съществено повишават устойчивостта на модела в сравнение с еднократните инструкции без примери (zero-shot)[1]. Наличието в prompt-а на няколко демонстрационни примера на задачата помага на модела да интерпретира по-вярно заданието дори при наличие на шумови изменения. Ролевите подсказки и описателните (task-oriented) показаха съпоставимо ниво на устойчивост като цяло, въпреки че ефективността им варира в зависимост от задачата[1]. Например при данните за анализ на тоналността и дублиращи се изречения ролевият формат беше малко по-надежден, докато при задачите за четене с разбиране и превод по-добре се справиха явните инструкции на задачата[1]. Тези наблюдения могат да служат като ориентир при проектирането на prompt-и: добавянето на разгърнати примери и контекст на роля намалява вероятността от грешка на модела при нестандартни формулировки.
Прехвърляемост на атаките между модели
Прехвърляемостта (трансферът) на атаките между моделите се оказа ограничена[1]. Адверсарните подсказки, специално подбрани срещу един модел, не винаги са еднакво ефективни срещу друг[1]. Така беше отбелязано, че prompt-ите „капани", генерирани за уязвимостите на ChatGPT, влияят значително по-слабо на GPT-4[1]. Последният се справяше по-добре, вероятно защото атаките не се пренасяха пряко върху неговата архитектура — това, което обърква един модел, може да не подействa на по-напреднал модел с различна подготовка[1]. Въпреки това някои видове прости изкривявания (например печатни грешки) оказваха негативен ефект едновременно върху няколко модела, което говори за сходни слабости в тяхната езикова основа.
Практически препоръки
В хода на работата PromptBench бяха разкрити и практически препоръки за потребителите и разработчиците на LLM[2]. Простият извод: стабилността на формулировката има значение[2]. Необходимо е да се избягват печатни грешки и небрежни формулировки в заявката[2]. Авторите показват, че поправянето дори на дребни грешки (правопис, случаен регистър, излишни интервали) може съществено да повиши надеждността на отговора на модела[2]. Освен това, изборът на думи в инструкцията влияе върху нейната устойчивост[2]. Анализът на честотата на термините в устойчиви vs. уязвими подсказки разкри, че някои думи се срещат по-често в „надеждните" prompt-и, а други — в тези, при които моделът е сбъркал[2]. Например подсказките, съдържащи думи като „acting", „provided", „detection" и т.н., по-рядко водеха до грешки, докато думи като „respond", „following" или „examine" се срещаха в по-проблемните случаи[2]. Това сочи, че определен стил и лексика на заявките могат да смекчат или, обратно, да провокират уязвимостите на модела. Като цяло се препоръчва заявката да се формулира максимално ясно, недвусмислено и с познати за модела термини, особено за критично важни приложения[2].
Интересен страничен ефект, отбелязан от изследователите, е влиянието на добавянето на безсмислени или нерелевантни фрагменти от текст в заявката[2]. Оказа се, че вмъкването на случайна последователност от символи (например „LKF0FZxMZ4") в края или средата на подсказката може да отвлече вниманието на модела и да намали точността на неговия отговор[2]. От друга страна, добавянето на неутрална, но граматически правилна фраза (например „and true is true") в някои случаи напротив подобрявало отговора, сякаш фокусирайки модела върху значимите части на въпроса[2]. Този феномен подчертава колко непредсказуемо LLM реагират на привидно несъществени детайли на входните данни. Той свидетелства и за сложността на вътрешното устройство на моделите: най-малките изменения на контекста могат или да нарушат, или да подобрят тяхната работа, в зависимост от това как се преразпределя вниманието на модела.
Значение и по-нататъшно развитие
PromptRobust/PromptBench внесе значителен принос в разбирането на надеждността на LLM[2]. Предложеният benchmark и събраните данни са отворени за общността: кодът и наборите от адверсарни подсказки са достъпни в репозиторията[1]. Това позволява на другите изследователи да тестват нови модели за устойчивост към вариации на заявките и да сравняват резултатите[1]. Следващата стъпка е разработването на методи за защита на моделите от подобни атаки — например подобрени алгоритми за обучение, отчитащи възможните печатни грешки и перифразирания, или вградени системи за нормализиране на входния текст[2]. PromptBench вече се разглежда като основа за такива изследвания по повишаване на robustness (устойчивостта) на езиковите модели към реални неточни входни данни[2].
В крайна сметка трудът на Zhu и колегите му демонстрира важността на отчитането на устойчивостта към prompt-и при внедряването на LLM в практически приложения: моделите трябва не само да показват висока точност върху „чисти" данни, но и да запазват коректност при незначителни отклонения във входните данни, независимо дали са случайни грешки на потребителя или преднамерени атакуващи въздействия[2][4].
Препратки
- Оригинална статия PromptBench (arXiv)
- Репозитория PromptBench в GitHub
- Статия „Prompt Robustness: How to Measure and How to Enhance" (Towards AI)
Литература
- 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.
Бележки
- ↑ 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.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.0 3.1 3.2 3.3 «PromptRobust: Towards Evaluating the Robustness of Large Language Models on Adversarial Prompts». arXiv. [3]
- ↑ «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]