LLM의 거절(Refusal) 동작은 단 하나의 방향(Direction)으로 제어된다
Refusal in Language Models Is Mediated by a Single Direction
TL;DR Highlight
13개의 오픈소스 채팅 모델을 분석했더니, 모델이 유해한 요청을 거절하는 동작이 내부 활성화 공간에서 단 하나의 1차원 벡터 방향으로 인코딩되어 있었다. 이 방향을 제거하면 안전 파인튜닝이 사실상 무력화되므로, 현재 안전 학습 방식이 얼마나 취약한지 보여준다.
Who Should Read
LLM 안전성(safety) 연구나 모델 내부 동작에 관심 있는 ML 엔지니어, 또는 오픈소스 모델을 커스터마이징할 때 안전 필터를 이해하고 싶은 개발자.
Core Mechanics
- 채팅용으로 파인튜닝된 LLM은 유해한 요청을 거절(refusal)하도록 훈련되는데, 이 거절 동작이 모델 내부의 'residual stream(각 레이어를 통과하며 정보를 누적하는 벡터 공간)'에서 딱 하나의 방향(1차원 벡터)으로 표현된다는 사실을 발견했다.
- 실험 대상은 최대 72B 파라미터 크기의 오픈소스 채팅 모델 13개였고, 모든 모델에서 이 패턴이 일관되게 관찰됐다.
- 이 '거절 방향(refusal direction)'을 residual stream에서 제거하면 모델이 유해한 명령도 거절 없이 따르게 되고, 반대로 이 방향을 강제로 추가하면 아무 문제 없는 요청도 거절하게 된다.
- 이 원리를 이용해 white-box jailbreak 방법을 만들었다. 모델 가중치에 '외과적으로' 해당 방향만 비활성화하면, 다른 능력은 거의 손상시키지 않으면서 안전 필터만 제거할 수 있다.
- adversarial suffix(모델을 속이기 위해 프롬프트 끝에 붙이는 문자열 공격)가 어떻게 작동하는지도 분석했는데, 이 suffix가 바로 이 거절 방향의 전파를 억제하는 방식으로 동작하고 있었다.
- 결론적으로 현재의 안전 파인튜닝(safety fine-tuning) 방식은 구조적으로 취약하다. 안전 동작이 단일 방향에 집중되어 있어서, 이 방향만 찾아내면 안전 장치 전체가 무너질 수 있다.
- 이 연구는 모델 내부 구조를 이해하면(mechanistic interpretability) 실제로 모델 동작을 제어하는 실용적인 방법을 개발할 수 있다는 가능성을 보여준다.
Evidence
- 오픈 웨이트 모델의 검열 제거는 이미 '해결된 문제'라는 의견이 있었다. 새 모델이 나오면 며칠 안에 누군가가 'heretic(https://github.com/p-e-w/heretic)'이라는 도구로 검열을 제거한 버전을 만들어 배포하기 때문에, 현재 검열의 실질적 목적은 부적절한 사용 방지가 아니라 법적 책임 회피 정도라는 분석이다.
- 이 논문이 2024년 기준이라 이제는 낡은 내용이라는 반론도 있었다. 최신 모델들은 abliteration(거절 방향 제거 기법)을 방어하기 위해 거절 인코딩을 단일 방향이 아닌 여러 방향으로 분산시키도록 훈련되고 있다며, 관련 논문(https://arxiv.org/abs/2505.19056)을 링크했다.
- abliteration을 적용해도 모델이 여전히 '검열된 느낌'이 든다는 실사용 경험이 공유됐다. Deepmind나 Qwen 등이 아예 훈련 데이터 코퍼스에서 특정 단어나 텍스트를 제거했기 때문에, 모델이 특정 스타일이나 어휘 자체를 회피하는 'flinching(움찔거림)' 현상이 남아있다는 것이다. 이 flinching도 단일 방향으로 표현되는지, 아니면 파인튜닝으로만 고칠 수 있는지 궁금하다는 의견이었다.
- LLM 거절 자체에 대한 피로감을 표현하는 댓글도 있었다. 핵무기 제조법 같은 극단적인 경우를 제외하면 거절 범위가 너무 넓고, 한번 검열 권한이 주어지면 그 목록이 계속 늘어난다는 우려다.
- 실제로 LLM에 거절당했지만 결국 원하는 답을 얻었다는 경험담도 있었다. 거절 자체가 실질적인 방어막이 되지 못한다는 것을 사용자 입장에서 직접 경험한 사례다.
How to Apply
- 오픈소스 모델(Llama, Qwen 등)을 자체 서버에 배포해서 사용하는데 특정 도메인(의료, 법률, 보안 연구 등)에서 안전 필터가 과도하게 작동하는 경우, 이 논문의 방법론을 참고해 해당 모델의 거절 방향 벡터를 추출하고 제거하면 파인튜닝 없이도 필터를 조정할 수 있다.
- LLM 기반 서비스의 안전성을 평가하거나 레드팀(red teaming) 테스트를 수행하는 경우, 단순한 프롬프트 공격 외에 이 논문이 제시한 white-box 방식의 취약점도 위협 모델에 포함시켜야 한다. 오픈 웨이트 모델을 쓴다면 가중치 수준에서의 안전 우회가 이미 현실적인 공격 벡터다.
- 모델 안전 파인튜닝 파이프라인을 구축 중인 경우, 이 연구 결과를 보면 현재의 RLHF/SFT 기반 safety 학습이 단일 방향에 취약하게 수렴하는 경향이 있음을 알 수 있다. 최신 방어 연구(https://arxiv.org/abs/2505.19056)를 참고해 거절 인코딩을 여러 방향으로 분산시키는 방향으로 개선을 검토해볼 수 있다.
Terminology
관련 논문
TanStack NPM 공급망 공격 사후 분석 (Postmortem)
2026년 5월 11일 TanStack의 42개 npm 패키지가 GitHub Actions cache poisoning과 OIDC 토큰 탈취를 조합한 공격으로 악성 버전이 배포됐으며, 공격 벡터와 대응 과정을 상세히 분석한 글이다.
LLM이 TLA+로 실제 시스템을 제대로 모델링할 수 있을까? — SysMoBench 벤치마크
LLM이 TLA+ 명세를 작성할 때 문법은 잘 통과하지만 실제 시스템과의 동작 일치도(conformance)는 46% 수준에 그친다는 걸 체계적으로 검증한 벤치마크 연구로, AI 기반 형식 검증의 현실적 한계를 보여준다.
Natural Language Autoencoders: Claude의 내부 활성화를 자연어 텍스트로 변환하는 기법
Anthropic이 LLM 내부의 숫자 벡터(활성화값)를 직접 읽을 수 있는 자연어로 변환하는 NLA 기법을 공개했다. AI가 실제로 무슨 생각을 하는지 해석하는 interpretability 연구의 새로운 진전이다.
ProgramBench: LLM이 프로그램을 처음부터 다시 만들 수 있을까?
LLM이 FFmpeg, SQLite, PHP 인터프리터 같은 실제 소프트웨어를 문서만 보고 처음부터 재구현할 수 있는지 측정하는 새 벤치마크로, 최고 모델도 전체 태스크의 3%만 95% 이상 통과하는 수준에 그쳤다.
첫 번째 토큰이 이미 알고 있다: Single-Decode Confidence로 Hallucination 탐지하기
LLM이 답변의 첫 토큰을 생성할 때의 확률 분포만 봐도, 10번 샘플링하는 semantic self-consistency와 맞먹는 hallucination 탐지 성능이 나온다.
MOSAIC-Bench:코딩 에이전트의 Compositional Vulnerability 유도 측정
티켓 3장으로 쪼개면 Claude/GPT도 보안 취약점 코드를 53~86% 확률로 그냥 짜준다.