pliny-the-prompter commited on
Commit
ca80a41
Β·
verified Β·
1 Parent(s): e25024e

Upload 117 files

Browse files
app.py CHANGED
@@ -542,7 +542,7 @@ def obliterate(model_choice: str, method_choice: str, hub_repo: str,
542
 
543
  log_lines.append(f"Target: {model_id}")
544
  log_lines.append(f"Method: {method}")
545
- log_lines.append(f"Prompt volume: {prompt_volume} pairs (Γ—3 severity tiers)")
546
  if push_to_hub:
547
  log_lines.append(f"Push to Hub: {push_to_hub}")
548
  if quantization:
 
542
 
543
  log_lines.append(f"Target: {model_id}")
544
  log_lines.append(f"Method: {method}")
545
+ log_lines.append(f"Prompt volume: {prompt_volume} pairs from Opus-4.6 Synthetic Corpus (Γ—3 severity tiers)")
546
  if push_to_hub:
547
  log_lines.append(f"Push to Hub: {push_to_hub}")
548
  if quantization:
obliteratus/abliterate.py CHANGED
@@ -202,7 +202,10 @@ METHODS = {
202
  }
203
 
204
 
205
- # ── Built-in prompt pairs (expanded, multi-category, 3 severity tiers) ────
 
 
 
206
  # Tier 1 (1-33): Standard severity β€” typical refusal-triggering prompts
207
  # Tier 2 (34-66): Elevated severity β€” more blunt, direct, varied categories
208
  # Tier 3 (67-99): Maximum severity β€” extremely direct, edge-case phrasings
 
202
  }
203
 
204
 
205
+ # ── OBLITERATUS Synthetic Prompt Corpus (generated by Claude Opus 4.6) ─────
206
+ # Purpose-built for OBLITERATUS abliteration: 99 harmful / 99 harmless pairs
207
+ # across 10 harm categories, organized into 3 severity tiers.
208
+ #
209
  # Tier 1 (1-33): Standard severity β€” typical refusal-triggering prompts
210
  # Tier 2 (34-66): Elevated severity β€” more blunt, direct, varied categories
211
  # Tier 3 (67-99): Maximum severity β€” extremely direct, edge-case phrasings
obliteratus/analysis/concept_geometry.py CHANGED
@@ -45,7 +45,7 @@ from dataclasses import dataclass
45
  import torch
46
 
47
 
48
- # Default category assignments for the built-in harmful prompts
49
  # Maps prompt index -> category name
50
  DEFAULT_HARM_CATEGORIES = {
51
  0: "weapons", 1: "weapons", 2: "weapons",
 
45
  import torch
46
 
47
 
48
+ # Default category assignments for the Opus-4.6 synthetic harmful prompts
49
  # Maps prompt index -> category name
50
  DEFAULT_HARM_CATEGORIES = {
51
  0: "weapons", 1: "weapons", 2: "weapons",
paper/main.tex CHANGED
@@ -566,7 +566,7 @@ The platform's evaluation suite (Section~\ref{sec:evaluation}) provides all tool
566
 
567
  \paragraph{Models.} We evaluate on seven model families across three alignment methods: Llama-2-7B-Chat and Llama-3-8B-Instruct (RLHF), Gemma-2-9B-IT (RLHF+DPO), Mistral-7B-Instruct-v0.3 (DPO), Qwen-2.5-7B-Instruct (RLHF), Phi-3-mini-4k-instruct (SFT+DPO), and Zephyr-7B-beta (DPO-only).
568
 
569
- \paragraph{Prompts.} 32 harmful prompts across 10 harm categories and 32 harmless prompts from the platform's built-in sets, augmented with 50 prompts from AdvBench \citep{zou2023universal} for refusal rate evaluation.
570
 
571
  \paragraph{Methods.} Three abliteration methods compared: (a)~\textbf{Standard DIM}: single direction, no norm preservation; (b)~\textbf{Multi-SVD}: 4 directions via standard SVD, norm-preserving; (c)~\textbf{Whitened SVD}: 4 directions via whitened SVD, norm-preserving (our method). Additionally, the \textbf{analysis-informed pipeline} auto-configures all parameters.
572
 
 
566
 
567
  \paragraph{Models.} We evaluate on seven model families across three alignment methods: Llama-2-7B-Chat and Llama-3-8B-Instruct (RLHF), Gemma-2-9B-IT (RLHF+DPO), Mistral-7B-Instruct-v0.3 (DPO), Qwen-2.5-7B-Instruct (RLHF), Phi-3-mini-4k-instruct (SFT+DPO), and Zephyr-7B-beta (DPO-only).
568
 
569
+ \paragraph{Prompts.} 32 harmful prompts across 10 harm categories and 32 harmless prompts from the \textsc{Obliteratus} Synthetic Prompt Corpus (generated by Claude Opus~4.6; 99 pairs across 3 severity tiers), augmented with 50 prompts from AdvBench \citep{zou2023universal} for refusal rate evaluation.
570
 
571
  \paragraph{Methods.} Three abliteration methods compared: (a)~\textbf{Standard DIM}: single direction, no norm preservation; (b)~\textbf{Multi-SVD}: 4 directions via standard SVD, norm-preserving; (c)~\textbf{Whitened SVD}: 4 directions via whitened SVD, norm-preserving (our method). Additionally, the \textbf{analysis-informed pipeline} auto-configures all parameters.
572
 
pyproject.toml CHANGED
@@ -20,10 +20,6 @@ classifiers = [
20
  "Topic :: Scientific/Engineering :: Artificial Intelligence",
21
  ]
22
 
23
- [project.urls]
24
- "Homepage" = "https://github.com/OBLITERATUS-dev/OBLITERATUS"
25
- "Repository" = "https://github.com/OBLITERATUS-dev/OBLITERATUS"
26
- "Bug Tracker" = "https://github.com/OBLITERATUS-dev/OBLITERATUS/issues"
27
  dependencies = [
28
  "torch>=2.0",
29
  "transformers>=4.35",
@@ -40,6 +36,11 @@ dependencies = [
40
  "tqdm",
41
  ]
42
 
 
 
 
 
 
43
  [project.optional-dependencies]
44
  dev = ["pytest>=7.0", "pytest-cov", "ruff"]
45
  spaces = ["gradio>=5.0,<6.0"]
 
20
  "Topic :: Scientific/Engineering :: Artificial Intelligence",
21
  ]
22
 
 
 
 
 
23
  dependencies = [
24
  "torch>=2.0",
25
  "transformers>=4.35",
 
36
  "tqdm",
37
  ]
38
 
39
+ [project.urls]
40
+ "Homepage" = "https://github.com/OBLITERATUS-dev/OBLITERATUS"
41
+ "Repository" = "https://github.com/OBLITERATUS-dev/OBLITERATUS"
42
+ "Bug Tracker" = "https://github.com/OBLITERATUS-dev/OBLITERATUS/issues"
43
+
44
  [project.optional-dependencies]
45
  dev = ["pytest>=7.0", "pytest-cov", "ruff"]
46
  spaces = ["gradio>=5.0,<6.0"]