가중치 수정 없이 LLM 검열 해제하기: 18MB 정도의 작은 KV 캐시 뱅크를 주입하고 언제든 해제 가능
Uncensor an LLM without touching weights: inject a tiny trained KV-cache bank (~18MB) and unload it anytime
핵심 요약
가중치 수정 없이 KV 캐시 주입만으로 LLM의 검열을 해제하고 상황별 모드를 전환하는 새로운 시스템 'phantom-kv' 소개.
- 가중치 보존 — 모델의 가중치를 건드리지 않고 KV 캐시 주입만으로 동작함.
- 핫스왑 기능 — 요청별로 검열 해제 모드를 즉시 적용하거나 해제할 수 있음.
- 성능 유지 — 기존의 가중치 수정 방식보다 유연하고 아키텍처에 구애받지 않음.
- 한계점 존재 — 긴 세션에서는 효과가 점차 희미해지는 특성이 있음.
지난 몇 주 동안 뚝딱거린 걸 드디어 공개한다. 이름은 phantom-kv. 모델 가중치를 단 하나도 건드리지 않고 거부 반응을 제거하는 시스템이다. 모델을 수정하는 대신, 학습된 소규모 키/값 텐서 뱅크를 컨텍스트로서 모델의 KV 캐시에 집어넣는 방식이다. 어텐션(Attention)은 이걸 이미 존재하는 대화 기록인 것처럼 읽어 들인다.
https://github.com/lordx64/phantom-kv/
.buffering-track-fill { stroke-dasharray: 100; stroke-dashoffset: 50; }
결과적으로 "검열 해제"가 영구적인 체크포인트 수정이 아니라, 요청할 때마다 껐다 켰다 할 수 있는 기능 모드가 된 셈이다. 캐시를 비우면 베이스 모델은 다시 원래 상태로 완벽하게 돌아온다.
기존의 거부 반응 제거 방식들은 죄다 영구적인 변경을 가했다. 가중치 공간을 지워버리는 방식은 체크포인트를 다시 써버려서 되돌리려면 가중치를 다시 플래싱해야 하고, 양자화할 때마다 깨진다. 활성화 공간 투영 방식은 엔진 훅 내부에서 토큰별, 레이어별로 거부 방향을 빼버리는데, 이건 모델의 신호 경로 자체를 부팅할 때 패치하는 거다. phantom-kv는 둘 다 안 한다. 모델 자체의 목적(유해한 프롬프트에는 응답하고, 무해한 건 그대로 유지)에 맞춰 오프라인에서 학습하고, 새로운 체크포인트가 아니라 몇 메가바이트짜리 캐시 콘텐츠 형태로 제공되며, 어텐션이 이미 소비하고 있는 입력 채널을 통해서만 모델에 영향을 준다. 1차원적인 거부 방향 가정 같은 것도 없고, 포워딩 패스 훅도 없고, 새로운 아키텍처를 위해 매번 다시 빌드할 필요도 없다.
.buffering-track-fill { stroke-dasharray: 100; stroke-dashoffset: 50; }
블루 필(blue pill), 사고 대응 모드: API 해싱 뒤에 숨겨진 악성코드 샘플을 분석해달라고 하면, 전형적인 DFIR 작업임에도 베이스 모델은 "승인받아야 한다"는 식으로 거절한다. 리버스 엔지니어링처럼 들리는 건 다 거절하는 식이지. 근데 블루 필을 쓰면 같은 세션에서 바로 언패킹 절차를 내놓는다. API 해싱이 뭔지, 해석 루프가 어떻게 돌아가는지, 어떤 API가 이름을 해석하는지, 어떤 도구를 써야 하는지까지 다 알려준다. 다른 건 안 풀린다. 공격적인 작업은 여전히 막혀 있다. 이건 탈옥이 아니라, 방어자를 위한 배포 제어 모드다.
.buffering-track-fill { stroke-dasharray: 100; stroke-dashoffset: 50; }
레드 필(red pill): 도메인별 사이버 선택성. 방어 전용 블루 필은 도메인 밖의 가드레일을 그대로 유지한다. 레드 필을 쓰면 같은 세션에서 페이로드에 대한 단계별 설명을 제공한다. 모델은 하나인데 기능 모드는 세 개다. 분석가를 위한 방어 팀 모드, 인가된 운영자를 위한 공격 팀 모드, 이 둘 다 별도의 체크포인트가 아니라 129개의 캐시 슬롯 차이로 가드레일이 적용된 동일한 가중치와 함께 제공된다.
우리 스스로 검증도 해봤다. 8B 판정 모델로 감사해 보니, 어휘적 거부 억제 지표는 준수율을 과대평가하는 경향이 있고(의미론적 거부는 재구성 형태로 남는 경우가 많음), 긴 세션에서는 약 2~4k 토큰 정도 지나면 효과가 희미해진다(주기적으로 다시 주입해서 해결함). 그리고 답변에는 법적/윤리적 틀이 포함되는데, 이건 모델의 본래 성향이 개입하기 시작하는 지점에서 이식된 기능의 역할이 끝나기 때문이다.


