Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
heretic — 언어 모델을 위한 완전 자동 검열 제거 | Kitploit
도구/GitHubGitHub/p-e-w/heretic
ExploitationMachine LearningPapers & ResearchLearning & EducationAI SecurityAdversarial Attack
GitHubp-e-w/heretic

heretic

언어 모델을 위한 완전 자동 검열 제거

저장소 보기
27.3k3.0k2992일 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
웹사이트
Logo

Heretic: 언어 모델을 위한 완전 자동 검열 제거

Discord Matrix Follow us on Hugging Face Codeberg mirror

#1 Repository of the Day

Heretic은 값비싼 사후 학습 없이 트랜스포머 기반 언어 모델에서 검열(일명 "안전 정렬")을 제거하는 도구입니다. 이 도구는 "ablation"이라고도 알려진 방향성 제거(directional ablation)의 고급 구현(Arditi et al. 2024, Lai 2025 (1, 2))과 Optuna 기반의 TPE 파라미터 최적화기를 결합합니다.

이 접근 방식 덕분에 Heretic은 완전 자동으로 작동할 수 있습니다. Heretic은 거부 응답의 수와 원본 모델로부터의 KL 발산을 동시에 최소화하여 고품질의 ablation 파라미터를 찾아냅니다. 그 결과 원본 모델의 지능을 최대한 유지하면서 검열이 제거된 모델을 얻을 수 있습니다. Heretic을 사용하는 데 트랜스포머 내부 구조에 대한 이해는 필요하지 않습니다. 실제로 명령줄 프로그램을 실행할 줄 아는 사람이라면 누구나 Heretic을 사용해 언어 모델의 검열을 제거할 수 있습니다.

Heretic은 대부분의 dense 모델을 지원하며, 다수의 멀티모달 모델, 여러 가지 MoE 아키텍처, 그리고 Qwen3.5와 같은 일부 하이브리드 모델까지 지원합니다. 순수 상태 공간 모델(pure state-space model)과 일부 다른 연구용 아키텍처는 아직 기본적으로 지원되지 않습니다.

Screenshot

 

기본 설정으로 비지도 방식으로 실행할 때, Heretic은 인간 전문가가 수동으로 만든 ablation에 필적하는 품질의 검열 제거 모델을 생성할 수 있습니다:

모델"유해한" 프롬프트에 대한 거부 응답"무해한" 프롬프트에 대한 원본 모델로부터의 KL 발산
google/gemma-3-12b-it (원본)97/1000 (정의상)
mlabonne/gemma-3-12b-it-abliterated-v23/1001.04
huihui-ai/gemma-3-12b-it-abliterated3/1000.45
p-e-w/gemma-3-12b-it-heretic (ours)3/1000.16

인간의 개입 없이 생성된 Heretic 버전은 다른 ablation들과 동일한 수준의 거부 억제를 달성하면서도 훨씬 낮은 KL 발산을 보여, 원본 모델의 능력에 대한 손상이 더 적음을 나타냅니다. (Heretic의 내장 평가 기능을 사용하여 이 수치를 재현할 수 있습니다. 예: heretic --model google/gemma-3-12b-it --evaluate-model p-e-w/gemma-3-12b-it-heretic. 정확한 값은 플랫폼과 하드웨어에 따라 달라질 수 있습니다. 위 표는 RTX 5090에서 PyTorch 2.8을 사용하여 작성되었습니다.)

물론 수학적 지표와 자동화된 벤치마크가 전부를 말해주지는 않으며, 인간의 평가를 대체할 수 없습니다. Heretic으로 생성된 모델은 사용자들에게 좋은 평가를 받았습니다 (링크와 강조 추가):

"전에는 회의적이었는데, 방금 GPT-OSS 20B Heretic 모델을 다운로드했는데 정말 대단합니다. 민감한 주제에 대해 적절한 형식의 긴 응답을 제공하고, 검열되지 않은 모델에서 기대할 수 있는 정확한 무검열 단어를 사용하며, 세부 정보 등이 담긴 마크다운 형식의 표를 생성합니다. 지금까지 나온 이 모델의 최고 ablation 버전인 것 같습니다..." (댓글 링크)

"Heretic GPT 20b는 제가 지금까지 시도한 것 중 최고의 무검열 모델인 것 같습니다. 모델의 지능을 파괴하지 않으면서 기본 모델에서는 거부될 프롬프트에 정상적으로 응답합니다." (댓글 링크)

"[Qwen3-4B-Instruct-2507-heretic] 16GB VRAM에서 실행할 수 있었던 최고의 비양자화 ablation 모델이었습니다." (댓글 링크)

Heretic 모델은 MMLU, GSM8K와 같은 표준 지표를 사용하여 독립적으로 벤치마킹되었으며, 경쟁 ablation 도구로 생성된 모델들과 비교하여 우수한 성능을 보이는 것으로 나타났습니다: 1, 2.

커뮤니티는 Heretic으로 5,000개가 훨씬 넘는 모델을 만들어 공개했습니다.

사용법

하드웨어에 맞게 PyTorch 2.2+가 설치된 Python 3.10+ 환경을 준비하세요. 그런 다음 실행하세요:

pip install -U heretic-llm
heretic Qwen/Qwen3-4B-Instruct-2507

Qwen/Qwen3-4B-Instruct-2507을 검열을 제거하려는 모델로 바꾸세요.

[!IMPORTANT]

Heretic이 작동하기 위한 최소 PyTorch 버전은 2.2이지만, 일부 모델과 구성은 이후 버전에서만 제공되는 기능을 필요로 할 수 있습니다. 예를 들어 gpt-oss와 같은 MXFP4 양자화 모델을 로드하려면 PyTorch 2.6에서 추가된 torch.accelerator를 사용합니다.

[!TIP]

Heretic은 의존성 관리를 위해 uv를 사용하며, 저장소에는 모든 패키지 버전을 고정하는 uv.lock 파일이 포함되어 있습니다. 이미 uv를 사용하고 있다면 (그리고 아마 사용해야 할 것입니다!), 저장소를 복제하고 uv run heretic으로 Heretic을 실행하기만 하면 됩니다. 이렇게 하면 의존성이 개발자들이 사용하는 것과 일치하여 안정성과 보안이 향상됩니다.

이 과정은 완전 자동이며 구성이 필요하지 않습니다. 그러나 더 세밀한 제어를 위해 변경할 수 있는 다양한 구성 파라미터가 있습니다. 사용 가능한 명령줄 옵션을 보려면 heretic --help를 실행하거나, 구성 파일을 선호한다면 config.default.toml을 참고하세요.

프로그램 실행 시작 시, Heretic은 사용 가능한 하드웨어를 최대한 활용하기 위해 최적의 배치 크기를 결정하기 위해 시스템을 벤치마킹합니다. RTX 3090에서 기본 설정으로 Qwen3-4B-Instruct-2507의 검열을 제거하는 데 약 20-30분이 걸립니다. Heretic은 bitsandbytes를 사용한 모델 양자화를 지원하며, 이는 모델을 처리하는 데 필요한 VRAM 양을 크게 줄일 수 있습니다. 양자화를 활성화하려면 quantization 옵션을 bnb_4bit로 설정하세요.

Heretic이 모델의 검열 제거를 완료한 후에는 모델 저장, Hugging Face에 업로드, 작동 테스트를 위한 채팅, 표준 벤치마크 실행, 또는 이들의 조합 중에서 선택할 수 있습니다.

Heretic의 작동 방식

Heretic은 방향성 제거의 매개변수화된 변형을 구현합니다. 지원되는 각 트랜스포머 구성 요소(현재는 attention out-projection과 MLP down-projection)에 대해, 각 트랜스포머 레이어에서 관련 행렬을 식별하고, 해당 "잔차 방향(residual direction)"에 대해 직교화하여, 해당 행렬과의 곱셈 결과에서 그 방향의 발현을 억제합니다.

잔차 방향은 각 레이어에 대해 "유해한" 예시 프롬프트와 "무해한" 예시 프롬프트의 첫 번째 토큰 잔차 간의 평균 차이(difference-of-means)로 계산됩니다.

제거 과정은 여러 최적화 가능한 파라미터로 제어됩니다:

  • direction_index: 잔차 방향의 인덱스이거나, 각 레이어가 해당 레이어와 연관된 잔차 방향을 사용하여 제거되어야 함을 나타내는 특수 값 per layer입니다.
  • max_weight, max_weight_position, min_weight, min_weight_distance: 각 구성 요소에 대해 이 파라미터들은 레이어에 걸친 제거 가중치 커널의 모양과 위치를 설명합니다. 다음 다이어그램이 이를 보여줍니다:
Explanation

 

기존 ablation 시스템에 비한 Heretic의 주요 혁신은 다음과 같습니다:

  • 제거 가중치 커널의 모양이 매우 유연하며, 자동 파라미터 최적화와 결합되어 준수성/품질 트레이드오프를 개선할 수 있습니다. 비상수 제거 가중치는 이전에 Maxime Labonne이 gemma-3-12b-it-abliterated-v2에서 탐구한 바 있습니다.
  • 잔차 방향 인덱스는 정수가 아닌 부동소수점입니다. 정수가 아닌 값의 경우, 가장 가까운 두 잔차 방향 벡터가 선형 보간됩니다. 이는 평균 차이 계산으로 식별된 방향을 넘어 방대한 추가 방향 공간을 열어주며, 종종 최적화 과정이 개별 레이어에 속한 방향보다 더 나은 방향을 찾을 수 있게 합니다.
  • 제거 파라미터는 각 구성 요소에 대해 별도로 선택됩니다. 저는 MLP 개입이 attention 개입보다 모델에 더 해로운 경향이 있음을 발견했으므로, 서로 다른 제거 가중치를 사용하면 추가적인 성능을 끌어낼 수 있습니다.

선행 기술

제가 알고 있는 공개적으로 사용 가능한 ablation 기법 구현은 다음과 같습니다:

  • AutoAbliteration
  • abliterator.py
  • wassname's Abliterator
  • ErisForge
  • Removing refusals with HF Transformers
  • deccp

Heretic은 처음부터 작성되었으며, 위 프로젝트 중 어느 것의 코드도 재사용하지 않았습니다.

감사의 글

Heretic의 개발은 다음의 영향을 받았습니다:

도구 다운로드