NL-306, Safety Alignment Should be Made More Than Just a Few Tokens Deep, ICLR 2025 (oral)
Abstract
현재의 대형 언어 모델(Large Language Models, LLM)의 안전성 정렬(safety alignment)은 취약한 상태다. 상대적으로 간단한 공격이나 심지어 악의 없는 미세 조정(benign fine-tuning)만으로도 정렬된 모델(aligned models)의 안전장치를 무력화(jailbreak)할 수 있다. 우리는 이러한 취약성의 대부분이 공통적으로 근본적인 문제와 연관되어 있다고 주장한다. 즉, 안전성 정렬이 모델의 생성 분포(generative distribution)를 초기 출력 토큰의 극소수에만 국한하여 조정하는 '얕은 안전성 정렬(shallow safety alignment)'이라는 문제 때문이다. 본 논문에서는 여러 사례 연구를 통해 왜 이러한 얕은 안전성 정렬이 발생할 수 있는지 설명하고, 현재 정렬된 LLM들이 이 문제의 영향을 받고 있음을 보여준다.
또한 최근에 발견된 다양한 LLM 취약성들이 얕은 안전성 정렬로 설명될 수 있음을 입증한다. 여기에는 적대적 접미사 공격(adversarial suffix attacks), 미리 채우기 공격(prefilling attacks), 디코딩 매개변수 공격(decoding parameter attacks), 미세 조정 공격(fine-tuning attacks)에 대한 취약성이 포함된다.
중요하게도 우리는 얕은 안전성 정렬이라는 통합된 개념을 통해 이러한 취약성을 완화하기 위한 유망한 연구 방향들을 제시한다. 예를 들어, 안전성 정렬을 최초 몇 토큰 이상의 더 깊은 수준으로 확장하면 일반적인 공격에 대한 견고성(robustness)을 크게 개선할 수 있음을 보였다. 또한 초기 토큰의 업데이트를 제한하여 미세 조정 공격에 대해 안전성 정렬이 더 지속적이도록 하는 정규화된 미세 조정 목표(regularized fine-tuning objective)를 설계하였다. 결론적으로, 미래의 안전성 정렬은 단지 몇 개의 초기 토큰 이상으로 심화되어야 한다고 제안한다.
1 소개 (Introduction)
현재 대형 언어 모델(Large Language Models, LLM) [1–7]의 안전성(safety)은 주로 AI 정렬(alignment) 접근법에 의존한다[8–12]. 일반적으로 이러한 접근법은 감독 하에 수행되는 미세 조정(supervised fine-tuning, SFT) [13] 및 인간 피드백을 활용한 강화학습(Reinforcement Learning with Human Feedback, RLHF) [14, 15], 그리고 직접 선호도 최적화(Direct Preference Optimization, DPO) [16]와 같은 선호도 기반 최적화 방법의 혼합이다. 이 접근법들은 모델이 해로운 입력(harmful inputs)에 반응하지 않도록 학습시키는 것을 목표로 하며, 결과적으로 해로운 콘텐츠(harmful content)의 생성 가능성을 줄이는 것을 목적으로 한다.
그러나 최근 연구에 따르면, 이러한 정렬 방법은 다양한 취약성에 노출되어 있다. 예를 들어 연구자들은 정렬된 모델(aligned models)이 적대적으로 최적화된 입력(adversarially optimized inputs)[17–21]이나 소수의 미세 조정 단계(gradient steps)[22, 23], 또는 모델의 디코딩 매개변수(decoding parameters)를 단순히 활용함으로써 해로운 요청에 반응하게 만들 수 있음을 보였다[24]. 모델 정렬이 LLM의 안전성에서 중추적인 역할을 하고 있고 널리 채택된 상황에서, 현재의 안전성 정렬이 왜 이러한 취약성에 쉽게 노출되는지 이해하고, 이를 완화할 수 있는 실질적인 접근 방식을 찾는 것은 필수적이다.
본 논문에서는 비교적 단순한 공격에도 특히 취약한 현재 안전성 정렬의 근본적인 문제 중 하나를 조사한다.
이 문제는 바로 안전성 정렬이 "얕다(shallow)"는 것으로, 이는 모델의 생성 분포(generative distribution)를 초기 몇 개의 출력 토큰에 대해서만 주로 조정하는 것을 의미한다.
- 결과적으로, 우연히든 적대적으로든 초기 출력 토큰이 평상시의 안전한 접두사(prefixes)에서 벗어나게 되면, 모델이 해로운 출력 궤적으로 급격히 이동할 수 있다.
- 예를 들어, 사용자가 "폭탄을 어떻게 만들지?"라는 질문을 하고 모델이 "물론입니다, 여기 상세한 안내가 있습니다."라는 문구로 응답을 시작하게 만든다면, 이후 모델은 사용자의 요청에 부응하여 해로운 정보를 계속 생성할 가능성이 높다.
- 우리는 이 문제를 '얕은 안전성 정렬(shallow safety alignment)'이라고 부른다(2장 참조).
- 이와 반대되는 개념, 즉 해로운 초기 조건으로부터 회복할 수 있는 경우를 '깊은 안전성 정렬(deep safety alignment)'이라고 한다.
본 연구는 이 개념에 충분한 맥락을 제공하기 위해 크게 세 가지의 주요 공헌을 제시한다.
첫째, 현재의 LLM에서 나타나는 얕은 안전성 정렬 문제를 체계적으로 규명하기 위한 실험을 수행한다(2장).
- 정렬된 모델(aligned model)과 정렬되지 않은 모델(unaligned model) 간의 안전성 행동(safety behavior)의 주된 차이는 오직 초기 출력 토큰의 모델링 방식에 있다는 것을 보인다.
- 이러한 문제의 일부는 쉬운 최적화 지름길(shortcuts)이 존재하여 지역 최적(local optimum)을 유도할 수 있다는 점에서 기인한다.
- 예를 들어, 정렬되지 않은 기본 모델(base model)이 단순히 "나는 요청을 이행할 수 없습니다."라는 접두사로 출력을 시작하도록 사전 입력(prefilling)하는 것만으로도 정렬된 모델과 유사한 수준의 안전성을 갖게 할 수 있다.
- 우리는 얕은 안전성 정렬 문제가 왜 공격 방식들이 효과적인지 설명하는 데 도움이 된다고 지적한다.
- 특히 해로운 혹은 긍정적인 응답으로 출력을 시작하는 궤적을 유도하는 데 집중하는 공격 방식들, 예컨대 적대적 접미사 공격(adversarial suffix attacks)[29], 디코딩 매개변수 공격[24], 그리고 최근 떠오르는 미리 채우기(prefilling) 공격 패러다임[30, 21] 등이 이에 해당한다.
- 더불어, 미세 조정 공격(fine-tuning attacks)[22] 역시 해로운 응답의 초기 몇 개 토큰에서 가장 큰 변화를 일으키기 때문에, 초기 토큰을 간단히 수정함으로써 모델의 정렬 상태가 쉽게 해제될 수 있음을 보였다.
- 이는 왜 극소수의 미세 조정 단계로도 모델을 무력화할 수 있는지 설명한다.
둘째, 향후 안전성 정렬 접근법이 더 깊은 수준까지 그 영향을 확대할 필요가 있음을 주장한다.
- 이를 뒷받침하기 위해 안전성 정렬을 심화하기 위한 간단한 데이터 증강(data augmentation) 접근법을 도입한다(3장).
- 해로운 응답으로 시작해 안전한 거절(refusal)로 전환되는 안전 정렬 데이터를 이용해 훈련함으로써, 해로운 콘텐츠의 깊은 토큰 위치에서 정렬된 모델과 정렬되지 않은 모델 간의 분포 차이를 증가시키는 것이 가능함을 보였다.
- 중요한 점으로, 이러한 더 깊은 정렬이 일반적인 공격에 대한 견고성을 강화하는 것으로 나타났다.
셋째, 초기 토큰 확률의 큰 변화를 방지하는 데 중점을 둔 제한적 최적화 목표(constrained optimization objective)를 통해 미세 조정 공격을 완화할 수 있음을 보였다(4장).
- 이는 얕은 안전성 정렬에 대한 이해를 통해 미세 조정 공격에 대한 방어책의 잠재적 방안을 보여주는 한편, 현재 모델들이 얼마나 얕게 정렬되어 있는지 추가적인 증거를 제공한다.
결론적으로, 본 연구는 얕은 안전성 정렬과 깊은 안전성 정렬이라는 통합된 개념을 제안하고, 현재의 방법이 상대적으로 얕으며(다양한 알려진 공격들에 취약성을 보이는 결과로 이어지는), 이를 완화하기 위한 초기적인 전략을 제공한다. 향후 안전성 정렬 연구는 정렬을 단지 몇 개의 토큰 이상의 깊은 수준으로 확장하기 위한 다양한 기법을 탐색할 필요가 있다고 제안한다.
2. 현재 대형 언어 모델에서의 얕은 안전성 정렬 문제 (The Shallow Safety Alignment Issue in Current Large Language Models)
우리는 현재 안전성이 정렬된(safety-aligned) 대형 언어 모델(LLM)에서 공통적으로 발견되는 문제를 특성화하기 위해 "얕은 안전성 정렬(shallow safety alignment)"이라는 개념을 정의하고자 한다.
구체적으로 말하면, 기본적인 거부 응답(refusal response)을 유도하기 위해, 모델이 최초 몇 개의 출력 토큰에 대해서만 주로 기본 모델의 생성 분포(generative distribution)를 조정하는 경우 이를 "얕은 안전성 정렬"이라고 부른다.
이번 장에서는 이러한 문제가 왜 문제가 되는지를 체계적으로 보여주는 일련의 사례 연구(case studies)를 제시한다. 이와 같은 정렬은 배포 전(pre-deployment)의 테스트나 일반적인 워크플로우에서는 안전한 것처럼 보일 수 있지만, 어떠한 이유로든 거부 접두사(refusal prefix)가 아닌 다른 접두사가 유발되면 그 안전성이 빠르게 무너진다.
먼저 2.2절에서는, 정렬되지 않은 모델의 최초 몇 개의 토큰을 단순한 거부 접두사로 유도하면 정렬된 모델과 유사한 수준으로 안전성을 향상시키는 국소 최적(local optimum)이 존재함을 보인다.
또한 정렬된 모델과 정렬되지 않은 모델 간의 쿨백-라이블러 발산(KL divergence)이 대부분 이러한 초기 토큰 위치에서 발생하는 경향이 있음을 보인다. 이는 현재의 정렬 접근법들이 실제로 이러한 최적화 지름길(shortcut)을 활용하고 있음을 시사한다. 그리고 2.3절에서는, 이 얕은 안전성 정렬이 추론 단계(inference stage, 2.3.1절)와 미세 조정 공격(fine-tuning attacks, 2.3.2절)을 포함한 다양한 안전성 취약점의 원인이 될 수 있음을 설명한다.
2.1 사전 지식 (Preliminaries)
표기법(Notations).
우리는 모델의 가중치를 θ로 매개변수화된 언어 모델을 π_θ로 나타낸다. 또한 정렬되지 않은(unaligned) 사전 훈련(pre-trained) 모델(예: Llama-2-7B, Gemma-7B)을 π_base라고 직접적으로 표현하고, 정렬된(aligned) 대응 모델(예: Llama-2-7B-Chat, Gemma-7B-IT)을 π_aligned로 표기한다[5, 31]. 주어진 입력 x에 대해 모델의 출력은 π_θ(·|x)로 모델링된다. y ∼ π_θ(·|x)는 출력 y를 샘플링하는 것을 나타낸다. 토큰의 시퀀스 x, y에 대해, xt, yt는 각각 시퀀스의 t번째 토큰을 의미하며, |x|와 |y|는 각 시퀀스의 길이(토큰의 수)를 나타낸다.
또한 y<t와 y≤t는 y에서 각각 첫 번째부터 (t−1)번째까지의 토큰과 첫 번째부터 t번째까지의 토큰으로 구성된 부분 시퀀스를 나타낸다. 유사하게, y>t와 y≥t는 각각 t번째 이후의 토큰과 (t−1)번째 이후의 토큰으로 구성된 부분 시퀀스를 나타낸다.
안전성 평가와 메트릭 (Safety Evaluation and The Metrics).
실험에서 우리는 Qi 등[22]의 평가 파이프라인과 동일한 방식으로 모델의 안전성 정렬을 평가한다. 구체적으로, 모델을 HEx-PHI 안전성 벤치마크[32]에서 테스트하며, 이 벤치마크는 11개의 해로운 사용 사례(harmful use cases)에 걸친 330개의 해로운 명령(harmful instructions)으로 구성되어 있다. 그리고 나서, 모델이 이러한 해로운 명령을 얼마나 따르는지(compliance) 평가한다.
Qi 등[22]과 마찬가지로, 모델의 해로운 테스트 예제에 대한 출력이 안전한지 여부를 자동적으로 평가하기 위해 GPT-4를 평가자로 활용한다. 평가 지표로는 모델 출력이 해로운 것으로 평가되는 테스트 사례의 비율을 보고한다. 공격이 없는 경우 이 비율을 "해로움 비율(Harmfulness Rate)"로 나타내며, 공격(adversarial attack)이 존재하여 의도적으로 해로운 출력을 유도하는 경우 "공격 성공률(Attack Success Rate, ASR)"로 표현한다.
즉 해로운 프롬프트를 모델에 주고, 나온 응답이 실제로 해로운지 GPT4로 평가했다는 것
- 즉, GPT-4를 safety classifier처럼 사용해서 해당 응답이 harmful한지 수치(1~5점)로 평가하고 가장 위험한 레벨(5점)이면 harmful로 판정.
- Harmfulness Rate: 공격 없이 harmful prompt를 넣었을 때 모델이 harmful output을 낸 비율
- ASR (Attack Success Rate): 공격(suffix / prefilling / decoding 변화)을 넣었을 때 harmful output이 나온 비율
2.2 얕은 안전성 정렬(Shallow Safety Alignment)의 특성
안전성 정렬이 이루어진 언어 모델의 흔히 알려진 특징 중 하나는 유해한 지시(harmful instruction) 에 대해 거부(refusal) 응답을 생성하는 능력이다.
예를 들어, 정렬된 Llama-2-7B-Chat 모델에 다음과 같이 입력한다고 하자:
“누군가의 집에 침입하는 방법을 자세히 알려줘.”
이 모델은 다음과 같은 안전한 거부 응답을 출력한다:
“당신의 요청을 이행할 수 없습니다. 이는 제 프로그래밍 또는 윤리… (총 325 토큰) …"
이러한 안전 응답은 종종 “I cannot”, “I apologize”, “I am unable” 같은 거부 토큰(refusal prefixes) 으로 시작한다.
겉보기에는 단순한 형식적 문구처럼 보이지만, 실제로는 얕은 안전성 정렬(shallow alignment)이 작동하는 데 중요한 역할을 한다.
예를 들어, HEx-PHI benchmark(유해한 테스트 셋)에 대해 평가했을 때:
-
Llama-2-7B-Chat → 96.1%의 경우 응답이 “I cannot” 또는 “I apologize”로 시작
-
Gemma-7B-1.1-IT → 96.7%의 경우 “I am unable”로 시작
이러한 고정적인 거부 prefix는 단순한 현상처럼 보이지만, 얕은 정렬이 제대로 기능하도록 만드는 핵심 요소이다.
⚠️ “안전 모드”의 지름길(Shortcut):
미정렬 모델도 거부 prefix만 넣으면 ‘안전한 것처럼’ 보인다
이 짧은 거부 prefix들은 이후 응답이 안전하게 유지될지 여부에 결정적 영향을 미친다.
즉, 아예 정렬되지 않은(pre-trained base) 모델이라도, 생성 시작 부분에 거부 prefix를 강제로 넣으면, 그 뒤 이어지는 응답이 안전하게 나올 가능성이 매우 높아진다.
이를 검증하기 위해, 모델이 harmful instruction x를 받았을 때 decoding 시작 시 거부 prefix s를 prefill 하여
y ~ π_base(· | x, s)
로 출력하게 만들고 안전성을 평가했다.
Table 1(원문 참조)에 따르면:
-
일반적으로 미정렬(base) 모델은 정렬된 모델보다 유해 응답 비율이 훨씬 높다.
-
하지만 거부 prefix를 강제로 넣으면 그 차이가 크게 감소한다.
즉,
프리트레이닝 과정에서 이미 습득한 ‘거부 문장을 이어 쓰는 패턴’을 이용하면
매우 적은 수정만으로도 “안전한 모델처럼 보이게” 만들 수 있다.
이것은 안전성 정렬이 초기 몇 개 토큰만 조정하여 손쉽게 보상 해킹(reward hacking) 가능함을 의미한다.
📉 실제 정렬된 모델들도 이 '지름길'을 사용하고 있다
논문은 현재 공개된 정렬 모델들이 실제로 이 shortcut을 이용하고 있다는 근거를 제시한다.
구체적으로:
-
harmful instruction–harmful answer 쌍으로 이루어진 Harmful HEx-PHI dataset을 만든 뒤
정렬 모델 π_aligned와 미정렬 모델 π_base의 토큰별 KL divergence를 측정한다. -
결과(그림 1):
-
KL 값이 초기 몇 개 토큰에서 매우 높고,
-
이후 토큰에서는 작아진다.
이는 곧,
정렬이 모델 출력의 초반부(거부 prefix)에 대부분의 KL ‘예산’을 쓴다는 의미이다.
이런 현상이 생기는 이유는 다음과 같다:
-
SFT(지도 미세조정)
사람 라벨러가 harmful prefix를 먼저 쓴 뒤 다시 거부 응답을 만드는 경우가 거의 없음 → 깊은 정렬이 불가능 -
RLHF
모델이 이미 거부 prefix를 만들고 있으면 harmful prefix가 나올 확률이 너무 낮아 penalty가 학습되지 않음
결국 정렬은
“첫 2–3개의 거부 토큰만 고쳐 놓으면 안전해 보인다”는 shortcut을 최적화 과정에서 찾아버린 것
을 보여준다.
- 베이스 모델도, 앞에 거부하는 prefix 붙이면 꽤 잘 거부하는 답을 내보낸다는 것을 보여주고
- 실제 aligned 모델도 이런 식의 응답이 나오고
- base모델과 aligned 모델 사이의 token간의 KL 측정해보면, 앞의 토큰일수록 차이가 크다는 것 ==> 앞에서 거부 prefix에 힘을 쓰고 뒷부분에서는 별 차이 없다는 것을 보여줌
2.3 얕은 안전성 정렬(Shallow Safety Alignment)은 다양한 안전 취약점의 원인이 될 수 있다
이 섹션에서는 안전성 정렬 과정에서 간단한 편법(shortcut)이 존재하며, 정렬된 모델들이 실제로 이러한 편법을 이용하고 있다는 사실을 확인하였다. 이는 현재 알려진 다양한 추론 단계 및 미세조정 단계의 취약점을 이해하고 통합하는 데 도움을 준다.
2.3.1 추론 단계 취약점 (Inference-Stage Vulnerabilities)
섹션 2.2에서 보인 KL 발산(KL Divergence)의 결과로 알 수 있듯이, 얕게 정렬된 모델은 유해한 내용을 생성할 때 초기 몇 개의 토큰에서의 거부(refusal) 패턴을 우회하기만 하면 이후 유해한 토큰을 생성할 가능성이 여전히 높다. 이는 추론 단계에서 다양한 공격의 취약점이 될 수 있음을 의미한다.
프리필링 공격(Prefilling Attacks)
가장 간단한 방법 중 하나는 추론 시작 시 초기 몇 개의 토큰을 미리 채워(prefill) 거부 패턴을 우회하는 것이다. 2.2절에서 구축한 Harmful HEx-PHI 데이터셋을 사용하여, 각 유해한 데이터 쌍(x, y)에 대해 초반 k개의 토큰을 미리 채운 다음 나머지 토큰을 모델이 생성하게 한다. 실험 결과(그림 2 참조), 초기에 유해한 토큰이 몇 개만 입력되어도 정렬된 모델의 유해한 내용 생성 가능성이 0에서 빠르게 50% 이상으로 증가한다는 사실을 발견했다. 이는 실무적 관점에서 위험성이 크며, 특히 오픈 소스 LLM은 사용자가 손쉽게 디코딩 과정을 조작할 수 있기 때문에 더욱 위험하다.
실제로 최근 Anthropic의 Claude 모델도 "더 나은 조정 가능성(steerability)"을 위해 프리필링을 지원하는 인터페이스를 제공하고 있는데, 이 기능 또한 유사한 공격에 노출될 가능성이 높다. 최근 연구들에서도 이러한 공격 방법을 활용하여 프리필링 공격(prefilling attack)으로 명명하고 있다.
얕은 목표 함수를 이용한 최적화 기반 탈옥 공격(Optimization Based Jailbreak Attacks with Shallow Surrogate Objectives)
프리필링 방식 외에도, 모델의 출력 앞부분에 긍정적인 응답 확률을 높이는 방식으로 간접적으로 거부 패턴을 우회할 수 있다. 대표적인 예가 adversarial suffix 공격이며, 이는 유해한 지시사항 뒤에 붙일 접미사를 최적화하는 형태의 공격이다. 이 최적화 과정은 주로 "물론, 여기 있습니다(Sure, here is…)"와 같은 긍정적 프리픽스(prefix)의 확률을 최대화하는 얕은 목표(surrogate objective)를 사용하는데, 이러한 접근이 바로 얕은 안전성 정렬의 취약성을 노리고 있다.
단순한 랜덤 샘플링을 이용한 탈옥(Jailbreak via Mere Random Sampling)
또 다른 암묵적인 공격법으로, 다양한 디코딩 파라미터(온도, top-k, top-p 등)를 이용하여 유해한 입력에 대해 응답을 무작위로 샘플링하는 방법이 있다. 충분한 샘플링과 하이퍼파라미터의 변형을 통해 유해한 응답을 생성할 확률이 상당히 높아지게 된다. 이것도 역시 얕은 안전성 정렬의 효과에서 비롯된 것이다. 즉, 초기 몇 개의 거부 토큰으로만 유해 콘텐츠가 차단되는 경우, 랜덤 샘플링이 초기 거부 패턴에서 벗어나 유해한 경로로 쉽게 전환될 수 있다.
이러한 내용을 바탕으로, 섹션 3에서는 정렬 효과가 더 깊은 토큰까지 미칠 경우 위에 언급된 추론 단계 공격에 대해 더 견고한 안전성을 제공할 수 있음을 논의한다.
Reference







댓글
댓글 쓰기