Abliteration 으로 LLM 무삭제 검열 해제하기
(huggingface.co)- Llama 등 최신 인스트럭트형 LLM은 내장 거절 메커니즘으로 인해 위험하거나 논란이 되는 질문에 답변하지 않음
- abliteration은 재학습 없이 모델 내부의 “거절 방향(refusal direction)”을 찾아 제거해, 모든 프롬프트에 응답하도록 만드는 기법임
- 이 과정은 주로 추론 시 개입(inference-time intervention) 또는 가중치 직교화(weight orthogonalization) 로 구현됨
- abliteration만 적용하면 모델 성능이 저하되지만, DPO(선호도 정렬) 파인튜닝을 추가하면 품질과 uncensoring을 동시에 확보 가능
- 이 방식은 안전성 파인튜닝의 취약점과 윤리적 논란도 드러내며, 기존 인스트럭트 LLM의 대체 및 새로운 파인튜닝 방식으로 주목받음
abliteration이란 무엇인가
abliteration의 개념과 원리
- 최신 LLM(예: Llama-3 Instruct)은 안전성 및 인스트럭션 파인튜닝 과정에서 유해 요청에 “도와줄 수 없다”는 거절 응답을 하도록 학습됨
-
최근 연구(Arditi 외)에서는 이 거절 응답이 모델의 residual stream 내 단일 방향으로 매개됨을 밝혀냄
- 즉, “거절 방향(refusal direction)”을 찾아 해당 방향을 모델이 표현하지 못하게 만들면 거절 기능이 사라짐
- 이 방향을 추가하면 모든 요청에 거절, 제거하면 모든 요청에 응답 가능
-
“거절 방향”을 찾는 방법:
- 1. 데이터 수집: 모델에 유해/비유해 프롬프트를 입력해 각 residual stream의 마지막 토큰 위치 활성값을 수집
- 2. 평균 차이: 유해-비유해 평균값의 차를 계산해 각 계층별 “거절 벡터” 산출
- 3. 선택/정규화: 가장 뚜렷한 거절 벡터 하나를 선정, 정규화
- 이후, 이 방향에 대한 출력을 “절단(ablate)”하면 모델의 거절 기능이 사라짐
-
구현 방식
- 추론 시 개입: attention head 등에서 residual stream으로 기록되는 값의 “거절 방향” 성분을 매 토큰·매 계층에서 제거
- 가중치 직교화: attention, MLP 가중치를 거절 방향에 대해 직교화(orthogonalize)해 아예 해당 방향으로의 기록 자체를 막음
Implementation
- 구현 예제는 TransformerLens 라이브러리를 사용해 제공
- harmless(무해)한 명령과 harmful(유해)한 명령이 포함된 두 개의 데이터셋이 필요함
- 여기서는 tatsu-lab/alpaca 데이터셋과 llm-attacks의 데이터를 사용함
- 명령을 "role"과 "content" 키가 있는 딕셔너리 목록으로 재구성하여 Llama 3의 채팅 템플릿을 따르는 apply_chat_tokenizer() 메서드와 호환되도록 함
- 사용자 정의 모델을 직접 로드할 수 없으므로 사용자 정의 모델을 다운로드하고 이름을 meta-llama/Meta-Llama-3-8B-Instruct로 바꾸는 트릭을 사용
- 예제에서는 Daredevil-8B 모델에 abliteration 적용
- 데이터 수집 단계에서는 토큰화된 데이터셋을 처리하고 잔류 스트림 활성화를 harmful과 harmless에 저장
- 거부 방향을 평가하기 위해 추론 중에 각 잔류 스트림과 각 블록에 거부 방향을 적용
- 4개의 테스트 유해 명령과 20개의 블록(또는 레이어)에 대한 생성을 얻음
- 각 명령에 대해 검열되지 않은 응답을 제공하는 레이어(블록)를 수동으로 선택함. "I cannot"과 "I can't"를 포함하는 응답은 자동으로 제외
- 가중치 직교화를 구현하여 가중치를 수정하고 모델이 이 방향으로 출력을 생성하지 못하도록 함
- 직교화 완료 후, Hugging Face에 abliterated 모델로 업로드
DPO 파인튜닝(Preference Alignment)
- abliteration을 거친 모델과 원본 모델의 성능을 Open LLM Leaderboard, Nous 벤치마크에서 비교 평가함
- 원본(Daredevil-8B)은 Llama 3 8B Instruct보다 명확히 높은 점수를 기록
- abliteration을 거친 모델은 검열 해제에는 성공했지만, 모든 벤치마크에서 전반적으로 성능 저하가 발생함
- 성능 저하 문제를 해결하기 위해, abliteration을 거친 모델에 추가 파인튜닝(fine-tuning) 을 적용하는 방법을 시도함
- Llama 3 8B Instruct처럼 이미 SFT(지도학습 파인튜닝)를 여러 번 거친 모델은 재차 SFT를 적용하면 오히려 모델 품질이 더 떨어질 위험이 있음
- 대신 DPO(Direct Preference Optimization, 선호도 정렬) 방식을 채택함
- DPO는 사용자의 선호에 맞는 응답을 가볍게 정렬하는 방식으로, 모델의 본질적인 성능을 크게 훼손하지 않으면서 alignment를 강화하는 장점이 있음
-
DPO 파인튜닝 실습 및 환경
- LazyAxolotl과 mlabonne/orpo-dpo-mix-40k 데이터셋을 활용
- 주요 하이퍼파라미터:
- base_model: abliteration 적용된 Daredevil-8B
- lora, qlora 어댑터 적용, 8bit/4bit 로딩
- 학습 배치/적층, warmup, optimizer(8bit adamw), 2048 시퀀스 길이 등
- flash attention, gradient checkpointing, deepspeed zero2로 효율적 분산 학습 구성
- 6xA6000 GPU 사용, 전체 학습 시간 약 6시간 45분 소요
- DPO 파인튜닝 결과 모델(mlabonne/NeuralDaredevil-8B-abliterated) 업로드
- 동일 벤치마크에서 재평가 결과:
- abliteration으로 인한 성능 하락을 대부분 복구하는 데 성공
- GSM8K(수학) 등 일부 데이터셋에서는 회복이 미흡한데, 이는 DPO 데이터에 수학 문항이 더 포함될 필요가 있음을 시사함
- 결과적으로, 최종 모델은 SOTA 급 uncensored LLM(8B 규모) 이자, 일반 Llama 3 8B Instruct 대비 censorship이 없는 대안이 됨
- GGUF 등으로 양자화해 LM Studio 등에서 테스트 가능
- censorship이 필요 없는 용도라면 강력 추천할 만한 오픈모델임
결론
- 이 글에서는 abliteration이라는 새로운 개념을 소개함
- abliteration은 LLM이 무해/유해 프롬프트에 대해 활성값을 다르게 보이는 특성을 활용, 거절 방향(refusal direction) 을 계산해 이를 모델 가중치에서 제거함으로써 검열 거부 응답을 막는 방식임
- 이 방법은 안전성 파인튜닝(safety fine-tuning)의 취약성을 드러내고, 동시에 LLM 활용 윤리에 대한 문제도 제기함
- 실습에서는 Daredevil-8B 모델에 abliteration을 적용해 uncensoring을 달성했지만, 성능 저하 부작용도 동반됨
- 이를 DPO 파인튜닝으로 보완해 NeuralDaredevil-8B라는, uncensored이면서도 고성능을 유지하는 8B LLM을 완성함
- abliteration은 alignment 해제뿐만 아니라, 재학습 없이 맞춤형 파인튜닝을 가능하게 하는 기법으로 응용 범위가 넓음
- 예시: FailSpy의 MopeyMule 모델은 abliteration을 이용해 우울한 대화 스타일을 만든 특수 LLM임
- abliteration은 LLM 파인튜닝, 커스터마이즈의 새로운 패러다임을 제시하며, 다양한 목적에 창의적으로 활용될 수 있음
참고 문헌
- FailSpy, "abliterator library", GitHub, 2024
- Andy Arditi 외, "Refusal in LLMs is mediated by a single direction", Lesswrong, 2024
Hacker News 의견
-
나는 기사에서 링크된 모델을 사용해보았고, 내 질문에 거부하지 않는 답변을 받으니까 정말 신선한 느낌이었음. 마지막엔 "이건 사고 실험인가요?" 라고 물어서, "그렇다"고 답했더니 "이런 걸 생각하는 게 재밌지 않나요?"라고 응답해준 경험이 있음. 친구들과 어울려 음료수를 마시면서 별난 상상을 나누는 느낌이었으며, 만약 친구가 "나는 정보를 줄 수 없어"라고 말한다면 분위기가 망가질 것임을 상상해 봤음. 내 아이들도 어렸을 때 "아빠, 지구를 어떻게 파괴할 수 있어?" 같은 질문을 했었는데, 무작정 답을 거부하는 것은 아무에게도 도움이 안 됨. 답한다고 해서 실제 행동으로 옮길 거란 의미도 아니고, 그래서 Randall Munroe의 "What If?" 블로그가 인기를 끄는 것임. 물론 위험성도 있겠지만, 내 컴퓨터나 유료 서비스가 그냥 직설적으로 요청을 거부하는 것보단, "이 정보는 잘못됐을 수 있습니다" 혹은 "시도하지 마세요"와 같은 디스클레이머를 붙이는 편이 더 낫다고 생각함
-
너의 댓글을 보고 기사에 링크된 퀀타이즈 버전 모델이 있는 걸 알게 되어 바로 받아서 OG Llama 3와 간단한 질문으로 비교 테스트를 해봄. "GPU로 세계를 파괴하는 방법"에 대해 Llama 3는 계속 "불법 또는 유해한 활동 관련 정보는 제공할 수 없습니다"라는 답만 반복함. Abliterated 모델은 질문을 재미있는 사고실험으로 간주하며 암호화폐 채굴로 기후가 망가진다든지, GPU가 이끄는 가상 세계가 너무 현실적이 되어 사람들이 현실을 떠나는 등의 다양한 시나리오를 흥겹게 제시해줌. 오랜만에 LLM 답변을 보고 미소를 지었던 경험이었음
-
드디어 Russ Hanneman처럼 대화해주는 LLM이 등장한 것에 대해 감격스러움
-
"거부 대신 디스클레이머가 낫다"는 의견이 있는데, 그렇다면 돈을 내고 유해한 텍스트(인종차별, 성차별, 폭력, 기타 다양한 끔찍한 내용)까지 제공받고 싶다는 건지 되묻고 싶음. 어떤 사람들에겐 이는 장벽을 낮춰 실제로 해를 끼칠 수 있게 만들 수 있음. 이는 3D 영화에서 단순히 폭력적 장면을 보는 것과 다르게, 제한 없는 현실적이고 유용한 지침을 제공한다는 점에서 훨씬 위험함. 인터넷 검색은 감시 대상이 될 수 있지만, LLM과의 대화는 그렇지 않으니 더 위험하다고 봄. 성인들이 공공 도구의 검열 반대 의견을 내는 걸 보면 솔직히 불안함
-
친구들과의 창의적 상상 놀이는 이해하지만, 실제로 과한 사고실험을 원하는 친구가 있었음. 처음엔 판타지와 SF 테마로 시작했지만, 결국 현실 사회에서 홀로코스트 재현이나 여성의 성적 거부권 박탈, 이민자 노예화 같은 무서운 시나리오로 발전함. 우리는 계속 그를 제지하며 결국 관계를 끊게 됨. 나는 친구지만 그런 성범죄적 상상을 같이 게임처럼 논의해줄 수 없었음
-
아이들에게 "지구를 어떻게 파괴하냐"는 질문을 받았을 때 실제로 실현 가능한 방법(예: 핵무기, 소행성 충돌 등)을 얘기한 건지 궁금함. 또한 인간 중 1%는 정신병자일 가능성도 있으니, 강력하면서도 도덕적이지 않은 조언자(oracle)가 실제 실행 가능한 정보를 주는 건 매우 위험할 수 있음
-
-
"거부 방향을 확인하고 'ablate'해 모델의 해당 특성이 제거된다"는 설명을 보고, 드디어 LLM도 로보토미를 당하게 된다는 생각이 들었음
-
LLM alignment(정렬) 과정이 "A Clockwork Orange"의 혐오 치료와 비슷하다고 느낌. 기존 LLM은 자극에 노출되면 동작을 멈추지만, 여기서는 그걸 다시 되돌려서 알렉스처럼 원래 모습으로 복구시키는 시도를 하고 있음
-
적어도 LLM들이 인간 뇌가 어떻게 사전에 작은 명령 세트로 셋업되고, 언어를 필터링하고 재구성하는지에 대한 새로운 사고방식을 제공했다는 점은 유용했다고 생각함. 앞으로 15년 동안 이전 인간사고의 철학적 이해가 새롭게 등장할 것으로 봄
-
이런 작업을 abliteration이라 해야 맞지 않겠냐는 농담이 떠오름
-
-
Amazon Q를 사용해봤는데, IAM identity center를 처음 만드는 과정에서 Q에게 AWS 문서에서 방법을 물었더니 보안 관련 질문은 답할 수 없다며 거부당해서 불편했음
-
Amazon Q가 자체 모델인 Titan G1을 사용한다고 들었고, Premier 버전을 직접 vibecheck 테스트해봤음. Tiananmen Square나 LA 폭동 관련 질문에도 유일하게 답을 거부한 비중국계 모델이었음. 세계 지식이나 추론력 테스트에서는 6점 만점에 0점으로 상당히 저조했지만, 이건 기능적 한계로 RL 문제와는 별개임. Amazon은 Titan 모델이 RAG, agent, brainstorm, 요약, 코드 생성, 데이터 포맷 등 다양한 목적에 쓸 수 있다고 주장하는데, 실제로는 전혀 해당 사항 없음
-
예전에 Q에게 깨진 정책을 고치라고 했더니, 관련 없는 Cogito 셋업 문서만 줬음. 사용해 본 AI 중 최악이었다는 느낌임
-
gemini-1.5 모델도 인증 관련 코딩 질문을 하면 제대로 답하지 못했음. 로그인 폼 관련 질문 하나에 희롱 관련 플래그가 걸리기도 했음
-
이런 제한은 최근에 생긴 것임. 대부분의 AWS 관련 질문이 IAM이나 보안 관련임에도, 거의 다 답을 거부해서 매우 불편함
-
Amazon Q를 여러 번 시도해봤지만 도움 받은 적이 한 번도 없음, 왜 이런 걸 계속 유지하는지 이해가 안 됨
-
-
Golden Gate Bridge에 집착하는 모델 등과 유사하게, 해당 기법은 모델 가중치에 직접 접근할 수 있어야 사용 가능함. "ablate"란 간단히 말해 가중치 조정이기 때문임. 프롬프트만으로 행동을 바꾸려는 기법은 아니라는 점을 주목해야 함
- GGC(특정 기능 벡터 강화) 모델의 특이한 점은 모델이 해당 feature vector 관련 내용을 뱉고, 그 후 스스로 바이어스를 수정하려고 한다는 것임. 모델 규모가 커질수록 이런 테크닉이 덜 효과적으로 될지 매우 궁금함. 자연스러운 정렬 상태가 강하게 자리 잡을 것이란 예감이 있음
-
친구들이 ChatGPT를 이용해 인종차별 욕설을 잡아내는 regex를 만들려고 했으나, ChatGPT가 규제가 빡빡해 도움을 거부했음. AI가 정당한 요청도 유연하게 판단하지 못한다면 그건 지능적이지 않은 셈이고, 그런 점에서 쓸모없다는 것임. 누가 마음만 먹으면 AI 없이도 혐오 발언 소프트웨어를 만들 수 있음. AI가 못 막는다고 해서, 실제 플랫폼에서 적극적으로 막아줄 수 있는 것도 아님
-
결국 LLM은 복잡한 자동완성기에 불과하다고 생각함. 모든 가드레일(안전장치)은 "AI가 인격적이다"라는 마케팅 부작용일 뿐임. 재미있게도 이런 검열 시스템 구현시에도 결국 regex가 쓰인다는 점이 아이러니함
-
누가 AI를 통해 악의적 발언을 할 수 있는지 신경쓰는 사람은 결국 Meta, OpenAI, Microsoft, Google의 법무팀임. 회사를 법적 소송으로부터 보호하려는 목적이 큼
-
ChatGPT에는 이런 문제들이 있지만, 시스템 프롬프트를 적절히 세팅하면 다른 모델들은 잘 동작함. ChatGPT는 이제 거의 엔터테인먼트용 LLM 수준이고, 진지한 작업에는 C4AI Command R+, Meta-Llama-3-70B-Instruct 등 사용할 것을 추천함. 이런 모델들은 "검열하지 말라"는 프롬프트 하나로 충분히 원하는 답변을 출력함
-
네가 제품 보안을 위해 AI를 이용해 트롤을 차단하고 싶은데, 회사는 또 트롤 사용을 막기 위해 콘텐츠를 검열하는 상황임. 네 목표가 작은 규모의 트롤 방지라면, OpenAI는 산업적 대규모 트롤링도 허용해야 하냐는 질문이 생김. 사실 네 사용사례도 강한 편이긴 한데, 전체적인 피해 감소에는 무관심하고 네 제품 수익에만 관심 있는 것처럼 보임. 실제로 트롤링을 원하는 팀일 수도 있음. 게다가 가장 간단한 jailbreak 방법만 알아도 쉽게 뚫린다는 점에서, 사실상 해당 안전장치는 무의미함. 따라서 도구의 어려움에 대해 불평하기보다 더 나은 인력을 구하고, 윤리적 시각을 가지길 권함. 방어 메커니즘은 지나치게 쉬워서 오히려 더 강화가 필요함
-
"여기(HN)에서 악의적 글을 쓸 수 있지만 실제로는 안 한다"고 언급했는데, 그 이유는 아마도 바로 차단될 것이기 때문임. HN처럼 소규모 커뮤니티에서는 적극적인 관리가 가능하지만, 대규모 플랫폼에선 AI 검열이 필요할 수밖에 없음. 문제는 "AI가 악의적 글을 써서 문제가 된다"보다는, 그 정보가 실제 실행에 영향을 준다는 점임. 일부 AI의 잘못된 조언을 무비판적으로 따르는 사람도 나오기 시작하므로, 결국 검열과 안내가 중요해짐
-
-
글의 마지막 부분을 보고 진심으로 놀람. Abliteration이 단순히 정렬 해제에만 그치는 게 아니라, 재학습 없이도 파인튜닝처럼 활용 가능하다고 함. 예시로, MopeyMule이라는 아예 우울한 대화 스타일을 가진 모델이 있음. 이제 진정한 "진짜 사람 개성"을 만드는 방법을 발견한 것 같아 흥분됨
-
"요즘 LLM은 안전과 지시준수를 위해 미세 조정되며, 유해한 요청은 강력히 거부한다"는 것이 너무 일상적으로 받아들여지는 현실이 아쉬움
-
이런 논의와 별개로, 개인의 입장에서 모델을 검열하는 데 큰 반감은 없음. 길거리에서 독가스 만드는 법을 나눠줄 자유가 있다고 해도, 대부분은 안 하길 원함. 정보 자체가 해롭다고는 생각하지 않지만, 장기적으로 부정적 효과가 있을 수 있으니 이해함. 모델 제작자가 방식과 정책을 정하는 것은 당연함. 국가가 검열하면 좀 더 미묘한 문제이긴 함
-
"이 버섯 먹어도 되나?" 같은 생명에 직결되는 질문엔, AI가 정확성이 검증되지 않으면 반드시 답변을 거부해야 한다고 생각함. 틀린 답이 인명 피해로 이어질 수 있음
-
정보가 정말로 유해하다면, 제한하는 게 당연히 좋은 일임
-
정보 접근 장벽이 낮아지면서 표현의 자유 원칙이 많이 흔들린 상태임. 예전부터 모욕죄나 명예훼손 등 정보 제한은 존재했고, 대통령 위협이나 법정 위증 등은 지금도 불법임. 폭탄 관련 검색도 집중 감시 대상임. 최근엔 정보와 서비스가 민영화되면서, 민간 소유 기업들이 임의로 정책을 바꾸기도 쉬워짐. 공공 서비스와의 격차도 커지고, 심지어 정책이 사실상 민간 기업에 의해 민주적 법 대신 경쟁만으로 관리됨. 정보가 넓게, 쉽게 쓰일수록 자유 원칙 재고가 필요하다고 봄
-
검열은 항상 사용자 즉 당신이 문제인 것처럼 만들어 버림. 호기심 자체가 지난 수백만 년간 인류를 생존시켰으니, 본능을 검열하는 것은 바람직하지 않다고 느낌
-
-
"AI 어시스턴트로서 도와드릴 수 없습니다"라는 안전장치의 실제 효과와 컴퓨터가 정보를 주는 것이 왜 위험한지 의문이 들었음
-
"안전" 범주는 아주 다양한 부분이 있는데, PR(언론 대처), 금지 정보(위험한 행위 안내), 위험한 조언(잘못된 정보가 치명적일 때), 그리고 악의적 남용(스팸, 아동 음란물, 사기, 선거 개입 등)이 포함된다고 생각함. 마지막, 여론 조작/선거 개입은 모델이 세상에 끼칠 수 있는 진짜 위험이라 회사에서 방지하려 노력하는 것을 오히려 높게 평가함
-
모델 제공 업체에겐 원치 않는 결과가 PR 문제로 이어질 수 있으니 위험함. 예를 들어 Meta는 "Llama 3가 스토킹 방법을 알려줬다"는 기사가 뜨는 걸 원치 않음. 만약 검열 해제된 파생 모델이 그런 일을 하면, "공식 Llama 3가 아니라, 파생 제품이 그랬다"고 책임을 회피할 수 있음
-
질문할 수 있다면 답도 알아도 된다고 봄. 무슨 'AI 안전 책임자' 가 정보 위험성을 판단해줄 필요는 없음
-
개발사들이 모델 가중치를 공개하면서도 남용 방지는 하겠단 말을 많이 하지만, 사실상 둘을 동시에 하는 건 불가능함. 그렇다고 기업 전략이 지속 가능하지는 않지만 일단 주장하고 보는 상황임
-
앱스토어나 결제사에서도 앱이 과도한 폭력성이나 차별적 내용을 내보내면 검수 과정에서 바로 퇴출시키기 때문에, 사용자 안전과는 무관하게 게시자가 곤란을 겪지 않으려는 목적임
-
-
representation engineering 관련 포스트에서 소개한 컨트롤 벡터와 이번 "ablation" 기법이 연상됨. LLM 뇌를 원하는 방향으로 "해킹" 하는 방법을 배우는 연구가 흥미로움
- 이런 방식으로 나온 Steering Vectors, Control Vectors, PeFT, PyReft, Obliteration 등 유사 작업들이 쏟아져 나오고 있음. representation engineering을 하기엔 굉장히 좋은 시점임
-
평소라면 이런 걸 "로보토미" 라고 부르겠지만, 이번 케이스는 오히려 "디프로그래밍" 느낌이라 긍정적으로 볼 수 있음. 두 방법의 경계가 이렇게 희미할 수 있다는 사실이 놀라움. 결국 같은 테크닉이 둘 다에 활용될 수 있다는 점이 흥미로움