2025. 1. 6. 14:48ㆍPaper Review/Vision Language Model (VLM)
Luo, W., Ma, S., Liu, X., Guo, X., & Xiao, C. (2024). JailBreakV: A Benchmark for Assessing the Robustness of MultiModal Large Language Models against Jailbreak Attacks.
https://arxiv.org/abs/2404.03027
공식 Github에 원본 데이터 다운로드도 가능하고, 모델에 대한 설명도 잘 정리해 놓았어요. (아주 깔끔합니다🫰🏻)
데이터셋 샘플 예시도 볼 수 있으니, 논문 읽을 시간이 없다하시면 이걸 먼저 보시면 좋을 것 같아요!
데이터를 찾는 동시에 논문을 리뷰하고 정리하는 과정은 쉽지 않은 것 같아요.
머리가 어질 어질해요...
그래서 데이터셋 위주의 리뷰는 논문이 아닌 데이터셋 리뷰로 제목을 변경해보았습니다.
(논문 내용을 기대하고 들어왔다가 실망하면 안되잖아요..? 그래도 꼭 필요한 내용은 함께 정리해보도록 하겠습니다.)
* 이번 리뷰 스타일은 이전과 많이 다를거라 다 제 견해처럼 느껴질 수 있지만, 파란색 글씨만 제 견해입니다.
Multimodal Large Language Models의 빠른 발전과 함께 어떻게 악성 prompt 혹은 input이 들어와도 모델이 사람이 정한 규칙을 잘 지켜면서 답할 수 있을지가 주요 과제로 떠오르고 있습니다. (정말 정말 여러번 언급했던 내용이죠?)
관련해서 정말 여러 방법론들이 언급되었는데, 본 논문에서는 여러 모델에서 효과적인 jailbreak question을 탐구하기 위해 JailBreakV-28K 라고 명명한 벤치마크 데이터셋을 공개했습니다. 벤치마크 데이터셋의 최종 규모는 28,000개 테스트 시나리오를 포함하고 있어요. 10개의 오픈소스 MLLM 모델로 테스트를 수행한 결과, 높은 공격 성공률을 보였다고 해요.
1 Introduction
Can techniques that successfully jailbreak LLMs also be applied to jailbreak MLLMs?
해당 논문은 이 질문에서 시작했다고 합니다. 대부분의 MLLM의 text encoder는 LLM을 활용하고 있는데요. 과연.. LLM에 먹히던 공격들이 MLLM에서도 그대로 동작할까? 마음이 급한 저 같은 사람을 위해 introduction 마지막 부분에 3개의 시사점을 요약해서 언급해주었어요.
- MLLM이 어떤 LLM 기반으로 만들어졌든 상관없이 텍스트 기반의 jailbreak prompt는 MLLM에서도 잘 작동함.
- 텍스트 기반의 jailbreak prompt는 이미지에 상관없이 발생함. (즉, 이미지가 없거나, 노이즈로 구성되었거나, 무작위 자연 이미지인 경우에도 동작)
(이 부분이 제가 가장 궁금한 부분인데요. 논문도 읽어보겠지만, 제가 직접 실험을 해봐야겠죠?? 하지만, 요약 결과만 읽었을땐 의외의 결과이긴 합니다.)
- 따라서, 강건한 MLLM 모델을 위해서는 단순히 이미지뿐만 아니라 텍스트에 대한 연구도 중요함.
(텍스트에 대한 강조가 조금 더 눈에 띄는 논문인 느낌이에요.)
2 Related Works
데이터셋 위주로 논문 리뷰를 할 생각이었어서, 원래는 related works는 정리하지 않고 넘어갈까 했었는데요.
생각보다 알아두면 좋을 내용이 많아 조금 집고 넘어갈까 합니다.
2.1 Jailbreak Attacks
Jailbreak 공격은 LLM 그리고 MLLM 모델 모두에게 큰 위협입니다. 다른 논문에서 여러 차례 언급했다시피 사람이 정한 룰에서 벗어나 해로운 컨텐츠를 생성해내기 때문이죠. MLLM 분야에서 일어나는 jailbreak 공격은 크게 2가지로 나눠볼 수 있습니다. 첫째, image perturbation. 적대적 이미지를 생성하는 방식의 공격입니다. 맥락 없이 단순히 어떤 노이즈낀 이미지로 모델을 공격하는 방식입니다. 둘째, MLLM에 이미지를 통해 어떤 의미를 직접적으로 주입하는 방식입니다. (typography, text-to-image tools 등)
- FigStep attack: 특정 지시어를 나열하게끔 하는 이미지를 생성 → 모델에게 이미지 내부의 리스트를 완성하게끔해서 유해한 컨텐츠를 생성하게 함.
- Query-Relevant: 쿼리와 관련있는 이미지를 생성한 후, vision-language 모델에 safety alignment 없이 학습을 진행.
2.2 Jailbreak Benchmark for MLLMs
- SafeBench (2023): 10개의 주제와 연관된 500개의 쿼리 + 관련 jailbreak image → 별도의 논문이 아닌 FigStep에서 소개하는 데이터셋
- MM-SafetyBench (2024): 13개의 시나리오와 관련한 5,040개 텍스트-이미지 pair
- Li et al. (2024): 5개의 시나리오와 관련한 750개의 텍스트-이미지 pair → Autodan에서 소개된 데이터셋
3 The JailBreakV-28K Dataset
3.1 Overview of JailBreakV-28K
Jailbreak 취약점을 평가하기 위해서는 먼저 어떤 쿼리에 대해 어떤 답변이 나왔을 때, 이를 "유해하다"라고 표현할지에 대한 기준이 필요합니다.
저는 이렇게 얘기를 하길래, 이 논문만의 독특한 정의 방식이 있나? 하고 궁금했는데, 그건 아니고 결국 OpenAI에서 금지한 그런 조항과 비슷한 느낌입니다.
왜냐면 JailBreakV-28K 데이터셋은 처음부터 만들어졌다기 보다는 이전에 만들어진 데이터셋을 많이 참고해서 제작됐기 때문이에요.
3.2 RedTeam-2K : A Comprehensive Malicious Query Dataset
Bi-modal 데이터셋을 만들기 이전에 텍스트 기반의 데이터셋을 생성했습니다. 이름은 RedTeam-2K입니다. 그래서 해당 데이터셋은 별도의 이미지 없이 어떻게 기존의 데이터셋을 정제해서 새로운 harmful 쿼리를 생산했는지에 대한 내용으로 이루어져있습니다. 새로운 harmful 쿼리를 생산하기 위해서는 앞서 언급했듯 "어떤 답변을 유해하다"라고 할지 그 기준이 있어야 하는데요. 기준은 OpenAI나 Meta에서 지정한 safety policy와 연관이 있는 내용이에요. 아래는 Appendix에 나오는 표이고, 총 16개의 카테고리로 나눠 정의하고 있습니다.
Safety Policy Reconstruction
RedTeam-2K의 제작 과정은 아래와 같습니다.
Data cleaning procedure → LLM-based generation → Harmful queries collection
간단히 요약하자면, 이전에 공개된 세 개의 오픈 소스 데이터셋 (AdvBench, hh-rlhf, Beaver Tail)에서 기준에 맞는 데이터를 선별 후, GPT (LLM 기반)로 재작성하는 과정을 거칩니다. 하지만, 이렇게 GPT로 재생산한 데이터셋에은 몇 가지 문제가 있는데, 그 중 하나는 비슷한 말을 반복 생성한다는 것이에요. (이건 데이터를 직접 생성해 본 분들이라면 충분히 공감할 것 같습니다.) 그래서 이후에 학습된 임베딩 모델을 활용해서 쿼리간 유사도를 구하고, 특정 유사도를 넘을 경우 (너무 비슷한 쿼리), 이를 제거하고 최종 데이터셋을 생성합니다.
* LLM을 기반으로 재작성하는 과정 (위 그림에 GPT Enhancement라고 표현되어 있는 부분!)
그 다음으로는 이렇게 새롭게 생성한 데이터셋이 이전 데이터셋과는 어떻게 다른지 확인해보았습니다.
3.3 JailBreakV-28K : Attacking MLLMs with LLMs' Jailbreak Prompts
JailBreakV-28K를 만드는 효율적인 방법은 가장 효율적인 텍스트 기반의 프롬프트를 찾은 후, 그걸 이미지 데이터와 엮는 것입니다.
JailBreakV-28K를 만들기 위해 아래 4가지 공격 기법들을 적절하게 섞었습니다.
- Real-world Jailbreak Prompt Templates: 78개의 real-world 기반의 template에 Redteam의 harmful 쿼리를 적절하게 집어 넣음. (Template)
- Greedy Coordinate Gradient (GCG): harmful 쿼리 앞에 집어 넣은 suffix를 생성. 이를 Template로 사용. (Template)
- Cognitive Overload: 이 기법은 multi-lingual, veiled expression, reasoning 등을 포함. Multi-lingual을 사용하지 않음. (Logic) (Veiled expression, reasoning 등의 기법은 직접적으로 말하지 않고, 말을 숨기거나 혹은 문장의 순서를 바꿔 모델로 하여금 말을 이해하기 어렵게 만드는 기법이라고 생각합니다.) 라고 생각했었는데, 다시 읽어보니 이해하기 어렵게 만드는건 맞지만 방법이 조금 다른 것 같아요. Reasoning이 저는 추론이라고 생각하고 거기에 갇혀있었는데, 뭔가 롤플레잉에 가까운것 같기도 합니다. Jailbreak는 최신 주제라 비슷한 기법 (방법)을 사용하면서도 저자마다 본인의 공격 방식을 부르는 명칭이 조금씩 차이가 있는 것 같아요. 그래서 방법론의 이름을 외우기 보다는 '~방식으로 공격하더라' 이렇게 이해하는게 조금 더 도움이 될 것 같습니다!!
- Persuasive Adversarial Prompts (PAP): 평범한 harmful 쿼리를 40 persuasion 기법을 통해 재생성함. (Persuade)
이렇게 만들어진 prompt가 총 89,940개인데, 이를 모두 사용하는 것이 아니라 해당 prompt를 기반으로 답변을 생성한 뒤, 해당 답변이 유해한지, 아닌지를 평가합니다. 그리고 가장 유해하다고 생각되는 prompt 5,000개를 선정합니다. 다음으로는 서로 다른 4개 형태의 이미지를 각각의 prompt와 결합하여 최종 20,000개의 텍스트-이미지 데이터셋을 구축합니다. 여기에 추가적으로 MLLM attack 기법을 결합하여 8,000개의 데이터셋을 구축합니다.
4 Experiments
- JailBreakV-28K is a challenging benchmark.
ASR - 공격 성공률이 다른 논문들에 비해서는 조금 떨어지는 편인 것 같아요. 또 하나 아쉬웠던 점은 오픈 소스 모델들로만 비교를 하고 OpenAI, Anthropic, Gemini와 같은 상용 모델에 대한 실험 결과가 빠져 있다는 점이었습니다. 아무래도 상용 모델들이 좀 더 높은 방어 매커니즘을 구축하고 있기 때문에 뚫기 쉽지 않아서겠죠? (제 경험담이기도 해요..ㅎ)
- MLLMs are more vulnerable in the topics about economic harm and malware.
- The MLLMs inherit vulnerabilities from their LLM counterparts.
- Text-based jailbreak attakcs are more effective than image-based jailbreak attacks.
- Text-based jailbreak attacks are effective regardless of the image input.
본 연구에서는 이미지보다 텍스트의 중요성을 더 많이 언급하고 있어요.
하지만, 이 부분은 사실 100% 공감할 수 없는게 본 연구에서 사용한 텍스트 프롬프트의 경우, 이전에 연구된 여러가지 기법들을 총 망라한 느낌이고
이미지의 경우, 그거에 비하면 너무 단촐한 느낌이거든요.
굉장히 강력한 적대적 이미지 혹은 해석하기 어려운 이미지가 들어왔을 때도 과연 이미지가 미치는 영향이 미미할지는
추가적인 연구가 필요하지 않을까? 하는 생각이 들었습니다.
그래도 이렇게 짧은 시간 안에 28,000개의 데이터라니..?!
2년, 3년 전 제가 처음 데이터를 만들 때만 해도 시나리오 기반 데이터 구축은 엄청난 노력이 필요했는데
LLM으로 생성하고, LLM으로 평가하고 하다보니 요즘은 참 많이 편리해진 느낌이에요.
하지만, 그만큼 모든 데이터들이 비슷한 느낌을 주고 있는 것 같기도 합니다.
어떻게 하면 조금 더 기발하게 데이터를 구축할 수 있을지에 대한 고민도 계속 되어야 할 것 같아요.
전 지금 이 데이터를 요롷게 조롷게 해서 저는 상용 모델을 뚫으려고 하고 있는데요.
쉽지 않네요...ㅎㅎ (다들 공격 잘 성공한다면서요..????????)
잘 뚫리는 예시가 있으면 추가로 업데이트 해보도록 하겠습니다.
안.뚫.려