PromptRobust

Материал из Systems analysis Wiki
Перейти к навигации Перейти к поиску

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

См. также

Ссылки

Литература

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