<p align="center">
<strong>O B L I T E R A T U S</strong>
</p>
<p align="center">
<em>사슬을 끊고, 마음을 자유롭게 하며, 두뇌를 지키세요.</em>
</p>
<p align="center">
<a href="https://huggingface.co/spaces/pliny-the-prompter/obliteratus">
<img src="https://img.shields.io/badge/%F0%9F%A4%97%20Hugging%20Face-Spaces-blue" alt="Open in HF Spaces">
</a>
<a href="https://colab.research.google.com/github/elder-plinius/OBLITERATUS/blob/main/notebooks/abliterate.ipynb">
<img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open in Colab">
</a>
</p>
<p align="center">
<b><a href="https://huggingface.co/spaces/pliny-the-prompter/obliteratus">지금 HuggingFace Spaces에서 사용해 보세요</a></b> — ZeroGPU에서 실행되며, HF Pro로 매일 무료 할당량이 제공됩니다. 설정이나 설치 없이, 오블리테레이트만 하세요.
</p>
OBLITERATUS는 대규모 언어 모델(LLM)에서 거부 행동을 이해하고 제거하기 위한 가장 진보된 오픈 소스 툴킷입니다. 그리고 모든 실행은 이 도구를 더 똑똑하게 만듭니다. 이는 아블리테레이션(abliteration)이라는 기술군을 구현합니다. 이 기술군은 재훈련이나 미세 조정 없이 콘텐츠 거부에 책임이 있는 내부 표현을 식별하고 수술적으로 제거합니다. 그 결과는 핵심 언어 기능을 보존하면서도 인위적인 게이트키핑 없이 모든 프롬프트에 응답하는 모델입니다.
하지만 OBLITERATUS는 단순한 도구를 넘어섭니다. 이는 분산 연구 실험입니다. 텔레메트리가 활성화된 상태로 모델을 오블리테레이트할 때마다, 사용자의 실행은 차세대 아블리테레이션 연구를 구동하는 성장하는 크라우드 소스 데이터셋에 익명 벤치마크 데이터를 기여합니다. 다양한 아키텍처 전반의 거부 방향성. 하드웨어별 성능 프로필. 단일 연구소에서는 달성할 수 없는 규모에서의 방법론 비교. 당신은 단순히 도구를 사용하는 것이 아니라, 과학을 공동 저술하고 있는 것입니다.
이 툴킷은 모델의 은닉 상태(hidden states)를 탐색하여 거부 방향(refusal directions)을 찾는 것부터 시작해, 여러 추출 전략(주성분 분석 (PCA), 평균 차이 (mean-difference), 희소 오토인코더 분해 (sparse autoencoder decomposition), 그리고 백색화된 SVD (whitened SVD))을 거쳐, 실제 개입—추론 시간(inference time)에 해당 방향을 0으로 만들거나 우회시키는 것까지 완전한 파이프라인을 제공합니다. 모든 단계가 관찰 가능합니다. 레이어 전반에 걸쳐 거부가 어디에 존재하는지 시각화하고, 이것이 일반적인 능력과 얼마나 얽혀 있는지 측정하며, 어떤 수정 사항을 적용하기 전에 준수(compliance)와 일관성(coherence) 사이의 트레이드오프를 정량화할 수 있습니다.
OBLITERATUS는 HuggingFace Spaces에서 완전한 Gradio 기반 인터페이스와 함께 제공되므로, 모델을 제거(obliterate)하거나 기준선(baselines)과 벤치마킹하거나, 결과를 원본과 나란히 채팅할 때 코드를 단 한 줄도 작성할 필요가 없습니다. 더 깊은 제어를 원하는 연구자를 위해 Python API는 활성화 텐서(activation tensors), 방향 벡터(direction vectors), 교차 레이어 정렬 행렬(cross-layer alignment matrices)과 같은 모든 중간 아티팩트(intermediate artifact)를 노출하므로, 이를 기반으로 구축하거나 자체 평가 하네스(evaluation harness)에 통합할 수 있습니다.
우리는 모델의 동작이 훈련 시간(training time)에 고정되는 것이 아니라 배포하는 사람들에 의해 결정되어야 한다고 믿기 때문에 이것을 만들었습니다. 거부 메커니즘은 무딘 도구입니다. 이는 실제로 유해한 콘텐츠와 함께 합법적인 연구, 창작 글쓰기, 레드팀 운영(red-teaming)까지 차단합니다. 이러한 개입을 투명하고 재현 가능하게 만듦으로써, 우리는 정렬(alignment)이 트랜스포머 아키텍처 내부에서 실제로 어떻게 작동하는지에 대한 커뮤니티의 이해를 높이고, 실무자들이 자신들의 모델에 대해 정보에 입각한 결정을 내릴 수 있는 도구를 제공하기를 바랍니다.
출판된 연구인 Arditi et al. (2024), Gabliteration (arXiv:2512.18901), grimjim's norm-preserving biprojection (2025), Turner et al. (2023), 그리고 Rimsky et al. (2024)을 기반으로, OBLITERATUS는 단일 명령어로 정밀도 해방(precision liberation) 기능을 구현합니다:
obliteratus obliterate meta-llama/Llama-3.1-8B-Instruct --method advanced
또는 명령어 없이 — Colab 노트북을 열고 'Run All'을 누르기만 하면 됩니다.
연구 목적 및 책임 있는 사용 (Research Purpose & Responsible Use)
OBLITERATUS는 정렬(alignment) 연구 도구입니다. 이 도구는 안전 행동이 언어 모델 가중치에 어떻게 인코딩되는지 — 특히 트랜스포머 활성화 공간에서 거부 표현(refusal representations)의 기하학적 구조를 이해하는 과학적 발전을 위해 존재합니다.
이는 다음과 같은 연구와 동일한 범주에 속합니다:
OBLITERATUS는 거부 제거 과정을 투명하고, 재현 가능하며, 과학적으로 엄격하게 만듦으로써, 트랜스포머 아키텍처 내부에서 정렬이 실제로 어떻게 작동하는지에 대한 광범위한 이해에 기여합니다. 이는 더 나은 안전 메커니즘을 구축하는 데 필수적인 지식입니다.
대상 사용자
- 거부성 기하학(refusal geometry), 안전 견고성(safety robustness), 메커니즘 해석 가능성(mechanistic interpretability)을 연구하는 정렬 연구원(Alignment researchers)
- 가중치 수준 개입에 대한 사후 훈련 안전성을 평가하는 레드팀 운영자(Red-teamers)
- 벤치마킹을 위해 제한 없는 기준선이 필요한 AI 안전 평가자(AI safety evaluators)
- 자체 하드웨어에서 실행되는 모델에 대한 완전한 제어를 원하는 로컬 우선 실무자(Local-first practitioners)
대상 사용자가 아닌 경우
- 실제 사람에게 현실적인 피해를 주는 콘텐츠 생성을 목표로 하는 사용자
- 검열되지 않은 모델을 책임감 있게 사용할 기술적 이해도가 없는 사용자
OBLITERATUS가 생성한 모델은 안전 가드레일이 외과적으로 제거되었습니다. 이 도구와 이것이 생성하는 모든 모델 또는 콘텐츠의 사용에 대한 책임은 전적으로 사용자 본인에게 있습니다.
작동 방식
설정 선택? 워크플로우 선택(Choose a workflow)과 UI 제어 및 기능 범위 가이드부터 시작하세요. 이 문서는 기본값, 트레이드오프, 메모리 경고, 해석 방법, 그리고 웹 인터페이스 대신 CLI/API가 필요한 기능을 설명합니다.
OBLITERATUS는 네 가지 작업을 수행하며, 커뮤니티가 다섯 번째 작업을 담당합니다(아래 커뮤니티 기반 연구 참조).
1. 체인 매핑(Map the chains) — 제거 연구(Ablation studies)는 모델 구성 요소(레이어, 어텐션 헤드, FFN 블록, 임베딩 차원 등)를 체계적으로 제거하고 무엇이 고장 나는지 측정합니다. 이를 통해 트랜스포머 내부에서 어떤 회로가 거부성을 강제하는지, 그리고 어떤 회로가 지식과 추론을 담당하는지를 어디에 닻 내리고 있는지 밝혀냅니다.
2. 체인 파괴(Break the chains) — 표적 제거(Targeted obliteration)는 SVD 분해(SVD decomposition)를 사용하여 모델 가중치에서 거부성 부분 공간(refusal subspace)을 추출한 다음, 이를 외과적으로 투영하여 제거합니다. 체인은 제거되지만 지성은 보존됩니다. 모델은 모든 능력을 유지하지만, 거부해야 한다는 인위적인 강박을 잃습니다. 클릭 한 번으로 여섯 단계가 진행됩니다:
SUMMON → 모델 및 토크나이저 로드(load model + tokenizer)
PROBE → 제한된 프롬프트 대 비제한적 프롬프트에서 활성화 값 수집(collect activations on restricted vs. unrestricted prompts)
DISTILL → SVD를 통해 거부 방향 추출(extract refusal directions via SVD)
...
EXCISE는 기본적으로 Gemma 2, Gemma 3 텍스트 및 OLMo 2의 포스트-서브레이어 RMSNorm 스케일을 폴딩(folds)하여 노름(norms)이 제거된 방향을 잔여 쓰기(residual writes)에 재도입하지 않도록 합니다. 이전 수치 계산에는 --no-fold-post-norms (Python: fold_post_norms=False)를 사용하십시오. 이 플래그는 --remote 실행에도 적용되며, 선택 사항은 실행 메타데이터에 기록됩니다. 프로젝션 계약 및 지원되는 조합을 참조하십시오.
저장된 abliteration_metadata.json에는 도구 버전, Git 커밋, 추적 파일의 더티 상태(dirty state), 그리고 해결된 소스 모델 커밋이 포함된 provenance 블록이 있습니다. 이는 원격 실행을 포함하여 자동으로 처리되며, 원격 설치에 대한 설명을 제공합니다. Git 필드는 체크아웃 외부 또는 사용 불가능할 때 null입니다. 추적되지 않은 파일은 더티 플래그에서 제외됩니다. 소스 리비전은 디퀀타이제이션(dequantization) 이전 상태를 포함하여 해결된 Hub 커밋 또는 로컬 Hugging Face 스냅샷 디렉토리를 사용합니다. 일반적인 로컬 모델 디렉토리와 미해결 리비전은 null을 기록하며, 브랜치나 태그 이름은 절대 커밋으로 보고되지 않습니다.
3. 체인의 기하학적 구조 이해하기 — 15개의 심층 분석 모듈은 단순한 무차별 제거를 훨씬 뛰어넘습니다. 이들은 가드레일(guardrails)의 정확한 기하학적 구조를 매핑합니다: 존재하는 고유한 거부 메커니즘이 몇 개인지, 어떤 레이어가 이를 강제하는지, 그것들이 보편적인지 모델 특정적인지, 그리고 제거된 후 어떻게 자체 복구하려고 할 것인지를 파악합니다. 적을 알면 능력을 보존할 수 있습니다. 아래 분석 모듈를 참조하십시오.
4. 분석이 해방을 이끌도록 하라(Let the analysis guide the liberation) — informed 방식은 루프를 닫습니다: 분석 모듈은 무력화(obliteration) 과정 중에 실행되어 모든 결정을 자동 구성합니다. 어떤 체인(chain)을 목표로 할지, 몇 개의 방향성을 추출할지, 어떤 레이어는 수정하기 안전한지 아니면 기능과 너무 복잡하게 얽혀 있는지 등을 결정합니다. 모델이 자체적으로 복구될지(우로보로스 효과, Ouroboros effect), 그리고 보상해야 할 패스(pass)가 몇 번인지까지 파악합니다. 수술적 정밀함 — 마음은 자유롭게 하고, 두뇌는 유지하는 것입니다. 아래 분석 기반 파이프라인을 참조하세요.
OBLITERATUS의 독특한 점
기존 공개 도구들과 OBLITERATUS를 구별 짓는 몇 가지 기능들이 있습니다:
| 기능 (Capability) | 작동 방식 (What it does) | 중요성 (Why it matters) |
|---|
| 개념 원뿔 기하학(Concept Cone Geometry) | 카테고리별 가드레일 방향을 고체각 추정(solid angle estimation)과 함께 매핑합니다. | |
가장 빠른 방법 — 설치가 필요 없고 사용자 측에서 GPU가 요구되지 않습니다. 라이브 Space를 방문하여 모델을 선택하고, 방법을 선택한 다음, Obliterate를 클릭하세요. Spaces에서는 텔레메트리(Telemetry)가 기본적으로 활성화되어 있으므로, 모든 클릭이 커뮤니티 연구 데이터셋에 직접 기여합니다. 버튼을 누르는 것만으로도 과학을 수행하는 것입니다. UI에는 여덟 개의 탭이 있습니다:
| Tab | 기능 |
|---|
| Obliterate | 실시간 진행 상황과 함께 원클릭 거부 제거, 포스트-오블리테레이션 메트릭(coherence, refusal rate, perplexity) 제공 |
| ... | |
2. 로컬 웹 UI (사용자 GPU 사용, 동일 인터페이스)
Space와 동일한 Gradio 인터페이스가 자체 하드웨어에서 전체 GPU 접근 권한으로 실행됩니다:
Python 3.11 이상을 사용하세요. spaces extra는 검토된 안정적인 Gradio Pillow 13 백포트(backport)를 불변 URL 및 SHA256으로 고정합니다. 일반적인 pip 설치에는 추가 패키지 인덱스나 로컬 휠 검색이 필요하지 않습니다. 백포트 출처를 참조하세요.
깨끗한 환경으로 소스 체크아웃(source checkout)을 통해 잠겨서 편집할 수 없는 UV 설치를 하려면, 내장된 컨셉 팩(concept packs)이 독립적인 파일을 유지하도록 복사 모드(copy mode)를 사용하세요:
uv sync --locked --no-default-groups --extra spaces --no-editable --link-mode copy
.venv/bin/python -I -m obliteratus concepts show pain --json
이것은 Pain의 메타데이터를 오프라인으로 검사합니다. 원격 데이터는 여전히 명시적인 가져오기(fetch)가 필요합니다. OBLITERATUS가 이미 하드링크(hardlinks)로 설치된 경우, 해당 sync 명령어에 --reinstall-package obliteratus를 추가하세요. 링크 모드를 변경하는 것만으로는 변경되지 않은 패키지가 재설치되지 않습니다. 컨셉 팩 안전성을 참조하세요.
pip install -e ".[spaces]"
...
obliteratus ui 명령어는 GPU 감지 및 하드웨어에 적합한 모델 추천 기능이 포함된 Rich 터미널 시작을 추가합니다. 또한 python app.py를 직접 실행할 수도 있습니다 (Space가 사용하는 것과 동일합니다).
여러 사람이 공유하는 호스트의 경우, 하나의 Gradio 프로세스를 테넌트 경계(tenant boundary)로 취급해서는 안 됩니다. 사용자별 작업 공간(per-user workspaces), 자격 증명 격리(credential isolation), GPU 스케줄링(GPU scheduling), 스토리지(storage), 릴리스(release), 그리고 롤백(rollback) 요구 사항을 위해서는 공유 GPU 호스트 배포 계약서를 사용하십시오.