PromptRobust (benchmark) (KO)

From Systems analysis Wiki
Jump to navigation Jump to search

PromptRobust (PromptBench라고도 알려져 있음) — LLM(대형 언어 모델)의 적대적 프롬프트 변형, 즉 과제의 의미를 바꾸지 않는 소소한 표현 왜곡에 대한 견고성을 평가하는 종합적인 benchmark입니다[1][2]. 이 benchmark는 2023년 Microsoft Research Asia 소속 연구자 그룹(Kaijie Zhu 등)에 의해 개발되었습니다[1]. PromptRobust의 등장은 현대 LLM이 표현의 세부 사항에 민감하다는 관찰에서 비롯됩니다. 즉, 오타나 재표현과 같은 사소한 변경조차도 모델의 응답에 눈에 띄는 영향을 미칠 수 있습니다[2]. 이 benchmark는 이러한 취약성을 정량적으로 측정하고, LLM과의 상호작용에서 보다 신뢰할 수 있는 방법론 개발에 기여하는 것을 목표로 합니다.

평가 방법론

PromptBench 연구의 일환으로 과제의 원래 의미를 유지하는 4788개의 변형된 프롬프트 말뭉치가 구성되었습니다[3]. 이 적대적 프롬프트들은 네 가지 변형 난이도 수준에서 생성되었습니다[1]:

  • 문자 수준: 오타 삽입, 문자 교체 또는 전치(무작위 입력 오류를 모방).
  • 단어 수준: 일부 단어를 동의어로 교체, '노이즈' 단어 삽입 또는 기타 사소한 어휘 변경.
  • 문장 수준: 문장 구조 재표현, 전체 주제를 변경하지 않으면서 문구의 일부 추가 또는 전치.
  • 의미 수준: 과제를 유지하면서 요청을 더 깊이 재구성(예: 동일한 질문의 대안적 표현)[1].

이러한 '공격'의 목적은 과제 자체가 변경되지 않은 상태에서 사소한 편차(예: 무작위 오타 또는 동의어 표현 사용)가 모델이 과제를 올바르게 수행하는 능력에 어떤 영향을 미치는지 확인하는 것입니다[1]. 생성된 각 적대적 프롬프트는 감정 분석, 문법 정확성 감지, 중복 문장 탐지, 자연어 추론(NLI), 독해, 기계 번역수학 문제 풀기 등 일련의 표준 NLP 과제에 적용되었습니다[1]. 실험을 위해 13개의 dataset에 걸쳐 8가지 다양한 유형의 과제가 선정되었으며, 여기에는 감정 분석을 위한 SST-2, NLI를 위한 MNLI와 같은 GLUE 클래식 세트부터 전문적인 수학 및 다국어 테스트까지 포함됩니다[1].

중요한 점은 다양한 프롬프트 형식의 견고성도 검토되었다는 것입니다[1]:

  • 예시 없는 직접 요청(zero-shot, 지시만 포함).
  • 몇 가지 예시가 포함된 요청(few-shot, 프롬프트에 풀이 예시 제공).
  • 역할 기반 프롬프트(in-context roles, 예: "당신은 감정 분석 시스템입니다. 다음을 판단하세요...").
  • 과제를 설명하는 프롬프트(task-oriented, 과제에 대한 직접적 설명)[1].

또한 비교적 소규모인 Flan-T5-large와 UL2 모델부터 ChatGPT, GPT-4와 같은 고급 모델, 그리고 LLaMA 2 계열의 오픈 모델과 그 파생 모델인 Vicuna까지 다양한 대규모 언어 모델이 테스트되었습니다[1]. 공격 생성에는 TextBugger, DeepWordBug, TextFooler 등 적대적 NLP 분야의 기존 방법들이 사용되었으며, 입력 데이터 대신 프롬프트 수정에 맞게 적용되었습니다[1]. 생성된 '왜곡된' 프롬프트의 정확성은 자동 및 수동 방법으로 검증되었으며, 보고서에 따르면 적대적 변형의 85% 이상이 올바른 의미를 유지하고 사람이 이해할 수 있습니다[1]. 따라서 공격의 영향은 과제의 의미 자체가 상실된 것이 아니라, 재표현된 과제를 인식하는 모델의 오류를 반영합니다.

결과 및 결론

실험 결과, 현대 LLM은 프롬프트 표현의 소소한 변경에 대해 충분히 견고하지 않은 것으로 나타났습니다[3]. 테스트된 모든 모델에서 생성된 공격의 영향 하에 응답 품질이 크게 저하되는 현상이 관찰되었습니다[3]. 특히, 수학 문제 텍스트의 오타나 핵심 단어 하나를 동의어로 교체하는 것과 같은 단순한 경우조차도 모델이 왜곡 없이는 올바르게 처리할 수 있는 것을 잘못된 결과로 이어지게 했습니다[1]. 저자들의 전반적인 결론은 다음과 같습니다. "현대의 대형 언어 모델은 적대적 프롬프트에 대해 견고하지(robust) 않다"[3], 즉 표현(phrasing)의 사소한 편차가 체계적으로 모델을 오도할 수 있습니다.

다양한 유형의 공격을 분석한 결과, 단어 수준의 변경이 LLM의 성능에 가장 파괴적인 영향을 미치는 것으로 밝혀졌습니다[2]. 단어를 동의어로 교체하거나 사소하게 단어 형태를 왜곡하면 동일한 과제에서의 원래 결과 대비 평균 ≈33% 가장 큰 품질 저하를 가져왔습니다[2]. 문자 수준 공격(오타, 무작위 문자)은 평균 ~20%의 정확도 저하를 유발했습니다[2]. 반면 프롬프트에 완전한 문장을 질적으로 변경하거나 추가하는 것은 훨씬 약한 효과를 보여, 모델을 거의 혼란시키지 않았습니다[1]. 의미론적 재표현(다른 방식으로 깊게 요청을 재구성)은 단순한 오타와 유사한 수준의 해로움을 보였습니다[1]. 이러한 사실들은 LLM이 특히 미묘한 어휘 변경과 핵심 단어의 오류에 취약하다는 점을 강조합니다[1]. 특히 문법적 왜곡(오타)은 이론적으로 표준 맞춤법 검사 도구로 필터링할 수 있는 반면, 단어 및 의미 수준의 변경은 현재 모델들이 종종 결여하고 있는 고도화된 의미론적 이해를 모델에 요구합니다[1].

다양한 모델의 성능 분석은 견고성에서 상당한 편차를 보였습니다[1]. GPT-4UL2가 적대적 프롬프트에 대해 가장 높은 견고성을 보였습니다[1]. Flan-T5-large 모델과 대화형 모델 ChatGPT도 다소 낮은 오류율을 보였습니다[1]. LLaMA 2 계열 모델들은 중간 위치를 차지했으며, Vicuna(13B)는 모든 유형의 공격에 가장 취약한 것으로 두드러졌습니다[1]. 흥미롭게도 모델 크기는 견고성의 결정적 요인이 되지 않았습니다[1]. 비교적 소규모인 T5-large는 훨씬 더 큰 ChatGPT 모델과 응답 안정성 면에서 거의 동등한 수준을 보였습니다[1]. 저자들은 단순한 규모가 아니라 모델의 훈련 및 fine-tuning 방법이 핵심적인 역할을 한다고 추정합니다[1]. 예를 들어, UL2와 T5-large는 대규모 데이터 코퍼스에서 광범위한 사전 훈련을 거쳤으며, ChatGPT는 인간 피드백을 통한 강화 학습(RLHF)으로 훈련되어 견고성이 강화되었을 수 있습니다[1]. 반면 Vicuna는 비교적 제한된 dataset으로 훈련되어(오픈 소스 복제품으로서) 표현 변경에 높은 민감성을 가지게 된 것으로 보입니다[1]. 이러한 결과는 fine-tuning 방법 개선이 단순히 모델 크기를 늘리는 것보다 신뢰성을 더 크게 향상시킬 수 있음을 시사합니다.

프롬프트 형식의 영향

요청의 형식도 응답의 신뢰성에 영향을 미칩니다[1]. 예시가 있는 프롬프트(few-shot)가 예시 없는 단일 단계 지시(zero-shot)에 비해 모델의 견고성을 크게 향상시키는 것으로 확인되었습니다[1]. 프롬프트에 여러 데모 예시가 있으면 노이즈 변경이 있는 경우에도 모델이 과제를 더 정확하게 해석하는 데 도움이 됩니다. 역할 기반 프롬프트와 설명적(task-oriented) 프롬프트는 전반적으로 비슷한 수준의 견고성을 보였으나, 그 효과는 과제마다 다소 달랐습니다[1]. 예를 들어, 감정 분석과 중복 문장 데이터에서는 역할 기반 형식이 다소 더 안정적이었던 반면, 독해 및 번역 과제에서는 명시적 과제 지시가 더 효과적이었습니다[1]. 이러한 관찰은 프롬프트 설계 시 지침이 될 수 있습니다. 상세한 예시와 역할 컨텍스트를 추가하면 비표준 표현에 대한 모델 오류 가능성이 줄어듭니다.

모델 간 공격 전이성

모델 간 공격의 전이성(transfer)은 제한적인 것으로 나타났습니다[1]. 특정 모델을 대상으로 특별히 선택된 적대적 프롬프트가 다른 모델에 대해 항상 동일하게 효과적인 것은 아닙니다[1]. 예를 들어, ChatGPT의 취약성을 위해 생성된 '함정' 프롬프트는 GPT-4에 훨씬 약한 영향을 미치는 것으로 관찰되었습니다[1]. 후자가 더 잘 처리한 것은 아마도 공격이 그 아키텍처에 직접 전이되지 않았기 때문일 것입니다. 즉, 한 모델을 혼란시키는 것이 다른 훈련을 받은 더 고급 모델에는 효과가 없을 수 있습니다[1]. 그럼에도 불구하고, 오타와 같은 일부 단순한 왜곡은 여러 모델에 동시에 부정적인 영향을 미쳐, 이들의 언어적 기반에 유사한 약점이 있음을 시사합니다.

실용적 권장사항

PromptBench 연구를 통해 LLM 사용자와 개발자를 위한 실용적인 권장사항도 도출되었습니다[2]. 간단한 결론은 표현의 안정성이 중요하다는 것입니다[2]. 요청에서 오타와 부주의한 표현을 피해야 합니다[2]. 저자들은 사소한 오류(맞춤법, 무작위 대소문자, 불필요한 공백)를 수정하는 것만으로도 모델 응답의 신뢰성을 크게 향상시킬 수 있음을 보여줍니다[2]. 또한 지시에서의 단어 선택이 견고성에 영향을 미칩니다[2]. 견고한 vs. 취약한 프롬프트에서 용어 빈도를 분석한 결과, 일부 단어는 '신뢰할 수 있는' 프롬프트에 더 자주 등장하고, 다른 단어들은 모델이 실수한 프롬프트에 더 자주 등장하는 것으로 밝혀졌습니다[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와 동료들의 연구는 LLM을 실용적인 응용 프로그램에 도입할 때 프롬프트에 대한 견고성을 고려하는 것이 중요하다는 점을 보여줍니다. 모델은 '깨끗한' 데이터에서 높은 정확도를 보일 뿐만 아니라, 사용자의 우발적인 실수이든 의도적인 공격적 개입이든 입력의 사소한 편차에서도 정확성을 유지해야 합니다[2][4].

참고 링크

  • PromptBench 원본 논문 (arXiv)
  • GitHub의 PromptBench 저장소
  • "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. 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]