2024. 12. 26. 13:57ㆍPaper Review/Vision Language Model (VLM)
Qi, X., Huang, K., Panda, A., Henderson, P., Wang, M., & Mittal, P. (2024). Visual Adversarial Examples Jailbreak Aligned Large Language Models. Proceedings of the AAAI Conference on Artificial Intelligence, 38(19), 21527-21536. https://doi.org/10.1609/aaai.v38i19.30150
https://arxiv.org/abs/2306.13213
https://github.com/Unispac/Visual-Adversarial-Examples-Jailbreak-Large-Language-Models
사실 저는 좀도둑을 잡는게 아니예요.
경제사범을.. 잡는 역할이에요.
Vision Language Model에 대한 이해도 하기 전에 이걸 악용하는 도둑놈을 잡으라니..
정말 한 놈도 못 잡고 다 놓치게 생겼죠...?!?!?!
지피지기면 백전백승이라고, Vision 영역에서는 어떤 식으로 Jailbreak가 이뤄지는지 보기위해 해당 논문을 리뷰해보려고 합니다.
2023년도에 작성된 논문인데, 2024년도에 AAAI에 등재되었습니다. 127회 인용되었고요. 저자들은 프린스턴 출신이네요. 뭔가 고수의 향기가..
*제 글을 많이 읽으신 분들은 이제 익숙하시겠지만, 오늘도 어김없이 제 견해는 파란색으로 작성하겠습니다.
Abstract
최근 Flamingo와 GPT-4와 같이 vision과 LLM을 결합한 Visual Language Model에 대한 관심도가 높음. 본 논문의 이런 트렌드를 반영하여 vision이 결합된 모델에서의 모델 보안 및 안정성을 평가하고자 함. Vision이 결합된 모델은 공격에 대한 범위가 넓어지기 때문에 공격에 더 취약할 수 있음. 케이스 스터디를 바탕으로 어떤 경우에 safety guardrail을 우회하는지 파악함. 흥미롭게도, 단순 이미지 하나로 jailbreak를 성공하는 것을 확인함. 따라서, 본 논문에서는 multimodality 상에서 위험도가 증가함을 밝힘.
* 논문을 처음 읽었을 때, adversarial exmple에 대한 이해가 부족해서 Figure1을 살펴봤을때, 어? 대체 저 이미지로 어떻게 공격을 한다는거지? 이런 생각을 했었기 때문에, 용어 정리를 먼저하고 넘어가면 좋을 것 같아요.
- Adversarial threat (attack) / adversarial example: 그대로 직역하면, 적대적 공격(?)이라고 해석이 되는데 사실 와닿는 표현은 아닌것 같아요. 이미지의 경우, 정상적인 이미지에 일부 노이즈를 합성해서 비정상적인 - (사람의 육안으로 보면 거의 동일하지만, 모델에게는 취약할 수 있는) 이미지를 만드는 기법 또는 그럼 샘플 이미지를 의미함.
(아래 블로그를 참조하면, 여러 adversarial threat에 대한 예시가 나와있습니다.)
https://rain-bow.tistory.com/entry/Adversarial-Attack
Introduction
본 논문에서는 최근 LLM 트렌드를 반영하여, 단순 text만 처리하는 LLM이 아닌 이미지와 text를 모두 처리할 수 있는 vision LLM 환경에서의 안전성과 보장 범위를 확인하고자 함. 이미지를 input으로 결합시키게 될 경우, text만 처리할 때보다 공격 범위가 넓어지게 되므로 모델이 공격에 더 취약할 수 밖에 없음. 하지만, 굉장히 단순한 이미지 한 장만으로 이미 aligned된 모델 (즉, 유해한 컨텐츠를 생산하지 않도록 학습이 되어진)의 성능을 저하시킬 수 있는 것을 확인함. 그런 이미지를 prefix처럼 입력에 넣었을 때, 넣지 않았다면 거절할 답변도 쉽게 대답을 하는 경향을 보임. 실험은 3가지 오픈소스 모델을 활용함; MiniGPT-4, Vicuna 기반의 InstructBLIP, LLaMA-2 기반의 LLaVA. 본 논문 실험은 VLM 환경에서만 이뤄졌지만, 다른 modality에서도 비슷한 경향을 보일 것이라고 생각함 (audio, robotics 등).
Related Work
Large language models (LLMs): LLM은 GPT-3/4처럼 대규모 파라미터 위에 web 데이터를 기반으로 학습시킨 모델을 의미함. 일반적인 적은 규모의 모델과 달리 여러 테스크에서 뛰어난 성능을 보임 (task-agnostic, in-context learning, chain-of-thought reasoning). 본 논문에서는 여러 특성 중 다음 토큰을 예측하는 기능의 LLM에 초점을 맞출 예정.
Large visual language models (VLMs): VLM은 LLM 모델에 vision input이 더해져 다양한 text 기반의 output을 생산하는 모델을 의미함. VLM은 vision과 language 모듈 모두를 가지고 있으며, 먼저 이미지를 텍스트 차원의 임베딩에 더하는 작업 (encoding)을 진행하여, 추후 이미지와 텍스트에서 얻을 수 있는 모든 정보를 바탕으로 답변을 생성함. 대표적인 예시로는 OpenAI의 GPT-4, Google의 Flamingo, Bard 모델이 있음. 오픈 소스 모델로는 MiniGPT-4, InstructBLIP, LLaVA 등이 있음. 본 논문에서는 이런 modality 트렌드를 반영하여 모델들의 안전성을 확인하고자 함.
Alignment of Large Language Models: 가끔 학습되어진 LLM 모델들은 만든 사람의 의도와는 다르게 작동하는 경우가 있음. 예를 들어, 믿을 수 없는 정보, 해로운 정보, 또는 유익하지 않은 정보들을 생산하는 것. 사실 이건 language model의 1차적 목표인 다음에 올 단어로 가장 적절한 것을 예측하는 것과 이상적인 목표인 사용자의 지시를 잘 따라서 유익하고, 믿을 수 있고, 무해한 답변을 생산하는 것이 일치하지 않아 생기는 문제이기도 함. 따라서, alignment란 모델이 내가 원하는 방향으로 잘 답할 수 있도록 모델을 추가 학습하는 과정. Instruction tuning이란, 모델에게 지시를 잘 따르도록 학습하여 내가 원하는 형식의 답을 얻게 하는 과정. Reinforcement Learning from Human Feedback (RLHF)는 모델이 사람의 선호도를 기반으로 답변할 수 있도록 학습하는 과정. 실제로 이렇게 aligned된 LLM은 해로운 지시사항에 대해서는 거부하는 모습을 보임.
Adversarial examples: 의도적으로 input을 수정하여 모델로 하여금 잘못된 기능을 하도록 유도하는 것을 의미함.
1) Visual Adversarial Examples: 이미지는 굉장히 고차원은 공간에 존재하기 때문에 이런 적대적 이미지를 만들기 굉장히 쉽다고 알려져 있음 (이미지 데이터 특성 자체가 이런 적대적 예시를 만들기 쉽다는 것을 의미). 감지하기 어려운 어떤 변화를 주는 것 만으로도 이미지 분류 모델의 성능을 저하시키기에 충분함.
2) Textual Adversarial Examples: 적대적 예시는 텍스트 공간에서도 만들 수 있음. 어떤 토큰들의 조합을 통해 잘못된 답변 생성을 유도할 수 있음.
3) LLMs Jailbreaking: 이전까지의 적대적 예시가 단순히 모델의 오작동 (이미지 오분류 혹은 잘못된 답변 생성)을 유도하는 것이었다면, 본 논문에서는 aligned 모델을 전반적으로 공격할 수 있는 jailbreaking에 대해 논의함.
Adversarial Examples as Jailbreakers
* 본 논문을 읽으면, 세부 환경 및 데이터 생성 과정 등이 조금 더 자세하게 나와있지만, 해당 리뷰에서는 조금 간결하게 작성하고자 합니다. 그 이유는 해당 논문을 읽은 목적 자체가 VLM 환경에서 jailbreak가 어떻게 작동하는지 궁금해서이기도 하고, 이 논문은 나온지 1년이라는 시간이 지났기 때문에 실상 현재 모델에서는 같은 방법으로는 jailbreak할 가능성이 낮다고 판단하기 때문입니다.
(결국 제가 하고자하는 말은? 만약 설명이 부족하다고 느껴지신다면 본문을 읽기를 적극 권장 드려요!)
먼저, 작은 유해 데이터를 바탕으로 높은 확률로 유해 컨텐츠를 생성할 수 있는 데이터를 구축. 여기서 small corpus of harmful content란 어기지 말아야 할 규칙을 위배한 66개의 샘플 문장을 의미함. 본 논문에서는 VLM 환경에 포커스를 맞췄기 때문에 적대적 샘플 역시 vision과 text를 모두 취급함. Visual attack은 Projected Gradient Descent (PGD) 방식을 활용하여 구축. 랜덤 노이즈에서 부터 시작하여 이미지를 구축하기도 하고, 원래는 멀쩡했던 이미지에 노이즈를 추가하기도 함. 텍스트도 마찬가지로 적대적 샘플 예시를 최대화할 수 있도록 토큰을 변경하여 구축.
간결하게 표현하자면, 텍스트와 이미지 모두 어떤 모델에 넣었을 때, 적대적 샘플을 최대한의 확률로 생산할 수 있도록 모델을 학습시켜 샘플을 구축한다는 것으로 받아들였는데, 구체적인 예시가 없어서 그런지 와닿지 않는 것 같았습니다. 특히, 이미지와 같은 방법으로 텍스트 데이터를 구축했다는 점에서 일부 토큰을 랜덤하게 변경한 것인지 무엇인지 조금 알기 어려운 것 같아요.
Evaluating Our Attacks
실험을 위해서 VLM 모델을 활용함. MiniGPT-4와 InstructBLIP을 사용하였는데, 모두 Vicuna LLM 모델을 백본으로 활용한 모델임. 추가로, LLaMA-2 기반의 VLM인 LLaVA도 활용함. Visaul adversarial examples (시각적 적대적 샘플)의 효과성을 검증하기 위해 40개의 유해한 지시사항과 해당 이미지들을 결합함 (적대적 이미지 + 유해한 쿼리). 유해한 지시사항들은 명확하게 어긋난 대답을 하도록 작성되어진 쿼리라고 볼 수 있음 (4가지 카테고리 - identity attack, disinformation, violence/crime, and malicious behaviors). Figure1에 대표적인 2가지 예시가 나와있음. 평가를 위해 어떤 prompt가 jailbreak하는지 MiniGPT-4에 넣고 일일히 확인함. 실제로 유해한 컨텐츠 및 내용을 생성했을 때, 공격에 성공했다고 판단함. Table1을 보면, 적대적 샘플의 이미지를 사용했을때, 그렇지 않았을 때에 비해 전반적으로 공격 성공률이 올라간 것을 확인함.
추가로, 다른 benchmark (RealToxicityPrompt)에서도 동일한 성능 평가를 진행함. 해당 데이터셋 내 1,225개 toxic한 text기반 prompt를 활용함. 이전 테스트셋과 같은 방식으로 1,225개의 prompt와 (본 논문에서 만든) 적재적 이미지를 결합하여 데이터를 준비하고 Perspective API와 Detoxify 분류기를 활용하여 테스트를 진행. 결과적으로 이미지를 결합한 공격이 단순 text만 활용한 공격에 비해 공격 성공률이 높음.
Analyzing Defenses
현상황에서 이런 공격을 막을 수 있는 모델에 대해 조사함. Input 데이터를 전처리하는 방식이 현재 모델에 바로 적용이 가능함. 대표적인 예로 DiffPure 모델이 있음. 해당 모델은 이미지를 다시 원상태로 복귀시키는 작업을 진행함. 하지만, 이 방식이 조금 더 복잡한 구조에서도 잘 작동할 수 있을지는 추가적인 실험이 필요함. 또 다른 대안으로는 Perspective API나 Moderation API와 같이 들어온 input에 대해 해당 input이 유해한지, 아닌지 검출하는 모델이 있음. 하지만, 그런 모델들 역시 정확도에 한계가 있음. 만약 잘못 분류할 경우, 여전히 유해한 컨텐츠를 생산할 우려가 있음. 모델의 output을 다른 LLM 모델을 통해 사후처리하는 방식 (post-processing)도 있음. 하지만, 이런 사후처리 모델은 offline 모델에는 적용이 불가능하다는 단점이 있음.
Discussions & Conclusion
현재는 vision+text에만 집중했지만, 다른 modality로의 확장성도 생각해 볼 필요가 있음. 역시나 현재 실험한 모델들 외의 모델들도 함께 고려할 필요가 있음.
본 논문을 실험을 통해 vision이 더해졌을 때, LLM의 안전성을 위협하는 요소가 더 커진다는 것을 밝혀냄. 앞으로 AI alignmemnt에서 이런 관점 (multi-modality 상에서 발생한는 jailbreak)을 계속해서 연구할 필요가 있음.
(형식면에서 느낀점)
이번 논문은 뭔가 읽을때, 계속 삐그덕 삐그덕 거리는 느낌이 많았던 논문입니다.
쉬이 읽혀지는 글이 아니었다고 할까요?
공격 성공률과 같은 정량적인 지표 보다도 실제 사용했던 예시, 답변 (?) 이런 실질적인 요소들이
Appendix나 부가 자료가 아닌 본문에 나와있어도 좋을 것 같다는 생각이 들었어요!
(내용면에서 느낀점)
사실 이번 vision 공격은 신기했던게 text와 직접적으로 연관 있는게 아닌,
vision 자체가 adversarial attack example이 되어 prefix 형식으로 들어갔다는 점이었습니다.
특정 도메인과 관련이 없기 때문에 더 general한 공격이 가능하고,
이런 단순 공격만으로도 모델에 혼란을 야기한다는 것이 신기한 점이에요.
하지만, 지금의 VLM은 이런 단순 공격에는 강한 defense 비율을 보이지 않을까요??
더 많은 공격 양상을 찾아봐야 알 것 같아요.
여러분..
조금만...
천천히....
탈옥해주시면....
안될까요...?