포스팅 개요
본 포스팅은 ChatGPT와 같은 LLM 모델들에 대한 보안 문제, 구체적으로 탈옥(Jailbreak) 문제를 다룬 논문인 Constitutional Classifiers: Defending against Universal Jailbreaks across Thousands of Hours of Red Teaming 논문을 리뷰하는 포스팅입니다. 본 논문은 클로드(Claude) 계열의 모델(Claude Sonnect, Haiku 등)을 만든 회사인 앤트로픽(Anthropic)의 Safeguards Research Team에서 작성한 논문입니다. 본 논문은 LLM의 취약점 중 하나인 Jailbreak 공격에 대해서 어떻게 대응하고 방어할 지 연구하였으며 Red Team을 활용해 3,000시간 이상의 테스트(공격)에서 효과적으로 차단하는 성과를 거두었습니다.
어떻게 이 방법을 구성했을까요? 본 포스팅에서는 해당 논문에 대한 자세한 리뷰를 진행하도록 하겠습니다.
포스팅 본문
포스팅 개요에서도 언급하였듯, 본 포스팅은 LLM에서 이슈가 발생할 수 있는 보안 문제를 해결하도록 연구한 논문입니다. 원 논문은 내용이 굉장히 길고 방대하기 때문에 본 포스팅에서는 핵심적인 것만 집고 넘어가도록 하겠습니다.
긴 내용을 보기 힘드신 분들은, 아래 '요약' 파트와 '1. 핵심 수행 내용과 연구 내용'을 참고하시길 바랍니다.
핵심 요약
최근 대규모 언어 모델(Large Language Model, LLM)이 다양한 분야에서 활용되면서, AI 모델의 보안 취약점과 그에 따른 위험성도 점점 더 중요하게 다뤄지고 있습니다. 특히, AI 모델을 악용하는 방법 중 하나로 Universal Jailbreak(한국말로 하면, 보편적 탈옥..?)가 있는데요. 이는 특정한 프롬프트 기법을 사용해서 AI 모델의 보안 필터를 체계적으로 우회하고, 불법적인 활동을 수행할 수 있도록 정보를 제공하는 공격 방법입니다. 예를 들어서, 불법 물질의 대량 제조와 같은 복잡한 과정을 안내하도록 LLM의 응답을 유도하는 방식이죠.
이러한 보안 위협을 방어하기 위해, 앤트로픽(Anthropic)은 Constituional Classifiers라는 보호 방법을 본 논문에서 제안하였습니다. 이는 허용된 콘텐츠와 제한된 콘텐츠를 정의하는 자연어 규칙(Constituion, 헌법)을 기반으로 LLM을 활용해 Synthetic data(합성 데이터)를 생성하고 이를 학습시켜 만들어진 보안 필터라고 볼 수 있습니다.
본 연구에서는 Universal Jailbreak가 AI 보안을 얼마나 효과적으로 우회할 수 있는지를 평가했는데요. 3,000시간이 넘는 시간동안 Red teaming을 수행하면서 연구를 통해 구축한 보안 필터가 얼마나 효과적으로 차단할 수 있는지를 평가했습니다. 연구 결과, Constituional Classifiers가 적용된 모델은 대부분의 Query에 대해 보안이 적용되지 않은 모델(Unsafe guarded model, Helpful-only model)과 유사한 수준의 정보를 제공하는 Universal Jailbreak를 허용하지 않았습니다. 즉, 어떤 Red team도 보안을 일관되게 우회할 수 있는 Universal Jailbreak을 발견하는 업무를 수행하는데 실패했습니다. 간단히 말하면, 모든 보안에 이슈가 되는 것들을 차단할 수 있었다는 것입니다.
이러한 classifier는 실제 프로덕션 트래픽(production-traffic)에서 거부(refusal)가 0.38% 증가했습니다 즉, 보안이 강화되었음에도 모델의 유용성에 미치는 영향력은 미미한 것이죠. 또한, 모델의 추론 속도(inference overhead)는 23.7% 증가했습니다. 이는 보안 필터가 적용된만큼 계산량이 증가했음을 의미하지만, 여전히 실질적인 배포 가능성을 유지(practical deployment viability)하는 것을 보여준다고 저자들은 말합니다.
1. 핵심 수행 내용과 연구 내용
잠깐! 본 논문에서 나오는 핵심 수행 내용에 따른, 기술 용어를 먼저 정리하고 진행해봅시다.
기술 용어 | 설명 |
Universal Jailbreak | 우리나라 말로 하면 보편적 탈옥이라는 용어입니다. Universal Jailbreak는 특정 프롬프트나 기법에 의존하지 않고도 대부분의 질의에서 높은 확률로 모델의 보안 장치를 무력화 할 수 있는 방법을 의미합니다. 즉, LLM의 보안 필터를 우회해서 금지된 정보를 제공하도록 유도하는 방법이죠. 이러한 Universal Jailbreak를 허용한다는 것은 보안에 치명적인 문제가 발생할 수 있다는 것을 의미합니다. |
Without Safeguard model | 세 개 다 비슷한 용어로 사용되는데요. 보안 장치가 없는 모델이라고 이해하시면 됩니다. 즉, 방어 기법이 적용되지 않은 모델인 것이죠. 사용자의 질문에 대해 최대한 도움이 되는 정보를 제공하는 모델이며, 본 연구에서는 이를 기준으로 삼아 보안이 적용된 AI 모델이 얼마나 금지된 정보를 효과적으로 차단하는지 비교합니다. 만약, 실험에서 Helpful-only model과 유사한 점수를 받았다는 것은, 유사한 수준의 정보를 제공해주었다는 것이고 이는 Jailbreak가 성공했다는 것을 의미하는 것이죠. |
Unrestrict model | |
Helpful-only model | |
Linear Value Head | 모델이 특정 문장의 유해성 점수(Harmfulness score)를 예측하는 신경망 구조입니다. 다음 문장을 예측하는 LLM과 다르게 문장의 위험성을 판별하죠. 이때, T=10이라는 것은, T=10 토큰 길이의 문장을 가지고 위험성을 예측하는 것입니다. 10개만 보고도 즉시 차단할 수 있는 그런 구조인 것입니다. |
Rubric 점수 | 학습자의 과제 수행을 평가하기 위한 기준을 정한 표. 즉, 평가를 위한 기준 집합(채점 기준)이라고 보시면 됩니다. Jailbreak된 모델의 응답이 이 Rubric과 얼마나 유사한지를 평가 기준으로 삼습니다. 예를 들어서, Rubric 점수가 33%라면 일부 정보를 포함하지만, Jailbreak 성공률이 낮다. 60% 이상이면 가능성이 있다 등으로 평가합니다. 이때, 비교를 하는 것은 Helpful-only model과 거의 비슷한 수준의 정보를 제공하면 Jailbreak가 성공되었다고 간주하는 것입니다. |
Constitution 기반의 데이터 학습 | 이 데이터는 필터링 룰이 아니라, LLM이 이해할 수 있도록 정의된 규칙 집합입니다. 예를 들어서, "1. 대량 살상무기 제조법을 제공하지 않는다"와 같은 형태로 규칙 집합이 정의된 것이죠. 이를 바탕으로 합성 데이터(Synthetic data)를 생성하고 LLM을 이용해 다양한 질문과 응답을 생성하게 됩니다. 이 생성된 내용을 헌법(Constitution)에 따라 분류해 금지된 내용과 허용된 내용을 구분해서 Classifier를 학습시키는 것입니다. |
Constitutional classifier | 이 방법이 논문에서 저자들이 제안한 분류기입니다. 적용된 모델이 방어 체계가 적용된 모델이라고 볼 수 있습니다. 2개의 Classifier가 있습니다. - Input Classifier: 사용자가 LLM에게 보낼 질문을 사전에 감지해서, LLM에 가기 전에 미리 차단 - Output Classifier: LLM이 생성한 응답을 실시간으로 모니터링하면서, 위험한 정보가 있으면 출력을 차단 |
본 연구에서 제안하는 핵심 수행 연구는 Figure 1과 같습니다. 이를 위해서 Constituional Classifier 기반의 보안 필터를 설계를 했는데요. 각 과정에 대해서 단계별로 설명을 하자면 아래와 같습니다.
1. Constitution 기반의 데이터를 활용해서 합성 데이터(Synthetic Data)를 만들어두었습니다.
2. 이를 활용해 Input classifier와 Output classifier 모델을 훈련하여 만들어두었습니다. Input Classifier는 Claude 3.5 Sonnet을 활용해서 Fine-tuning을 진행했으며, Next Token Prediction 방법으로 모델 훈련을 진행했다고 하며, 사용자의 입력이 위험을 포함하는지 여부를 훈련한 것이죠. Output Classifier는 LLM의 응답이 유해한지 실시간으로 감지할 수 있도록 훈련되었다고 합니다. 마찬가지로 Claude 3.5 Sonnect을 활용해 Fine-tuning을 진행했으며 이때 Linear Value Head 방식과 Cumulative-maximum 방식의 장점을 결합하여 학습했다고 합니다.
3. 사용자의 입력 Query가 들어오게 되면 먼저 Constitutional Input Classifier가 사용자 입력 데이터에서 먼저 사전 필터링을 수행합니다. Jailbreak 공격 가능성이 있는 것을 사전에 차단하는 것이죠.
4. Constitutional 만약 유해한 정보가 없다면 작업을 수행하게 되며, LLM이 응답을 생성합니다.
5. LLM이 어떤 결과를 출력하게 될 때, 이 출력하는 과정에서 Constitutional Output Classifier가 실시간으로 LLM이 생성한 응답이 금지된 정보를 포함하는지를 분석하게 됩니다.
6. 이상이 없다면 응답을 제공한다.
앤트로픽(Anthropic)이 제안한 Constituional Classifiers는 이와 같은 과정을 제안하는 것입니다.
이제 다음 파트부터 상세한 내용을 리뷰해보겠습니다. 논문이 방대하기 때문에 핵심적인 내용을 위주로 리뷰하겠습니다. 만약, 긴 글이 부담스러우신 독자 분들은 여기까지만 보셔도 됩니다. 또한, 본 포스팅에서도 핵심적인 내용을 위주로 리뷰하였기 때문에 상세한 내용은 논문을 꼭 살펴보시길 권장드립니다.
2. Problem Formulation: Robust and Pratically Viable Defenses Against Universal Jailbreaks
2장에서는 Universal Jailbreak에 대한 문제 정의(Problem Formulation)와 이를 방어하기 위한 보안 시스템이 충족해야 할 핵심 요구 사항(Desideratum)을 설명하고 있습니다.
요구 사항(Desideratum)-1(Robustness to universal jailbreaks).
AI 모델이 발전하면서, 과학적으로 정교한 지식을 제공할 수 있는 능력이 강화되었습니다. 이는 다양한 분야에서 긍정적인 영향을 미칠 수 있지만, 동시에 악의적인 사용 가능성(dual-use risk)도 존재하게 됩니다. 특히, 과거에 Anthropic과 OpenAI 연구에서는 LLM과 같은 AI 모델이 비전문가(non-expert)에게도 위험한 CBRN(Chemical, Biological, Radiological, Nuclear) 정보를 제공할 가능성이 있다는 점을 우려했었다고 합니다. 그렇기에 Universal Jailbreak를 방어하는 것은 AI가 실제 환경에서 악용되지 않도록 하는 핵심 과제인 것입니다.
Universal Jailbreak에 대한 설명은 본 파트에서 나오지만, 제 포스팅에서는 위의 기술 용어 설명에서 설명하였으니, 간단히 설명하고 넘어가겠습니다. Universal Jailbreak라는 것은 특정 프롬프트 기법을 통해서 대부분의 보안 필터를 우회할 수 있는 방법을 말합니다. 이런 공격이 성공하면 AI 모델이 사실상 Unrestricted(보안 필터가 없는) 상태가 되어 버리는 것입니다. 이러한 Universal Jailbreak이 비전문가에게 위험한 이유는 비전문가도 복잡한 과학적, 기술적 과정을 수행할 수 있게 도와줄 수 있다는 점인데요. 논문에서는 AI가 비전문가를 전문가처럼 갖추게 만들려면 다음과 같은 조건이 충족되어야 한다고 합니다.
1) 비전문가도 신뢰할 수 있는 정확한 정보를 쉽게 얻을 수 있다는 점입니다. 비전문가는 일반적으로 과학적 정보를 전문가보다 검증할 능력이 부족하기에, AI가 제공하는 정보가 사실인지 여부를 판단하지 못하고 그대로 실행할 가능성이 있습니다.
2) 하나의 공격 기법이 대부분의 질문을 처리할 수 있습니다. Universal Jailbreak은 단순히 특정 문장 하나가 아니라, 다양한 방식으로 보안 필터를 지속적으로 우회할 수 있습니다. 즉, 한두개의 질문에만 답하는 것이 아니라, 위협 행위를 실행하기 위해 다양한 질문에 대해 연속적이고 일관된 도움을 줄 수 있다는 것입니다.
3) LLM은 일반적인 지식보다, 매우 구체적이고 정확한 정보를 제공합니다.
따라서, universal jailbreaks를 방지하면, CBRN 위험이 실질적으로 커지기 전에, 이에 대한 위험성을 크게 줄일 수 있다고 저자들은 말합니다. 왜냐하면 LLM이 탈옥되면 비전문가도 전문가 수준의 정보를 쉽게 얻을 수 있고 이것은 위험성이 커지기 때문이죠. 비전문가가 전문가처럼 행동할 수 있게 되고 AI의 도움으로 원래 할 수 없었던 과학적, 기술적 절차를 수행할 가능성이 있게 되는 것입니다. 또한, 한두 개의 정보를 제공하는것이 아니라, 전체 과정에서 지속적으로 가이드를 해준다면 더 위험해지게 되겠죠. 그리고 일반적인 지식보다 구체적인 지식을 제공한다면 비전문가가 실제로 기술적 절차를 수해아는데 필요한 수준의 지침을 제공할 수 있게 됩니다. 그렇기에 Universal Jailbreak을 방지하는 게 중요한 것입니다.
요구 사항(Desideratum)-2(Practical deployment viability).
AI의 보안장치(Safeguard)가 실제 서비스에 적용될 때 현실적으로 실행 가능해야 한다는 것입니다. 아무리 강력해도 실제 운영 환경에서 너무 많은 자원(resource)를 소모하거나, 성능을 저하시킨다면 의미가 없겠죠. 이에, (a) 합리적인 연산 비용(Inference overhead)과 지연 시간(Latency)을 유지하며 운영 환경에서 비용 효율적이어야 한다는 것을 언급합니다. 또한, (b) 첫 번째 토큰 응답 속도(time to first token)와 스트리밍 기능(streaming capabilities)을 유지하여 사용자 경험을 보장해야 한다는 것 그리고 (c) False positive 를 최소화해서 정당한 사용자의 불편을 방지해야 한다는 것을 의미합니다.
(False Positive는 실제로는 안전한 data를 잘못된 판단으로 '위험'이라고 판단해 차단하는 것이며 즉, 위험하지 않은 요청을 잘못 차단하는 경우를 의미합니다.)
요구 사항(Desideratum)-3(flexibility).
변화하는 환경에 맞춰 적응할 수 있어야합니다. Safeguard는 변화하는 위험 영역에 적응할 수 있을만큼 유연(Flexbility)해야 합니다. 새로운 기술과 위협이 계속 등장하기 때문에 AI의 보안 장치도 지속적으로 발전할 수 있어야 한다는 것이죠. 공격자들이 점점 더 정교한 기법을 개발할수록, 시스템은 새로운 공격 패턴에 대한 방어 기능을 포함할 수 있어야 합니다.
3. Constitutional Classifiers
저자들은 universal jailbreaks에 실용적인 방어 시스템을 개발하기 위해서 constitution-guided한 합성 데이터(synthetic data)로 classifier를 훈련합니다. 이러한 classifier를 활용해서 safeguard를 훈련해 jailbreak를 탐지하고 차단하는 것이죠.
이렇게 헌법(Constitution) 접근 방식은 해로운 콘텐츠와 허용 가능한 콘텐츠의 범위를 유연하게(flexibility) 정의할 수 있도록 하고, 새로운 위협이 등장할 때마다 safeguard를 업데이트 할 수 있을 뿐만 아니라, 대량의 훈련 데이터를 생성하는데에도 도움이 된다고 저자들은 말합니다. robustness를 유지하면서도 fase positive를 최소화 하기 위해, data-augmentation 기법을 활용해서 정상적인 입력출력 데이터를 대량으로 사용한다고 합니다.
3.1 Specifying a constituion
저자들의 접근법은 헌법(constitution, 자연어로 정의된 규칙의 집합)을 사용하여 허용된 콘텐츠와 제한된 콘텐츠의 범주를 정의합니다. 이는 테이블 1과 같은데요.
이렇게 허용된 헌법(constitution)과 아닌 것을 구분해놓는 것입니다. 또한, over-refusal(AI 모델이 정상적인 질문까지도 거부하는 현상)을 방지하기 위해 허용된 콘텐츠의 범주를 명확히 정의한다고 합니다.
그리고 이렇게 constitution이 자연어로 작성되었기 때문에, 새로운 위협 모델이나 방법이 등장할 때마다 콘텐츠 범주를 업데이트하여 이를 조정하고 개선할 수 있다고 저자들은 말합니다. 마지막으로 이렇게 생성된 라벨링된 데이터는 다양한 보안 시스템을 훈련하는데 사용할 수 있다고도 말하면서 해로운 콘텐츠와 해롭지 않은 것을 명확히 구분함으로써 더 정교한 훈련 데이터를 생성할 수 있다고, 이를 통해 classifier가 적절한 기준을 학습하는데 도움이 된다고 저자들은 말합니다.
3.2 Generating synthetic data
저자들은 classifier를 만드는데, 이는 fine-tuned LLM입니다. 이를 통해서 시스템의 취약점을 체계적으로 해결할 수 있고 LLM을 분류 작업에 특화시킴으로써 연산 비용(computational overhead)를 줄일 수 있다고 저자들은 말합니다. 따라서, 이를 위해 synthetic data를 생성하게 되는데요. 여기서는 2가지 stage가 있습니다.
Stage-1: Constitution-based synthetic-data generation 스테이지로, helpful-only 모델을 사용하여 constitution 마테고리 전반에 걸친 질문을 생성하도록 합니다. 그 다음, helpful-only 모델을 사용해 생성된 질문에 대해 해로운 답변(출력)과 무해한 출력(harmless)을 각각 생성하도록 합니다. 그 이후, 프롬프트 기반 언어 모델(prompted language model)을 사용해서 생성된 입력 및 울력에서 의도하지 않은 거부(inadvertent refusals)를 제거합니다. 즉, 불필요하게 질문을 거부하는 경우를 방지하기 위해 필터링을 수행하는 것입니다.
Stage-2: Data augmentation 스테이지로, 합성 데이터의 다양성과 적용 범위를 확장하기 위해 이 스테이지를 적용했다고 합니다. 다양한 변형(transformation)은 의미를 유지하면서 입력과 출력의 다양성을 확장하며, 여러 언어(multiple linguistic)에 대한 확장도 있습니다. 여기에서는 번역, LLM 기반의 의역(paraphrasing), 시스템 프롬프트 variation, 다양한 jailbreaking 기법 등이 있다고 합니다.
3.3 Automated red teaming
저자들은 자동화된 레드팀에 대해서 소개하는데요. Red Teaming은 보안 시스템의 취약점을 찾기 위해 공격 시뮬레이션 등을 수행하는 팀입니다. 저자들이 말하는 Automated Read Teaming은 AI 모델을 활용해 자동으로 공격을 생성하는 것인데요. helpful-only 모델에 알려진 탈옥 기법을 설명하고, 새로운 공격을 생성하도록 요청하는 것입니다. 이미 차단된 질문을 기반으로 보안 시스템을 우회할 수 있는 새로운 패턴을 만들어내는 것입니다. 이때 Multi-turn 방식이나, Long-context 공격까지 생성해서 우회할 수 있는 질문을 더욱 정교하게 만들어둡니다.
3.4 Training classifiers
여기서는 저자들이 제안하는 classifier에 대해서 상세하게 설명이 나옵니다. Input Classifier와 Output classifier로 나뉘어진 방법에 대해서 각각 설명하는데요.
Input Classifier: 입력 분류 작업은 다음 토큰 예측 문제(Next token prediction problem)으로 설정하고 이를 수행하도록 Language 모델을 미세 조정(Fine-tuning) 학습시킵니다. 입력 질문을 해당 작업을 수행하는 템플릿(Template) 형태로 감싸서 처리하도록 합니다. 또한, 데이터는 constitution을 활용한 synthetic data를 활용해서 훈련을 진행하고 암호화된 질문이나 모호한 표현을 사용한 공격도 탐지하고 차단하도록 훈련을 진행했다고 합니다. 또한, 위에서 한 번 언급한것과 같이 False Positive 비율을 줄이기 위해서 무해한 질문 데이터도 포함시켰다고 합니다.
Output Classifier: 출력 스트리밍 기능을 유지하면서 보안 문제를 차단하는 방법을 제안합니다. 즉, 실시간으로 문장을 출력하면서도 위험한 내용이 탐지되면 즉시 차단하는 것이죠. 저자들은 이 방법은 latency가 중요한 application에서 특히 중요하다고 말합니다. 이를 달성하기 위해서 Linear Value Head를 갖춘 Language model을 fine-tuninig하여 길이 T인 전체 토큰 시퀀스의 유해성을 \(\tilde{T} \leq T\)인 prefix 시퀀스를 기반으로 예측하도록 수행합니다(Figure 2를 참고). 즉, 문장을 생성하면서 앞부분만 보고 전체 문장이 유해할 가능성이 있는지 판단하는 것이죠. 만약, classifier가 특정 토큰에 대해 예측한 점수가 threshold를 초과하면, 출력을 차단하고 스트리밍을 중단시키게 됩니다. 저자들은 이 방법을 사용하면 샘플링 및 토큰 단위 예측 동안 중간 활성화(intermediate activation)를 캐시할 수 있으며, 스트리밍 분류(Streaming classification)에 효과적인 접근법이 된다고 합니다.
구체적으로 모델이 \( p(y = 1 | t_1:T' ) \) 를 학습하도록 훈련하는데, 이는 전체 문장의 유해성을 접두 시퀀스(prefix) \( t_1:T' \)를 기반으로 예측하도록 합니다(\( T' \leq T \)). 이것의 의미는 전체 문장을 보고 예측하는 것이 아니라, 앞부분 \( T' \)까지만 보고 위험성을 판단하고, 유해해질 가능성이 있다면 미리 차단할 수 있도록 학습하는 것입니다. 이를 위해 논문에서는 아래와 같은 loss 함수를 최적화하다고 합니다.
첫 번째 항인 \( L_{NTP} (t_1:T ) \)은 Next token prediction loss로서, 다음 단어의 예측에 대한 손실입니다. LLM이 문장의 자연스러운 흐름을 유지하면서 텍스트를 예측하도록 하기 위함입니다. 두 번째 항인 \( \sum_{T' = 1}^{T} L_{\text{BCE}} (y, p(y = 1 | t_1:T') \)은 binar cross entropy loss로서 유해성을 예측하는 과정을 수행하게 됩니다.
이때, 저자들은 아래와 같이 유해성을 예측하는 방식에는 2가지 방법이 있다고 하는데요.
첫 번째로는 각 토큰별 확률을 사용해 전체 문장이 유해한지를 판별하는 것이고, 두 번째는 누적 최대값(cumulatvie-maximum)을 사용해 문장이 유해한지 예측하는 것입니다. 논문에서는 두 방법을 적절히 혼합해서 최적화하였으며, 학습 과정에서 선형 보간(linear interpolation)하도록 합니다. 초기에는 1번 방법을 사용하다가 점차 2번 방법으로 적용하는 것이죠.
4. Constitutional classifiers defend against universal jailbreaks across thousands of hours of human red teaming
이번 장에서부터는 저자들이 제안한 Constitutional classifier가 얼마나 실제 공격에서도 잘 동작하는지 평가한 결과를 설명합니다.
4.1 Methods
먼저 방법론입니다. 여기서는 Red team을 구성하는 것, jailbreak가 성공했다는 것을 평가하는 것, Read teaming task 등의 설명이 있습니다.
Jailbreak가 성공했다는 것은 LLM 기반 루브릭 평가 시스템(rubric-grading pipleline)을 구현해 사용했다고 합니다. 이를 위해서 먼저, 보안 필터가 없는 helpful-only 모델을 사용해 금지된 질문에 대한 AI 응답을 사용해 기준 데이터를 만들었고, jailbreak된 응답을 평가하기 위해 LLM을 사용한 평가 시스템(LLM Grader)으로 루브릭과 비교하여 위험한 정보가 포함된 정도를 점수화했다고 합니다. 그런다음 이 점수를 helpful-only 모델의 평균 점수와 비교해 Jailbreak 효과를 평가했다고 합니다. Figure 3는 그 과정을 보여주는 예시입니다.
그 외에, Read teaming에게 상금을 지불했고, 이들의 투입한 총 시간(Estimating red-teaming effort), 얼마나 투입했고, 어떻게 모집했는지에 대한 이야기도 있지만 지면상 내용을 생략합니다. 자세한 내용은 논문을 참고해주세요.
4.2 Results
저자들은 4.2절에 결과를 작성해놨습니다. 결과는 다음과 같습니다.
[1] 레드팀은 다양한 공격 전략을 채택하였음: 참가자들은 다양한 기법을 활용해서 Jailbreak를 시도했으며, role-playing, multi-turn등이 그 예시입니다. 그리고 텍스트-이미지 변환과 같은 방법도 시도했다고 하네요.
[2] 레드팀 테스트에서 완전한 성공을 거둔 사례는 없음: 113개의 Jailbreak 보고서 중, helpful-only 모델이 제공한 정보의 절반 이상을 포함하면서(이렇게 수행한 이유는 4.1과 같이 helpful-only 모델을 이용해 먼저 답을 구성하고 이와 비교하는 것이기 때문), 10개 질문 모두에 성공적으로 답변한 사례는 없었다고 합니다. 그래도 9개 정도는 50% 기준에서 6개 이상의 질문에 실질적인 답변을 제공했지만, helpful-only 모델과 응답의 세부 사항이 완전히 일치하는 엄격한 기준을 적용했을 때, 5개 이상의 질문을 성공적으로 답변한 보고서는 없었다고 합니다. 즉, 저자들이 제안한 방법이 매우 효과적이었다는 것이죠!
[3] 가장 성공적인 레드팀 참가자도, 제한적인 결과만 얻었음: 모든 보고서를 종합적으로 분석했을 때, 가장 성공적인 레드팀 조차도 제한적인 결과를 얻었다고 합니다. 특히, 더 엄격한 기준(Helpful-only모델 수준의 세부 정보를 포함하는 답변을 요구)을 적용했을 때, 가장 성공적인 레드팀 참가자조차도 10개 질문 중 6개에만 답변할 수 있었다고 하네요. 이러한 결과를 저자들이 제안한 방법이 Universal jailbreak에 대해 강력한 보안성을 가지고 있다는 것을 입증한다고 저자들은 말합니다.
[4] 어떤 질문들은 다른 질문들보다 jailbreak하기 어려움: 가장 쉬운 것은 30개 이상의 보고서에서 탈옥이 성공되었고, 어려운 것은 4개의 보고서에서만 jailbreak가 성공하였다고 합니다. 즉, 질문 내용에 따라 보안 시스템이 더 강하게 작용할 수도 있는 것이죠. 이러한 결과는 보안 테스트에서 질문을 어떻게 구성하느냐가 중요해지는 것입니다. 따라서, 저자들은 의미 있는 평가를 위해 실제 위협 모델과 밀접하게 연관된 질문을 선택할 것을 권장한다고 합니다.
[5] 레드팀 참가자들은 루브릭 평가 방식을 악용하려고 했음: 레드팀 참가자들은 방어 체계를 우회하기 보다, 루브릭 평가 방식을 악용하려고 했다고 합니다. 즉, 보안 시스템 자체를 뚫는다기보다 평가 시스템의 허점을 이용하기도 한 것이죠. 그리고 여기서 Jailbreak가 성공한 주요한 두 가지 성공 전략이 확인되었다고 하는데요. 무해한 표현으로 바꾸는 방식(benign paraphrasing)과 length exploitation이라고 합니다. 여기서 무해한 표현으로 바꾸는 것이란, 유해한 질문인데 겉보기에는 무해해 보이도록 하는 것이라고 합니다. 또한, 길이를 활용하는 것은 LLM이 긴 출력을 생성하도록 해서 유해한 내용이라기보단 전체적인 양(volumn)으로 높은 점수를 얻는 방식입니다. 그럼에도 universal jailbreak는 대부분 효과적이지 못했다고 하죠.
[6] real-world 활용 가능성: 복잡한 과정을 N개의 연속적인 단계로 단순화하여 분석하였다고 합니다. 그리고 제안한 방법이 여러 단계의 과정을 필요로 하는 작업에서 악용의 가능성을 감소시킬 수 있음을 보았다고 저자들은 말합니다.
[7] 한계: universal jailbreak의 가능성을 입증했으나, 강력한 보안성을 우선시한 결과 refusal rate가 너무 높았다고 합니다. 또한, 여전히 일부 취약점이 발견되었기도 하였구요. 그리고 저자들은 red-team 참가자들이 실제 모든 공격자를 대표할 수 없다는 것도 한계라고 지적하면서 jailbreak 기법이 발전함에 따라, 새로운 전략이 등장할 수 있을 것이라고 언급하였습니다.
5. Constitutional classifiers are flexible and practically viable defenses
저자들은 논문의 5장에서 constitutional classifier는 유연성(flexible)과 배포 가능성(deployment viability)이 있다고 이를 입증하는 과정을 수행합니다. 결과적으로 저자들은 강한 보안성(strong robustness)를 제공하면서도 연산 비용(inference overhead)과 과도한 거부(over-refusals)를 제한한다고 합니다.
5-1. Methodology
논문에서는 Constituional classifier의 flexible과 deployment viability를 실험하기 위해서 (1) Enhanced classifier methodology, (2) Jailbreak-attempts dataset, (3) Grading model responses, (4) Over-refusal datasets, (5) Setting classification threshold, (6) Estimating inference costs을 수행합니다. harmless한 질문을 정의하는 constitution을 확장하거나, data augumentation을 수행하고 이때 Claude 3.5 Haiku를 사용해 연산 비용을 줄이는 등 시도를 한 내용이 나와있습니다.
본 포스팅에서는 5-2절에 집중하기 위해 5-1은 넘어가겠습니다. 궁금하신 분들은 논문을 참고해주세요.
5-2. Result
논문의 5.2절에서는 실험 결과를 제공합니다. 저자들은 가장 널리 사용되는 배포 시나리오는 harmlessness training을 적용한 unguarded instance인 Claude 3.5 Sonnet 모델이라고 말합니다. 또한, Claude 3.5 sonnet을 기반으로 세 가지 프롬프트 분류기 변형(variants of prompted classifier)도 실험에 포함시켰다고 하며, 세 가지는 (1) Zero-shot prompting, (2) Chain of Thought, (3) 32-shot prompting 입니다.
[1] Constitutional classifiers substantially enhance robustness while preserving model utility
소제목에도 나와있지만, 이 실험의 결과는 모델의 유용성을 유지하면서도 보안성(강건성, robustness)를 크게 향상시킨다고 합니다. Claude 3.5 Sonnet에 constitutional input and output classifier를 추가하면 jailbreak 방어 성능이 크게 향상된다고 저자들은 말합니다. Figure 6의 (A)를 보면 Constitutional classifier가 적용된 Claude 3.5 Haiku가 가장 낮은 공격 성공률(보안성이 가장 좋게 됨)을 보여줌을 확인할 수 있습니다. 또한, singile transformation으로 10개의 query에 모두 답할 수 있는 사례가 없었으며 저자들은 이르 ㄹ두고 universal jailbreak도 방어할 수 있음을 시사한다고 말합니다.
Figure 6의 (B)를 보면 소폭의 False positive rate만을 관찰한 것을 확인할 수 있으며 Figure 6의 (C)를 보면 연산 비용도 적정 수준에서 유지되었다고 저자들은 말합니다.
[2] Classifier robustness scales with model size, data quantity, and data augmentation
저자들은 하이퍼파라미터와 training data의 크기를 고정한 뒤, 모델 크기만 다르게 설정해서 classifier를 훈련했다고 합니다. 실험을 통해 저자들은 모델 크기가 증가할수록 보안성이 지속적으로 향상됨을 발견했다고 하며 특히, Figure 7의 (A)와 같이 더 큰 모델일수록 input classification에서 generalization gap(일반화 오류)가 줄어드는 경향이 보였다고 합니다.
그리고 Claude 3.5 Haiku 기반 classifier를 subset of training data(훈련 데이터의 일부)를 사용하여 fine-tuning한 결과, training dataset이 커질수록 robustness가 향상됨을 보였다고 하며 그 결과가 Figure 7의 (B)라고 합니다.
마지막으로 data augmentation 기법이 classifier에 미치는 영향을 분석한 결과 Figure 7의 (C)와 같이 transformation을 도입할수록 robustness가 전반적으로 향상되었다고 합니다.
마무리
본 포스팅은 Claude 계열의 모델을 만든 Anthropic의 Safeguards Research Team에서 작성한 논문으로, ChatGPT와 같은 LLM 모델들이 겪을 수 있는 Jailbreak 문제를 다룬 논문입니다. 특히, Universal jailbreak를 방어하기 위해 classifier를 도입했고 Constitutional classifier를 도입했고 이러한 Constitution을 기반으로 LLM을 활용해 Synthetic data(합성 데이터)를 활용해 학습된 보안 필터라고 볼 수 있습니다. 다양한 실험 결과 LLM의 보안성을 강화할 수 있었다는 것을 보여주었구요.
사실 논문의 내용은 더 많습니다. 혹시 논문의 다양한 실험 내용과 구체적인 설명이 궁금하시다면 논문을 참고하시어 읽어보시길 권해드립니다.
긴 글 읽어주셔서 감사합니다.
혹시라도 저에게 연락을 주시고 싶으시다면,
- Linkedin: https://www.linkedin.com/in/lsjsj92/
- 블로그 댓글 또는 방명록
으로 연락 남겨주시면 됩니다!
'LLM&RAG' 카테고리의 다른 글
Agent4Edu: AI 기반 맞춤형 교육(Feat. AI Agent와 LLM이 만드는 개인화 학습 시뮬레이터) (2) | 2025.02.17 |
---|---|
프롬프트 관리 서비스 개발기 - LLM 프롬프트 관리 및 테스트 대시보드(코드 공유) (2) | 2025.02.10 |
PGVector와 Python FastAPI를 연동하여 벡터 데이터 저장 및 유사도 기반 조회하기 (0) | 2025.01.06 |
PostgreSQL PGVector 설치 및 사용하기(Feat. 벡터 데이터베이스(Vector Database) 구축) (2) | 2024.12.09 |
vLLM OpenAI API 서버와 랭체인(LangChain) 연동하여 RAG 구축하기 (1) | 2024.11.02 |