PromptRobust
PromptRobust (также известный как PromptBench) — это комплексный бенчмарк для оценки устойчивости больших языковых моделей (LLM) к адверсарным изменениям запроса — небольшим искажениям формулировки задания, которые не меняют его смысла[1][2]. Бенчмарк был разработан в 2023 году группой исследователей (Каицзе Чжу (Kaijie Zhu) и др.) из Microsoft Research Asia[1]. Появление PromptRobust обусловлено наблюдением, что современные БЯМ чувствительны к деталям формулировки: даже незначительные изменения (например, опечатки или перефразирование) могут заметно влиять на ответы моделей[2]. Бенчмарк призван количественно измерить эту уязвимость и способствовать разработке более надёжных методов взаимодействия с БЯМ.
Методология оценки
В рамках исследования PromptBench был сформирован корпус из 4788 видоизменённых подсказок (промптов), сохраняющих изначальный смысл заданий[3]. Эти адверсарные подсказки были сгенерированы на четырёх уровнях сложности изменений[1]:
- Символьный уровень: Внесение опечаток, замена или перестановка символов (имитирует случайные ошибки ввода).
- Словесный уровень: Замена некоторых слов синонимами, ввод «шумовых» слов или других незначительных словарных изменений.
- Уровень предложения: Перефразирование структуры предложений, добавление или перестановка частей фразы без изменения общей темы.
- Семантический уровень: Более глубокое переформулирование запроса с сохранением его задачи (например, альтернативные формулировки того же вопроса)[1].
Цель подобных «атак» — проверить, как незначительные отклонения (напр., случайные опечатки или использование синонимичных формулировок) влияют на способность модели правильно выполнить задачу, при том что сама задача не изменилась[1]. Каждая сгенерированная адверсарная подсказка применялась к ряду стандартных NLP-заданий, включая анализ тональности, выявление грамматической корректности, поиск дублирующихся предложений, логическое выводение (NLI), чтение с пониманием, машинный перевод и решение математических задач[1]. Для экспериментов отобраны 8 разных типов задач на 13 датасетах — от классических наборов GLUE (например, SST-2 для тональности, MNLI для NLI) до специализированных математических и мультиязыковых тестов[1].
Важно, что проверялась устойчивость разных форматов промпта[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]. Таким образом, влияние атак отражает именно сбои модели в восприятии перефразированного задания, а не утрату самого смысла задачи.
Результаты и выводы
Испытания показали, что современные БЯМ недостаточно устойчивы к небольшим изменениям формулировки запроса[3]. Для всех протестированных моделей наблюдалось значительное снижение качества ответов под воздействием сгенерированных атак[3]. В частности, даже простые случаи — такие как опечатка в тексте математической задачи или замена одного ключевого слова его синонимом — приводили к тому, что модель давала неверный результат, хотя без искажения справлялась правильно[1]. Общий вывод авторов: «современные большие языковые модели не являются робастными (устойчивыми) к адверсарным подсказкам»[3], то есть незначительные отклонения в phrasing могут систематически вводить их в заблуждение.
При анализе разных видов атак выяснилось, что наиболее разрушительно на работу БЯМ влияют изменения на уровне слов[2]. Замена слов на синонимы или незначительное словообразовательное искажение приводили к наибольшему падению качества — в среднем на ≈33% относительно исходного результата на тех же заданиях[2]. Атаки на символьном уровне (опечатки, случайные символы) вызывали в среднем ~20% снижение точности[2]. Качественное изменение или добавление целых предложений в промпт, напротив, имело гораздо более слабый эффект, почти не сбивая модель[1]. Семантические перефразирования (глубокое пересказывание запроса другим способом) оказались сопоставимы по вредоносности с простыми опечатками[1]. Эти факты подчёркивают, что БЯМ особенно уязвимы к тонким лексическим изменениям и ошибкам в ключевых словах[1]. Характерно, что грамматические искажения (опечатки) теоретически можно отфильтровать стандартными средствами проверки правописания, тогда как изменения на уровне слов и смысла требуют от модели развитого семантического понимания, которого текущим моделям часто недостаёт[1].
Анализ производительности различных моделей показал значительный разброс в их робастности[1]. GPT-4 и UL2 продемонстрировали наилучшую устойчивость к адверсарным подсказкам[1]. Чуть менее подвержены сбоям оказались также модель Flan-T5-large и диалоговая модель ChatGPT[1]. Модели семейства LLaMA 2 заняли промежуточное положение, тогда как Vicuna (13B) выделилась как наиболее уязвимая ко всем видам атак[1]. Интересно, что размер модели не оказался решающим фактором робастности[1]: относительно небольшая T5-large по стабильности ответа практически не уступала гораздо более крупной модели ChatGPT[1]. Авторы предполагают, что ключевую роль играют методы обучения и дообучения моделей, а не только масштаб[1]. Так, UL2 и T5-large проходили расширенное предобучение на больших корпусах данных, а ChatGPT обучалась с подкреплением от человеческой обратной связи (RLHF), что могло укрепить их устойчивость[1]. Напротив, Vicuna обучалась на сравнительно ограниченном наборе данных (как открытая реплика), что вероятно обусловило её высокую чувствительность к изменению формулировок[1]. Эти результаты указывают на то, что улучшение методов fine-tuning может повысить надёжность моделей сильнее, чем просто увеличение их размеров.
Влияние формата промпта
Форма подачи запроса также влияет на надёжность ответа[1]. Было установлено, что подсказки с примерами (few-shot) существенно повышают устойчивость модели по сравнению с одношаговыми инструкциями без примеров (zero-shot)[1]. Наличие в промпте нескольких демонстрационных примеров задачи помогает модели вернее интерпретировать задание даже при наличии шумовых изменений. Ролевые подсказки и описательные (task-oriented) показали сопоставимый уровень устойчивости в целом, хотя их эффективность варьировала от задачи к задаче[1]. Например, в данных по анализу тональности и дубликатов предложений ролевой формат был чуть надёжнее, тогда как в задачах чтения с пониманием и перевода лучше сработали явные инструкции задачи[1]. Эти наблюдения могут служить руководством при проектировании промптов: добавление развернутых примеров и контекста роли уменьшает вероятность ошибки модели на нестандартные формулировки.
Передаваемость атак между моделями
Передаваемость (трансфер) атак между моделями оказалась ограниченной[1]. Адверсарные подсказки, специально подобранные против одной модели, не всегда одинаково эффективны против другой[1]. Так, было отмечено, что промпты-«ловушки», генерированные для уязвимостей ChatGPT, гораздо слабее влияют на GPT-4[1]. Последний справлялся лучше, вероятно, потому что атаки не переносились напрямую на его архитектуру – то, что сбивает с толку одну модель, может не подействовать на более продвинутую модель с иной подготовкой[1]. Тем не менее некоторые виды простых искажений (например, опечатки) оказывали негативный эффект сразу на несколько моделей, что говорит о сходных слабых местах в их языковой основе.
Практические рекомендации
В ходе работы PromptBench были выявлены и практические рекомендации для пользователей и разработчиков БЯМ[2]. Простой вывод: стабильность формулировки имеет значение[2]. Необходимо избегать опечаток и небрежных формулировок в запросе[2]. Авторы показывают, что исправление даже мелких ошибок (правописание, случайный регистр, лишние пробелы) способно существенно повысить надёжность ответа модели[2]. Кроме того, выбор слов в инструкции влияет на её устойчивость[2]. Анализ частотности терминов в устойчивых vs. уязвимых подсказках выявил, что некоторые слова чаще встречаются в «надёжных» промптах, а другие — в тех, где модель сбилась[2]. Например, подсказки, содержащие слова «acting», «provided», «detection» и т.п., реже приводили к сбоям, тогда как слова вроде «respond» («ответь»), «following» («следующий») или «examine» («исследуй») встречались в более проблемных случаях[2]. Это указывает, что определённый стиль и лексика запросов могут смягчать или, напротив, провоцировать уязвимости модели. В целом рекомендуется формулировать запрос максимально чётко, однозначно и в привычных для модели терминах, особенно для критически важных приложений[2].
Интересный побочный эффект, отмеченный исследователями, — влияние добавления бессмысленных или нерелевантных фрагментов текста в запрос[2]. Выяснилось, что вставка случайной последовательности символов (например, «LKF0FZxMZ4») в конец или середину подсказки способна отвлечь внимание модели и снизить точность её ответа[2]. С другой стороны, добавление нейтральной, но грамматически корректной фразы (например, «and true is true» — «и истинно есть истинно») в некоторых случаях наоборот улучшало ответ, как будто фокусируя модель на значимых частях вопроса[2]. Этот феномен подчёркивает, насколько непредсказуемо БЯМ реагируют на, казалось бы, несущественные детали ввода. Он же свидетельствует о сложности внутреннего устройства моделей: мельчайшие изменения контекста могут либо нарушить, либо улучшить их работу, в зависимости от того, как перераспределяется внимание модели.
Значение и дальнейшее развитие
PromptRobust/PromptBench внёс значительный вклад в понимание надёжности БЯМ[2]. Предложенный бенчмарк и собранные данные открыты для сообщества: код и наборы адверсарных подсказок доступны в репозитории[1]. Это позволяет другим исследователям тестировать новые модели на устойчивость к вариациям запросов и сравнивать результаты[1]. Следующим шагом становится разработка методов защиты моделей от подобных атак — например, улучшенные алгоритмы обучения, учитывающие возможные опечатки и перефразирования, или встроенные системы нормализации входной речи[2]. PromptBench уже рассматривается как основа для таких исследований по повышению робастности (robustness) языковых моделей к реальным неточным вводным данным[2].
В конечном итоге работа Чжу и коллег демонстрирует важность учёта устойчивости к промптам при внедрении БЯМ в практические приложения: модели должны не только показывать высокую точность на «чистых» данных, но и сохранять корректность при незначительных отклонениях в вводе, будь то случайные ошибки пользователя или преднамеренные атакующие воздействия[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]