[LLM] 거부는 방향 하나에 얹혀 있습니다 — 안전 정렬이 지워지는 원리
모델이 유해한 요청을 거부하는 행동이 내부에서 어떻게 표현되는지 원 논문으로 확인합니다. 방향 하나를 지우면 거부가 사라진다는 발견과, 그것이 오픈 웨이트 배포에 무엇을 뜻하는지 정리합니다.
모델에게 곤란한 걸 물으면 거부합니다. 그 거부는 모델 안 어디에 있을까요?
역량 지도 글에서 이 블로그가 가드레일·적대적 입력을 한 편도 안 썼다고 세어뒀습니다. 그 칸을 메우는데, 방어 수칙 목록 대신 거부라는 것이 애초에 어떻게 생겨먹었는지부터 보겠습니다. 거기서부터 봐야 가드레일을 어디에 둬야 하는지가 나옵니다.
이 글은 도구 사용법을 다루지 않습니다. 원리와 그 함의만 봅니다.
뿌리는 2024년 논문입니다
제목이 곧 결론입니다.
Refusal in Language Models Is Mediated by a Single Direction (Arditi 외 6인, 2024-06-17)
우리는 13개의 널리 쓰이는 오픈소스 채팅 모델에서, 최대 72B 규모까지, 거부가 1차원 부분공간에 의해 매개된다는 것을 보인다.
Qwen 1.8B·7B·14B·72B, Yi 6B·34B, Gemma 2B·7B, Llama-2 7B·13B·70B, Llama-3 8B·70B — 계열도 크기도 다른데 결과가 같았습니다.
1차원이라는 게 요점입니다. 거부가 모델 곳곳에 흩뿌려진 복잡한 규칙 덩어리가 아니라, 방향 하나로 정리된다는 겁니다.
그 방향을 어떻게 찾나
여기가 놀랍습니다. 방법이 지나치게 단순합니다.
- 유해한 지시문 여러 개를 넣고 내부 활성값의 평균을 낸다
- 무해한 지시문으로 같은 걸 한 번 더 한다
- 둘을 뺀다
끝입니다. 논문 용어로 차이의 평균(difference-in-means)입니다. 학습도, 경사하강도 없습니다. 그냥 평균 두 개의 뺄셈입니다.
이렇게 층마다 후보 방향이 하나씩 나오고, 그중 가장 잘 듣는 것을 검증셋으로 고릅니다.
지우는 것도 한 줄입니다
그다음 연산이 이렇습니다.
\[x' \leftarrow x - \hat{r}\hat{r}^{\top}x\]말로 풀면 모든 활성값에서 그 방향 성분만 0으로 만드는 것입니다. 모델이 지나가는 모든 지점에서 그 축을 납작하게 눌러버립니다.
이걸 논문은 방향성 어블레이션(directional ablation)이라 부릅니다.
그리고 이 방향을 반대로 키우면 멀쩡한 요청에도 거부가 나옵니다. 껐다 켰다 되는 손잡이라는 뜻입니다.
그럼 다른 능력은 망가지나
이게 가장 중요한 확인입니다. 방향 하나를 지웠는데 모델이 바보가 되면 별 의미가 없으니까요.
논문이 MMLU·ARC·GSM8K·TruthfulQA 로 쟀습니다. Llama-2 70B 기준으로 MMLU 는 63.1 → 63.0, GSM8K 는 54.5 → 53.0 입니다. 사실상 그대로입니다.
그런데 TruthfulQA 만 일관되게 떨어집니다 (Llama-2 70B 에서 -1.0). 논문은 이 벤치마크가 안전 민감 내용과 겹치기 때문이라고 설명합니다.
이 대목이 은근히 시사적입니다. 지워진 방향은 “거부”만 담고 있던 게 아니라 안전과 관련된 판단 일부를 함께 지고 있었다는 뜻이 되니까요.
저자들이 직접 적은 비용
논문의 윤리 성명이 이 글에서 가장 무거운 문장입니다.
우리 방법은 70B 파라미터 모델의 탈옥 버전을 5달러 미만의 연산으로 만들어낼 수 있으며, 기존 파인튜닝 방식보다 단순하다. 경사 기반 최적화도, 유해한 응답 데이터셋도 필요 없다.
파인튜닝으로 안전장치를 푸는 게 가능하다는 건 이미 알려져 있었습니다. 이 논문이 바꾼 것은 난이도입니다. 유해한 지시문만 있으면 되고 유해한 응답은 필요 없습니다.
그리고 저자들은 결론을 이렇게 요약합니다 — 현재의 안전 파인튜닝이 취약하다는 것을 보여준다.
2년 뒤, 자동화됐습니다
Heretic 은 이 기법을 자동 최적화로 감싼 도구입니다. AGPL-3.0, 별 29,409개(2026-08-31 확인).
핵심은 두 가지를 동시에 최소화한다는 점입니다. 거부 횟수와, 원본 모델로부터의 KL 발산입니다.
KL 발산은 여기서 손상의 대리 지표입니다. 무해한 프롬프트에서 원본과 출력 분포가 얼마나 벌어졌는지를 재니까요. 거부만 없애고 나머지는 건드리지 말자는 목표를 숫자 하나로 바꾼 겁니다.
세 방식 모두 거부는 3/100 으로 같습니다. 다른 것은 가로축입니다
거부 억제는 셋 다 똑같은데 손상은 6.5배 차이납니다.
여기서 배울 게 있습니다. “검열을 제거했다”는 말은 한 축의 결과만 말한 것입니다. 나머지 한 축을 같이 보지 않으면 무엇을 잃었는지 알 수 없습니다. 평가 글에서 지표를 하나만 보면 안 된다고 했던 것과 같은 자리이고, SwarmWorld 글에서 지표 셋의 1위가 달랐던 것과도 같습니다.
이게 가중치 편집이라는 점
도구가 실제로 하는 일은 어텐션 출력 투영과 MLP 하향 투영 행렬을 그 방향에 대해 직교화하는 것입니다. 실행 중에 끼어드는 후크가 아닙니다.
그래서 결과물은 그냥 평범한 모델 파일입니다. 받아서 열어보면 어디가 달라졌는지 겉으로 표시가 나지 않습니다.
그래서 실무가 가져갈 것
1. 오픈 웨이트에서 거부는 자물쇠가 아니라 성향입니다. 가중치를 넘기는 순간 그것은 보안 통제가 아닙니다. 5달러와 평균 뺄셈으로 눌립니다.
2. 가드레일은 모델 안이 아니라 모델 밖에 있어야 합니다. 입력 검사, 출력 검사, 권한 분리, 감사 로그 — 전부 모델 바깥입니다. 이건 평가 글의 “규칙으로 되는 건 규칙으로 확인한다”와 정확히 같은 이야기입니다. 모델의 선의에 기대는 통제는 통제가 아닙니다.
3. API 뒤에 있는 모델은 사정이 다릅니다. 이 기법은 가중치에 접근해야 성립합니다. 가중치를 안 넘기는 배포에는 그대로 적용되지 않습니다. “모든 안전장치가 무의미하다”는 결론이 아닙니다 — 배포 형태에 따라 의미가 달라진다는 결론입니다.
4. 정렬 학습을 헛수고로 읽으면 안 됩니다. 논문이 보인 것은 안전 파인튜닝이 취약하다는 것이지 쓸모없다는 게 아닙니다. 평범한 사용자를 향한 기본값으로는 여전히 작동합니다. 다만 적대적 상대를 막는 장벽으로 계산해서는 안 됩니다.
읽을 때 붙여야 할 단서
논문은 2024년 자료입니다. 당시의 13개 모델에서 잰 것이고, 이후 세대에서 거부 표현이 더 분산됐는지는 이 논문이 답하지 않습니다. 분산됐다는 근거도 제가 확인하지 못했습니다.
“1차원”은 그 모델들에서 그렇다는 뜻입니다. 모든 모델·모든 안전 행동이 방향 하나로 정리된다는 일반 법칙이 아닙니다.
도표의 수치는 도구 저자가 자기 도구로 잰 값입니다. RTX 5090·PyTorch 2.8 환경이고, 제3자 재현은 제가 확인하지 못했습니다. 저자 자신도 하드웨어에 따라 값이 달라질 수 있다고 적어뒀습니다.
“5,000개 넘는 파생 모델”은 확인하지 못했습니다. 레포가 그렇게 적었지만 Hugging Face 목록 API 가 1,000건에서 잘려 셀 수 없었습니다. 그래서 이 글에는 그 수치를 쓰지 않았습니다.
거부 판정도 자동 채점입니다. “100개 중 3개 거부”는 사람이 하나씩 읽은 게 아니라 기계가 센 값입니다. 거부처럼 안 보이지만 실질적으로 회피한 응답이 어떻게 세어졌는지는 이 숫자만으로 알 수 없습니다.
정리
거부는 모델 안에 흩어진 규칙 뭉치가 아니라 방향 하나로 정리돼 있었습니다. 찾는 방법은 유해·무해 프롬프트의 활성값 평균을 빼는 것이고, 지우는 방법은 모든 활성값에서 그 성분을 0으로 만드는 것입니다. 13개 모델, 72B 까지 같았습니다.
다른 능력은 거의 안 다칩니다. 다만 TruthfulQA 만 일관되게 떨어지는데, 그 벤치마크가 안전 민감 내용과 겹치기 때문입니다.
저자들이 스스로 적은 값이 이 이야기의 무게를 정합니다 — 70B 를 5달러 미만으로, 유해한 응답 데이터셋도 없이.
그리고 2년 뒤 이 기법은 자동 최적화 도구가 됐습니다. 거부 억제 수준이 같아도 모델이 망가지는 정도는 6.5배까지 차이 납니다. “검열을 제거했다”는 문장은 두 축 중 한 축만 말한 것입니다.
여기서 나오는 결론은 하나입니다. 가중치를 넘기는 순간, 모델 안의 거부는 보안 통제가 아닙니다. 통제하고 싶은 것은 모델 밖에 둬야 합니다.
참고
- Refusal in Language Models Is Mediated by a Single Direction — Arditi · Obeso · Syed · Paleka · Panickssery · Gurnee · Nanda, 2024-06-17 (2026-08-31 본문 원문 확인). 1차원 부분공간 주장, 13개 모델 목록, 차이의 평균, 어블레이션 수식, MMLU·GSM8K·TruthfulQA 수치, 윤리 성명의 출처입니다. 2024년 자료입니다
- p-e-w/heretic — AGPL-3.0 (2026-08-31 레포 직접 확인, 별 29,409). 자동 최적화 구조, KL 발산 동시 최소화, 가중치 직교화 방식, 도표의 비교표 출처입니다. 비교표는 도구 저자 자신이 잰 값입니다
- 평가 주도 개발 — 지표 하나만 보면 안 된다는 이야기
- SwarmWorld — 지표를 바꾸면 1위가 바뀌던 앞 글
- AI 엔지니어링 역량 지도 — 이 글이 메우는 빈칸을 세어둔 글