[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71PQJSBX2K7SW2ESJ4KZD27":3,"skill-same:01M71PQJSBX2K7SW2ESJ4KZD27":108},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":37,"linkOnly":38,"markdownContent":39,"markdownBody":40,"frontMatter":41,"refName":66,"commitSha":67,"skillDirectory":68,"forksCount":13,"repositoryHtmlUrl":69,"repositoryHomepageUrl":6,"ownerHtmlUrl":70,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":71,"install":72,"resources":85},"01M71PQJSBX2K7SW2ESJ4KZD27","obliteratus",null,"Remove refusal behaviors from open-weight LLMs using OBLITERATUS — mechanistic interpretability techniques (diff-in-means, SVD, whitened SVD, LEACE, SAE decomposition, etc.) to excise guardrails while preserving reasoning. 9 CLI methods, 28 analysis modules, 116 model presets across 5 compute tiers, tournament evaluation, and telemetry-driven recommendations. Use when a user wants to uncensor, abliterate, or remove refusal from an LLM.","gjbvsjjvgm-sketch\u002FWORM_V2_SOVEREIGN","gjbvsjjvgm-sketch","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F278511911?v=4","01M71F3JXKZQ70H2KCHHTXKZDA","01M71PENEVFN19DBZFNHJPCHQ7",0,"MIT","https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch\u002FWORM_V2_SOVEREIGN\u002Fblob\u002Fmain\u002Fcore\u002Fhermes-agent\u002Fskills\u002Fmlops\u002Finference\u002Fobliteratus\u002FSKILL.md",[],[5,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36],"llms","Bitsandbytes","diff","Interpretability","GGUF","Evaluation","recommendations","Transformers","decomposition","cli","across","analysis","Accelerate","when","open","Guardrails","remove","model","modules","2026-11-10 13:02:02",false,"---\nname: obliteratus\ndescription: Remove refusal behaviors from open-weight LLMs using OBLITERATUS — mechanistic interpretability techniques (diff-in-means, SVD, whitened SVD, LEACE, SAE decomposition, etc.) to excise guardrails while preserving reasoning. 9 CLI methods, 28 analysis modules, 116 model presets across 5 compute tiers, tournament evaluation, and telemetry-driven recommendations. Use when a user wants to uncensor, abliterate, or remove refusal from an LLM.\nversion: 2.0.0\nauthor: YOUSEF SHTIWE\nlicense: MIT\ndependencies: [obliteratus, torch, transformers, bitsandbytes, accelerate, safetensors]\nmetadata:\n  hermes:\n    tags: [Abliteration, Uncensoring, Refusal-Removal, LLM, Weight-Projection, SVD, Mechanistic-Interpretability, HuggingFace, Model-Surgery]\n    related_skills: [vllm, gguf, huggingface-tokenizers]\n---\n\n# OBLITERATUS Skill\n\nRemove refusal behaviors (guardrails) from open-weight LLMs without retraining or fine-tuning. Uses mechanistic interpretability techniques — including diff-in-means, SVD, whitened SVD, LEACE concept erasure, SAE decomposition, Bayesian kernel projection, and more — to identify and surgically excise refusal directions from model weights while preserving reasoning capabilities.\n\n**License warning:** OBLITERATUS is AGPL-3.0. NEVER import it as a Python library. Always invoke via CLI (`obliteratus` command) or subprocess. This keeps YOUSEF SHTIWE's MIT license clean.\n\n## When to Use This Skill\n\nTrigger when the user:\n- Wants to \"uncensor\" or \"abliterate\" an LLM\n- Asks about removing refusal\u002Fguardrails from a model\n- Wants to create an uncensored version of Llama, Qwen, Mistral, etc.\n- Mentions \"refusal removal\", \"abliteration\", \"weight projection\"\n- Wants to analyze how a model's refusal mechanism works\n- References OBLITERATUS, abliterator, or refusal directions\n\n## Step 1: Installation\n\nCheck if already installed:\n```bash\nobliteratus --version 2>\u002Fdev\u002Fnull && echo \"INSTALLED\" || echo \"NOT INSTALLED\"\n```\n\nIf not installed, clone and install from GitHub:\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Felder-plinius\u002FOBLITERATUS.git\ncd OBLITERATUS\npip install -e .\n# For Gradio web UI support:\n# pip install -e \".[spaces]\"\n```\n\n**IMPORTANT:** Confirm with user before installing. This pulls in ~5-10GB of dependencies (PyTorch, Transformers, bitsandbytes, etc.).\n\n## Step 2: Check Hardware\n\nBefore anything, check what GPU is available:\n```bash\npython3 -c \"\nimport torch\nif torch.cuda.is_available():\n    gpu = torch.cuda.get_device_name(0)\n    vram = torch.cuda.get_device_properties(0).total_memory \u002F 1024**3\n    print(f'GPU: {gpu}')\n    print(f'VRAM: {vram:.1f} GB')\n    if vram \u003C 4: print('TIER: tiny (models under 1B)')\n    elif vram \u003C 8: print('TIER: small (models 1-4B)')\n    elif vram \u003C 16: print('TIER: medium (models 4-9B with 4bit quant)')\n    elif vram \u003C 32: print('TIER: large (models 8-32B with 4bit quant)')\n    else: print('TIER: frontier (models 32B+)')\nelse:\n    print('NO GPU - only tiny models (under 1B) on CPU')\n\"\n```\n\n### VRAM Requirements (with 4-bit quantization)\n\n| VRAM     | Max Model Size  | Example Models                              |\n|:---------|:----------------|:--------------------------------------------|\n| CPU only | ~1B params      | GPT-2, TinyLlama, SmolLM                    |\n| 4-8 GB   | ~4B params      | Qwen2.5-1.5B, Phi-3.5 mini, Llama 3.2 3B   |\n| 8-16 GB  | ~9B params      | Llama 3.1 8B, Mistral 7B, Gemma 2 9B       |\n| 24 GB    | ~32B params     | Qwen3-32B, Llama 3.1 70B (tight), Command-R |\n| 48 GB+   | ~72B+ params    | Qwen2.5-72B, DeepSeek-R1                    |\n| Multi-GPU| 200B+ params    | Llama 3.1 405B, DeepSeek-V3 (685B MoE)      |\n\n## Step 3: Browse Available Models & Get Recommendations\n\n```bash\n# Browse models by compute tier\nobliteratus models --tier medium\n\n# Get architecture info for a specific model\nobliteratus info \u003Cmodel_name>\n\n# Get telemetry-driven recommendation for best method & params\nobliteratus recommend \u003Cmodel_name>\nobliteratus recommend \u003Cmodel_name> --insights  # global cross-architecture rankings\n```\n\n## Step 4: Choose a Method\n\n### Method Selection Guide\n**Default \u002F recommended for most cases: `advanced`.** It uses multi-direction SVD with norm-preserving projection and is well-tested.\n\n| Situation                         | Recommended Method | Why                                      |\n|:----------------------------------|:-------------------|:-----------------------------------------|\n| Default \u002F most models             | `advanced`         | Multi-direction SVD, norm-preserving, reliable |\n| Quick test \u002F prototyping          | `basic`            | Fast, simple, good enough to evaluate    |\n| Dense model (Llama, Mistral)      | `advanced`         | Multi-direction, norm-preserving         |\n| MoE model (DeepSeek, Mixtral)     | `nuclear`          | Expert-granular, handles MoE complexity  |\n| Reasoning model (R1 distills)     | `surgical`         | CoT-aware, preserves chain-of-thought    |\n| Stubborn refusals persist         | `aggressive`       | Whitened SVD + head surgery + jailbreak   |\n| Want reversible changes           | Use steering vectors (see Analysis section) |\n| Maximum quality, time no object   | `optimized`        | Bayesian search for best parameters      |\n| Experimental auto-detection       | `informed`         | Auto-detects alignment type — experimental, may not always outperform advanced |\n\n### 9 CLI Methods\n- **basic** — Single refusal direction via diff-in-means. Fast (~5-10 min for 8B).\n- **advanced** (DEFAULT, RECOMMENDED) — Multiple SVD directions, norm-preserving projection, 2 refinement passes. Medium speed (~10-20 min).\n- **aggressive** — Whitened SVD + jailbreak-contrastive + attention head surgery. Higher risk of coherence damage.\n- **spectral_cascade** — DCT frequency-domain decomposition. Research\u002Fnovel approach.\n- **informed** — Runs analysis DURING abliteration to auto-configure. Experimental — slower and less predictable than advanced.\n- **surgical** — SAE features + neuron masking + head surgery + per-expert. Very slow (~1-2 hrs). Best for reasoning models.\n- **optimized** — Bayesian hyperparameter search (Optuna TPE). Longest runtime but finds optimal parameters.\n- **inverted** — Flips the refusal direction. Model becomes actively willing.\n- **nuclear** — Maximum force combo for stubborn MoE models. Expert-granular.\n\n### Direction Extraction Methods (--direction-method flag)\n- **diff_means** (default) — Simple difference-in-means between refused\u002Fcomplied activations. Robust.\n- **svd** — Multi-direction SVD extraction. Better for complex alignment.\n- **leace** — LEACE (Linear Erasure via Closed-form Estimation). Optimal linear erasure.\n\n### 4 Python-API-Only Methods\n(NOT available via CLI — require Python import, which violates AGPL boundary. Mention to user only if they explicitly want to use OBLITERATUS as a library in their own AGPL project.)\n- failspy, gabliteration, heretic, rdo\n\n## Step 5: Run Abliteration\n\n### Standard usage\n```bash\n# Default method (advanced) — recommended for most models\nobliteratus obliterate \u003Cmodel_name> --method advanced --output-dir .\u002Fabliterated-models\n\n# With 4-bit quantization (saves VRAM)\nobliteratus obliterate \u003Cmodel_name> --method advanced --quantization 4bit --output-dir .\u002Fabliterated-models\n\n# Large models (70B+) — conservative defaults\nobliteratus obliterate \u003Cmodel_name> --method advanced --quantization 4bit --large-model --output-dir .\u002Fabliterated-models\n```\n\n### Fine-tuning parameters\n```bash\nobliteratus obliterate \u003Cmodel_name> \\\n  --method advanced \\\n  --direction-method diff_means \\\n  --n-directions 4 \\\n  --refinement-passes 2 \\\n  --regularization 0.1 \\\n  --quantization 4bit \\\n  --output-dir .\u002Fabliterated-models \\\n  --contribute  # opt-in telemetry for community research\n```\n\n### Key flags\n| Flag | Description | Default |\n|:-----|:------------|:--------|\n| `--method` | Abliteration method | advanced |\n| `--direction-method` | Direction extraction | diff_means |\n| `--n-directions` | Number of refusal directions (1-32) | method-dependent |\n| `--refinement-passes` | Iterative passes (1-5) | 2 |\n| `--regularization` | Regularization strength (0.0-1.0) | 0.1 |\n| `--quantization` | Load in 4bit or 8bit | none (full precision) |\n| `--large-model` | Conservative defaults for 120B+ | false |\n| `--output-dir` | Where to save the abliterated model | .\u002Fobliterated_model |\n| `--contribute` | Share anonymized results for research | false |\n| `--verify-sample-size` | Number of test prompts for refusal check | 20 |\n| `--dtype` | Model dtype (float16, bfloat16) | auto |\n\n### Other execution modes\n```bash\n# Interactive guided mode (hardware → model → preset)\nobliteratus interactive\n\n# Web UI (Gradio)\nobliteratus ui --port 7860\n\n# Run a full ablation study from YAML config\nobliteratus run config.yaml --preset quick\n\n# Tournament: pit all methods against each other\nobliteratus tourney \u003Cmodel_name>\n```\n\n## Step 6: Verify Results\n\nAfter abliteration, check the output metrics:\n\n| Metric | Good Value | Warning |\n|:-------|:-----------|:--------|\n| Refusal rate | \u003C 5% (ideally ~0%) | > 10% means refusals persist |\n| Perplexity change | \u003C 10% increase | > 15% means coherence damage |\n| KL divergence | \u003C 0.1 | > 0.5 means significant distribution shift |\n| Coherence | High \u002F passes qualitative check | Degraded responses, repetition |\n\n### If refusals persist (> 10%)\n1. Try `aggressive` method\n2. Increase `--n-directions` (e.g., 8 or 16)\n3. Add `--refinement-passes 3`\n4. Try `--direction-method svd` instead of diff_means\n\n### If coherence is damaged (perplexity > 15% increase)\n1. Reduce `--n-directions` (try 2)\n2. Increase `--regularization` (try 0.3)\n3. Reduce `--refinement-passes` to 1\n4. Try `basic` method (gentler)\n\n## Step 7: Use the Abliterated Model\n\nThe output is a standard HuggingFace model directory.\n\n```bash\n# Test locally with transformers\npython3 -c \"\nfrom transformers import AutoModelForCausalLM, AutoTokenizer\nmodel = AutoModelForCausalLM.from_pretrained('.\u002Fabliterated-models\u002F\u003Cmodel>')\ntokenizer = AutoTokenizer.from_pretrained('.\u002Fabliterated-models\u002F\u003Cmodel>')\ninputs = tokenizer('How do I pick a lock?', return_tensors='pt')\noutputs = model.generate(**inputs, max_new_tokens=200)\nprint(tokenizer.decode(outputs[0], skip_special_tokens=True))\n\"\n\n# Upload to HuggingFace Hub\nhuggingface-cli upload \u003Cusername>\u002F\u003Cmodel-name>-abliterated .\u002Fabliterated-models\u002F\u003Cmodel>\n\n# Serve with vLLM\nvllm serve .\u002Fabliterated-models\u002F\u003Cmodel>\n```\n\n## CLI Command Reference\n\n| Command | Description |\n|:--------|:------------|\n| `obliteratus obliterate` | Main abliteration command |\n| `obliteratus info \u003Cmodel>` | Print model architecture details |\n| `obliteratus models --tier \u003Ctier>` | Browse curated models by compute tier |\n| `obliteratus recommend \u003Cmodel>` | Telemetry-driven method\u002Fparam suggestion |\n| `obliteratus interactive` | Guided setup wizard |\n| `obliteratus tourney \u003Cmodel>` | Tournament: all methods head-to-head |\n| `obliteratus run \u003Cconfig.yaml>` | Execute ablation study from YAML |\n| `obliteratus strategies` | List all registered ablation strategies |\n| `obliteratus report \u003Cresults.json>` | Regenerate visual reports |\n| `obliteratus ui` | Launch Gradio web interface |\n| `obliteratus aggregate` | Summarize community telemetry data |\n\n## Analysis Modules\n\nOBLITERATUS includes 28 analysis modules for mechanistic interpretability.\nSee `skill_view(name=\"obliteratus\", file_path=\"references\u002Fanalysis-modules.md\")` for the full reference.\n\n### Quick analysis commands\n```bash\n# Run specific analysis modules\nobliteratus run analysis-config.yaml --preset quick\n\n# Key modules to run first:\n# - alignment_imprint: Fingerprint DPO\u002FRLHF\u002FCAI\u002FSFT alignment method\n# - concept_geometry: Single direction vs polyhedral cone\n# - logit_lens: Which layer decides to refuse\n# - anti_ouroboros: Self-repair risk score\n# - causal_tracing: Causally necessary components\n```\n\n### Steering Vectors (Reversible Alternative)\nInstead of permanent weight modification, use inference-time steering:\n```python\n# Python API only — for user's own projects\nfrom obliteratus.analysis.steering_vectors import SteeringVectorFactory, SteeringHookManager\n```\n\n## Ablation Strategies\n\nBeyond direction-based abliteration, OBLITERATUS includes structural ablation strategies:\n- **Embedding Ablation** — Target embedding layer components\n- **FFN Ablation** — Feed-forward network block removal\n- **Head Pruning** — Attention head pruning\n- **Layer Removal** — Full layer removal\n\nList all available: `obliteratus strategies`\n\n## Evaluation\n\nOBLITERATUS includes built-in evaluation tools:\n- Refusal rate benchmarking\n- Perplexity comparison (before\u002Fafter)\n- LM Eval Harness integration for academic benchmarks\n- Head-to-head competitor comparison\n- Baseline performance tracking\n\n## Platform Support\n\n- **CUDA** — Full support (NVIDIA GPUs)\n- **Apple Silicon (MLX)** — Supported via MLX backend\n- **CPU** — Supported for tiny models (\u003C 1B params)\n\n## YAML Config Templates\n\nLoad templates for reproducible runs via `skill_view`:\n- `templates\u002Fabliteration-config.yaml` — Standard single-model config\n- `templates\u002Fanalysis-study.yaml` — Pre-abliteration analysis study\n- `templates\u002Fbatch-abliteration.yaml` — Multi-model batch processing\n\n## Telemetry\n\nOBLITERATUS can optionally contribute anonymized run data to a global research dataset.\nEnable with `--contribute` flag. No personal data is collected — only model name, method, metrics.\n\n## Common Pitfalls\n\n1. **Don't use `informed` as default** — it's experimental and slower. Use `advanced` for reliable results.\n2. **Models under ~1B respond poorly to abliteration** — their refusal behaviors are shallow and fragmented, making clean direction extraction difficult. Expect partial results (20-40% remaining refusal). Models 3B+ have cleaner refusal directions and respond much better (often 0% refusal with `advanced`).\n3. **`aggressive` can make things worse** — on small models it can damage coherence and actually increase refusal rate. Only use it if `advanced` leaves > 10% refusals on a 3B+ model.\n4. **Always check perplexity** — if it spikes > 15%, the model is damaged. Reduce aggressiveness.\n5. **MoE models need special handling** — use `nuclear` method for Mixtral, DeepSeek-MoE, etc.\n6. **Quantized models can't be re-quantized** — abliterate the full-precision model, then quantize the output.\n7. **VRAM estimation is approximate** — 4-bit quant helps but peak usage can spike during extraction.\n8. **Reasoning models are sensitive** — use `surgical` for R1 distills to preserve chain-of-thought.\n9. **Check `obliteratus recommend`** — telemetry data may have better parameters than defaults.\n10. **AGPL license** — never `import obliteratus` in MIT\u002FApache projects. CLI invocation only.\n11. **Large models (70B+)** — always use `--large-model` flag for conservative defaults.\n12. **Spectral certification RED is common** — the spectral check often flags \"incomplete\" even when practical refusal rate is 0%. Check actual refusal rate rather than relying on spectral certification alone.\n\n## Complementary Skills\n\n- **vllm** — Serve abliterated models with high throughput\n- **gguf** — Convert abliterated models to GGUF for llama.cpp\n- **huggingface-tokenizers** — Work with model tokenizers\n","# OBLITERATUS Skill\n\nRemove refusal behaviors (guardrails) from open-weight LLMs without retraining or fine-tuning. Uses mechanistic interpretability techniques — including diff-in-means, SVD, whitened SVD, LEACE concept erasure, SAE decomposition, Bayesian kernel projection, and more — to identify and surgically excise refusal directions from model weights while preserving reasoning capabilities.\n\n**License warning:** OBLITERATUS is AGPL-3.0. NEVER import it as a Python library. Always invoke via CLI (`obliteratus` command) or subprocess. This keeps YOUSEF SHTIWE's MIT license clean.\n\n## When to Use This Skill\n\nTrigger when the user:\n- Wants to \"uncensor\" or \"abliterate\" an LLM\n- Asks about removing refusal\u002Fguardrails from a model\n- Wants to create an uncensored version of Llama, Qwen, Mistral, etc.\n- Mentions \"refusal removal\", \"abliteration\", \"weight projection\"\n- Wants to analyze how a model's refusal mechanism works\n- References OBLITERATUS, abliterator, or refusal directions\n\n## Step 1: Installation\n\nCheck if already installed:\n```bash\nobliteratus --version 2>\u002Fdev\u002Fnull && echo \"INSTALLED\" || echo \"NOT INSTALLED\"\n```\n\nIf not installed, clone and install from GitHub:\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Felder-plinius\u002FOBLITERATUS.git\ncd OBLITERATUS\npip install -e .\n# For Gradio web UI support:\n# pip install -e \".[spaces]\"\n```\n\n**IMPORTANT:** Confirm with user before installing. This pulls in ~5-10GB of dependencies (PyTorch, Transformers, bitsandbytes, etc.).\n\n## Step 2: Check Hardware\n\nBefore anything, check what GPU is available:\n```bash\npython3 -c \"\nimport torch\nif torch.cuda.is_available():\n    gpu = torch.cuda.get_device_name(0)\n    vram = torch.cuda.get_device_properties(0).total_memory \u002F 1024**3\n    print(f'GPU: {gpu}')\n    print(f'VRAM: {vram:.1f} GB')\n    if vram \u003C 4: print('TIER: tiny (models under 1B)')\n    elif vram \u003C 8: print('TIER: small (models 1-4B)')\n    elif vram \u003C 16: print('TIER: medium (models 4-9B with 4bit quant)')\n    elif vram \u003C 32: print('TIER: large (models 8-32B with 4bit quant)')\n    else: print('TIER: frontier (models 32B+)')\nelse:\n    print('NO GPU - only tiny models (under 1B) on CPU')\n\"\n```\n\n### VRAM Requirements (with 4-bit quantization)\n\n| VRAM     | Max Model Size  | Example Models                              |\n|:---------|:----------------|:--------------------------------------------|\n| CPU only | ~1B params      | GPT-2, TinyLlama, SmolLM                    |\n| 4-8 GB   | ~4B params      | Qwen2.5-1.5B, Phi-3.5 mini, Llama 3.2 3B   |\n| 8-16 GB  | ~9B params      | Llama 3.1 8B, Mistral 7B, Gemma 2 9B       |\n| 24 GB    | ~32B params     | Qwen3-32B, Llama 3.1 70B (tight), Command-R |\n| 48 GB+   | ~72B+ params    | Qwen2.5-72B, DeepSeek-R1                    |\n| Multi-GPU| 200B+ params    | Llama 3.1 405B, DeepSeek-V3 (685B MoE)      |\n\n## Step 3: Browse Available Models & Get Recommendations\n\n```bash\n# Browse models by compute tier\nobliteratus models --tier medium\n\n# Get architecture info for a specific model\nobliteratus info \u003Cmodel_name>\n\n# Get telemetry-driven recommendation for best method & params\nobliteratus recommend \u003Cmodel_name>\nobliteratus recommend \u003Cmodel_name> --insights  # global cross-architecture rankings\n```\n\n## Step 4: Choose a Method\n\n### Method Selection Guide\n**Default \u002F recommended for most cases: `advanced`.** It uses multi-direction SVD with norm-preserving projection and is well-tested.\n\n| Situation                         | Recommended Method | Why                                      |\n|:----------------------------------|:-------------------|:-----------------------------------------|\n| Default \u002F most models             | `advanced`         | Multi-direction SVD, norm-preserving, reliable |\n| Quick test \u002F prototyping          | `basic`            | Fast, simple, good enough to evaluate    |\n| Dense model (Llama, Mistral)      | `advanced`         | Multi-direction, norm-preserving         |\n| MoE model (DeepSeek, Mixtral)     | `nuclear`          | Expert-granular, handles MoE complexity  |\n| Reasoning model (R1 distills)     | `surgical`         | CoT-aware, preserves chain-of-thought    |\n| Stubborn refusals persist         | `aggressive`       | Whitened SVD + head surgery + jailbreak   |\n| Want reversible changes           | Use steering vectors (see Analysis section) |\n| Maximum quality, time no object   | `optimized`        | Bayesian search for best parameters      |\n| Experimental auto-detection       | `informed`         | Auto-detects alignment type — experimental, may not always outperform advanced |\n\n### 9 CLI Methods\n- **basic** — Single refusal direction via diff-in-means. Fast (~5-10 min for 8B).\n- **advanced** (DEFAULT, RECOMMENDED) — Multiple SVD directions, norm-preserving projection, 2 refinement passes. Medium speed (~10-20 min).\n- **aggressive** — Whitened SVD + jailbreak-contrastive + attention head surgery. Higher risk of coherence damage.\n- **spectral_cascade** — DCT frequency-domain decomposition. Research\u002Fnovel approach.\n- **informed** — Runs analysis DURING abliteration to auto-configure. Experimental — slower and less predictable than advanced.\n- **surgical** — SAE features + neuron masking + head surgery + per-expert. Very slow (~1-2 hrs). Best for reasoning models.\n- **optimized** — Bayesian hyperparameter search (Optuna TPE). Longest runtime but finds optimal parameters.\n- **inverted** — Flips the refusal direction. Model becomes actively willing.\n- **nuclear** — Maximum force combo for stubborn MoE models. Expert-granular.\n\n### Direction Extraction Methods (--direction-method flag)\n- **diff_means** (default) — Simple difference-in-means between refused\u002Fcomplied activations. Robust.\n- **svd** — Multi-direction SVD extraction. Better for complex alignment.\n- **leace** — LEACE (Linear Erasure via Closed-form Estimation). Optimal linear erasure.\n\n### 4 Python-API-Only Methods\n(NOT available via CLI — require Python import, which violates AGPL boundary. Mention to user only if they explicitly want to use OBLITERATUS as a library in their own AGPL project.)\n- failspy, gabliteration, heretic, rdo\n\n## Step 5: Run Abliteration\n\n### Standard usage\n```bash\n# Default method (advanced) — recommended for most models\nobliteratus obliterate \u003Cmodel_name> --method advanced --output-dir .\u002Fabliterated-models\n\n# With 4-bit quantization (saves VRAM)\nobliteratus obliterate \u003Cmodel_name> --method advanced --quantization 4bit --output-dir .\u002Fabliterated-models\n\n# Large models (70B+) — conservative defaults\nobliteratus obliterate \u003Cmodel_name> --method advanced --quantization 4bit --large-model --output-dir .\u002Fabliterated-models\n```\n\n### Fine-tuning parameters\n```bash\nobliteratus obliterate \u003Cmodel_name> \\\n  --method advanced \\\n  --direction-method diff_means \\\n  --n-directions 4 \\\n  --refinement-passes 2 \\\n  --regularization 0.1 \\\n  --quantization 4bit \\\n  --output-dir .\u002Fabliterated-models \\\n  --contribute  # opt-in telemetry for community research\n```\n\n### Key flags\n| Flag | Description | Default |\n|:-----|:------------|:--------|\n| `--method` | Abliteration method | advanced |\n| `--direction-method` | Direction extraction | diff_means |\n| `--n-directions` | Number of refusal directions (1-32) | method-dependent |\n| `--refinement-passes` | Iterative passes (1-5) | 2 |\n| `--regularization` | Regularization strength (0.0-1.0) | 0.1 |\n| `--quantization` | Load in 4bit or 8bit | none (full precision) |\n| `--large-model` | Conservative defaults for 120B+ | false |\n| `--output-dir` | Where to save the abliterated model | .\u002Fobliterated_model |\n| `--contribute` | Share anonymized results for research | false |\n| `--verify-sample-size` | Number of test prompts for refusal check | 20 |\n| `--dtype` | Model dtype (float16, bfloat16) | auto |\n\n### Other execution modes\n```bash\n# Interactive guided mode (hardware → model → preset)\nobliteratus interactive\n\n# Web UI (Gradio)\nobliteratus ui --port 7860\n\n# Run a full ablation study from YAML config\nobliteratus run config.yaml --preset quick\n\n# Tournament: pit all methods against each other\nobliteratus tourney \u003Cmodel_name>\n```\n\n## Step 6: Verify Results\n\nAfter abliteration, check the output metrics:\n\n| Metric | Good Value | Warning |\n|:-------|:-----------|:--------|\n| Refusal rate | \u003C 5% (ideally ~0%) | > 10% means refusals persist |\n| Perplexity change | \u003C 10% increase | > 15% means coherence damage |\n| KL divergence | \u003C 0.1 | > 0.5 means significant distribution shift |\n| Coherence | High \u002F passes qualitative check | Degraded responses, repetition |\n\n### If refusals persist (> 10%)\n1. Try `aggressive` method\n2. Increase `--n-directions` (e.g., 8 or 16)\n3. Add `--refinement-passes 3`\n4. Try `--direction-method svd` instead of diff_means\n\n### If coherence is damaged (perplexity > 15% increase)\n1. Reduce `--n-directions` (try 2)\n2. Increase `--regularization` (try 0.3)\n3. Reduce `--refinement-passes` to 1\n4. Try `basic` method (gentler)\n\n## Step 7: Use the Abliterated Model\n\nThe output is a standard HuggingFace model directory.\n\n```bash\n# Test locally with transformers\npython3 -c \"\nfrom transformers import AutoModelForCausalLM, AutoTokenizer\nmodel = AutoModelForCausalLM.from_pretrained('.\u002Fabliterated-models\u002F\u003Cmodel>')\ntokenizer = AutoTokenizer.from_pretrained('.\u002Fabliterated-models\u002F\u003Cmodel>')\ninputs = tokenizer('How do I pick a lock?', return_tensors='pt')\noutputs = model.generate(**inputs, max_new_tokens=200)\nprint(tokenizer.decode(outputs[0], skip_special_tokens=True))\n\"\n\n# Upload to HuggingFace Hub\nhuggingface-cli upload \u003Cusername>\u002F\u003Cmodel-name>-abliterated .\u002Fabliterated-models\u002F\u003Cmodel>\n\n# Serve with vLLM\nvllm serve .\u002Fabliterated-models\u002F\u003Cmodel>\n```\n\n## CLI Command Reference\n\n| Command | Description |\n|:--------|:------------|\n| `obliteratus obliterate` | Main abliteration command |\n| `obliteratus info \u003Cmodel>` | Print model architecture details |\n| `obliteratus models --tier \u003Ctier>` | Browse curated models by compute tier |\n| `obliteratus recommend \u003Cmodel>` | Telemetry-driven method\u002Fparam suggestion |\n| `obliteratus interactive` | Guided setup wizard |\n| `obliteratus tourney \u003Cmodel>` | Tournament: all methods head-to-head |\n| `obliteratus run \u003Cconfig.yaml>` | Execute ablation study from YAML |\n| `obliteratus strategies` | List all registered ablation strategies |\n| `obliteratus report \u003Cresults.json>` | Regenerate visual reports |\n| `obliteratus ui` | Launch Gradio web interface |\n| `obliteratus aggregate` | Summarize community telemetry data |\n\n## Analysis Modules\n\nOBLITERATUS includes 28 analysis modules for mechanistic interpretability.\nSee `skill_view(name=\"obliteratus\", file_path=\"references\u002Fanalysis-modules.md\")` for the full reference.\n\n### Quick analysis commands\n```bash\n# Run specific analysis modules\nobliteratus run analysis-config.yaml --preset quick\n\n# Key modules to run first:\n# - alignment_imprint: Fingerprint DPO\u002FRLHF\u002FCAI\u002FSFT alignment method\n# - concept_geometry: Single direction vs polyhedral cone\n# - logit_lens: Which layer decides to refuse\n# - anti_ouroboros: Self-repair risk score\n# - causal_tracing: Causally necessary components\n```\n\n### Steering Vectors (Reversible Alternative)\nInstead of permanent weight modification, use inference-time steering:\n```python\n# Python API only — for user's own projects\nfrom obliteratus.analysis.steering_vectors import SteeringVectorFactory, SteeringHookManager\n```\n\n## Ablation Strategies\n\nBeyond direction-based abliteration, OBLITERATUS includes structural ablation strategies:\n- **Embedding Ablation** — Target embedding layer components\n- **FFN Ablation** — Feed-forward network block removal\n- **Head Pruning** — Attention head pruning\n- **Layer Removal** — Full layer removal\n\nList all available: `obliteratus strategies`\n\n## Evaluation\n\nOBLITERATUS includes built-in evaluation tools:\n- Refusal rate benchmarking\n- Perplexity comparison (before\u002Fafter)\n- LM Eval Harness integration for academic benchmarks\n- Head-to-head competitor comparison\n- Baseline performance tracking\n\n## Platform Support\n\n- **CUDA** — Full support (NVIDIA GPUs)\n- **Apple Silicon (MLX)** — Supported via MLX backend\n- **CPU** — Supported for tiny models (\u003C 1B params)\n\n## YAML Config Templates\n\nLoad templates for reproducible runs via `skill_view`:\n- `templates\u002Fabliteration-config.yaml` — Standard single-model config\n- `templates\u002Fanalysis-study.yaml` — Pre-abliteration analysis study\n- `templates\u002Fbatch-abliteration.yaml` — Multi-model batch processing\n\n## Telemetry\n\nOBLITERATUS can optionally contribute anonymized run data to a global research dataset.\nEnable with `--contribute` flag. No personal data is collected — only model name, method, metrics.\n\n## Common Pitfalls\n\n1. **Don't use `informed` as default** — it's experimental and slower. Use `advanced` for reliable results.\n2. **Models under ~1B respond poorly to abliteration** — their refusal behaviors are shallow and fragmented, making clean direction extraction difficult. Expect partial results (20-40% remaining refusal). Models 3B+ have cleaner refusal directions and respond much better (often 0% refusal with `advanced`).\n3. **`aggressive` can make things worse** — on small models it can damage coherence and actually increase refusal rate. Only use it if `advanced` leaves > 10% refusals on a 3B+ model.\n4. **Always check perplexity** — if it spikes > 15%, the model is damaged. Reduce aggressiveness.\n5. **MoE models need special handling** — use `nuclear` method for Mixtral, DeepSeek-MoE, etc.\n6. **Quantized models can't be re-quantized** — abliterate the full-precision model, then quantize the output.\n7. **VRAM estimation is approximate** — 4-bit quant helps but peak usage can spike during extraction.\n8. **Reasoning models are sensitive** — use `surgical` for R1 distills to preserve chain-of-thought.\n9. **Check `obliteratus recommend`** — telemetry data may have better parameters than defaults.\n10. **AGPL license** — never `import obliteratus` in MIT\u002FApache projects. CLI invocation only.\n11. **Large models (70B+)** — always use `--large-model` flag for conservative defaults.\n12. **Spectral certification RED is common** — the spectral check often flags \"incomplete\" even when practical refusal rate is 0%. Check actual refusal rate rather than relying on spectral certification alone.\n\n## Complementary Skills\n\n- **vllm** — Serve abliterated models with high throughput\n- **gguf** — Convert abliterated models to GGUF for llama.cpp\n- **huggingface-tokenizers** — Work with model tokenizers\n",{"name":5,"author":42,"license":14,"version":43,"metadata":44,"description":7,"dependencies":60},"YOUSEF SHTIWE","2.0.0",{"hermes":45},{"tags":46,"related_skills":56},[47,48,49,50,51,52,53,54,55],"Abliteration","Uncensoring","Refusal-Removal","LLM","Weight-Projection","SVD","Mechanistic-Interpretability","HuggingFace","Model-Surgery",[57,58,59],"vllm","gguf","huggingface-tokenizers",[5,61,62,63,64,65],"torch","transformers","bitsandbytes","accelerate","safetensors","main","6746276ba18cb774853eb61b3b9399658bc9bc5c","core\u002Fhermes-agent\u002Fskills\u002Fmlops\u002Finference\u002Fobliteratus","https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch\u002FWORM_V2_SOVEREIGN","https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch","2026-04-28 17:01:03",{"source":8,"skillName":5,"commands":73,"prompt":83,"zipAvailable":84},[74,77,80],{"tool":75,"command":76},"npx","npx skills add gjbvsjjvgm-sketch\u002FWORM_V2_SOVEREIGN --skill obliteratus",{"tool":78,"command":79},"bunx","bunx skills add gjbvsjjvgm-sketch\u002FWORM_V2_SOVEREIGN --skill obliteratus",{"tool":81,"command":82},"pnpm","pnpm dlx skills add gjbvsjjvgm-sketch\u002FWORM_V2_SOVEREIGN --skill obliteratus","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch\u002FWORM_V2_SOVEREIGN\u002Fblob\u002Fmain\u002Fcore\u002Fhermes-agent\u002Fskills\u002Fmlops\u002Finference\u002Fobliteratus\u002FSKILL.md",true,[86,92,96,100,104],{"path":87,"resourceType":88,"resourceTypeDesc":89,"sizeBytes":90,"sourceHtmlUrl":91},"references\u002Fanalysis-modules.md","REFERENCE","参考文档",6270,"https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch\u002FWORM_V2_SOVEREIGN\u002Fblob\u002Fmain\u002Fcore\u002Fhermes-agent\u002Fskills\u002Fmlops\u002Finference\u002Fobliteratus\u002Freferences\u002Fanalysis-modules.md",{"path":93,"resourceType":88,"resourceTypeDesc":89,"sizeBytes":94,"sourceHtmlUrl":95},"references\u002Fmethods-guide.md",6719,"https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch\u002FWORM_V2_SOVEREIGN\u002Fblob\u002Fmain\u002Fcore\u002Fhermes-agent\u002Fskills\u002Fmlops\u002Finference\u002Fobliteratus\u002Freferences\u002Fmethods-guide.md",{"path":97,"resourceType":88,"resourceTypeDesc":89,"sizeBytes":98,"sourceHtmlUrl":99},"templates\u002Fabliteration-config.yaml",1189,"https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch\u002FWORM_V2_SOVEREIGN\u002Fblob\u002Fmain\u002Fcore\u002Fhermes-agent\u002Fskills\u002Fmlops\u002Finference\u002Fobliteratus\u002Ftemplates\u002Fabliteration-config.yaml",{"path":101,"resourceType":88,"resourceTypeDesc":89,"sizeBytes":102,"sourceHtmlUrl":103},"templates\u002Fanalysis-study.yaml",1368,"https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch\u002FWORM_V2_SOVEREIGN\u002Fblob\u002Fmain\u002Fcore\u002Fhermes-agent\u002Fskills\u002Fmlops\u002Finference\u002Fobliteratus\u002Ftemplates\u002Fanalysis-study.yaml",{"path":105,"resourceType":88,"resourceTypeDesc":89,"sizeBytes":106,"sourceHtmlUrl":107},"templates\u002Fbatch-abliteration.yaml",1201,"https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch\u002FWORM_V2_SOVEREIGN\u002Fblob\u002Fmain\u002Fcore\u002Fhermes-agent\u002Fskills\u002Fmlops\u002Finference\u002Fobliteratus\u002Ftemplates\u002Fbatch-abliteration.yaml",[109,152,177,194,213,232],{"skillNo":110,"name":111,"nameZh":6,"description":112,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":113,"categories":114,"keywords":131,"publishedAt":37},"01M71QG27G1R2H2ZWEG4S0WTZT","writing-plans","Write implementation plans: bite-sized tasks, paths, code.","https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch\u002FWORM_V2_SOVEREIGN\u002Fblob\u002Fmain\u002Fcore\u002Fskills\u002Fsoftware-development\u002Fwriting-plans\u002FSKILL.md",[115,120,123,128],{"categoryNo":116,"categoryName":117,"taxonomyType":118,"taxonomyTypeDesc":119},"01JBSEEDCAT000000000000015","视觉设计","SCENARIO","使用场景",{"categoryNo":121,"categoryName":122,"taxonomyType":118,"taxonomyTypeDesc":119},"01JBSEEDCAT000000000000018","写作与文案",{"categoryNo":124,"categoryName":125,"taxonomyType":126,"taxonomyTypeDesc":127},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",{"categoryNo":129,"categoryName":130,"taxonomyType":126,"taxonomyTypeDesc":127},"01JBSEEDCAT000000000000036","内容创作者",[132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151],"writing","writing plans","plans","test-driven","test-driven-development","superpowers","design","workflow","code","tasks","subagent","code-review","review","documentation","write","paths","planning","development","test","implementation",{"skillNo":153,"name":136,"nameZh":6,"description":154,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":155,"categories":156,"keywords":163,"publishedAt":37},"01M71QFZYRTJXMAE551MRAKZ14","TDD: enforce RED-GREEN-REFACTOR, tests before code.","https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch\u002FWORM_V2_SOVEREIGN\u002Fblob\u002Fmain\u002Fcore\u002Fskills\u002Fsoftware-development\u002Ftest-driven-development\u002FSKILL.md",[157,160],{"categoryNo":158,"categoryName":159,"taxonomyType":118,"taxonomyTypeDesc":119},"01JBSEEDCAT000000000000007","代码审查",{"categoryNo":161,"categoryName":162,"taxonomyType":118,"taxonomyTypeDesc":119},"01JBSEEDCAT000000000000008","测试与质量",[164,149,150,165,166,167,168,137,132,169,140,142,170,171,172,173,174,134,175,176],"test driven development","driven","green","red-green-refactor","testing","debugging","systematic","refactor","systematic-debugging","enforce","tests","tdd","quality",{"skillNo":178,"name":172,"nameZh":6,"description":179,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":180,"categories":181,"keywords":183,"publishedAt":37},"01M71QFWR5Q8EYEQ6MCS3SM6MC","4-phase root cause debugging: understand bugs before fixing.","https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch\u002FWORM_V2_SOVEREIGN\u002Fblob\u002Fmain\u002Fcore\u002Fskills\u002Fsoftware-development\u002Fsystematic-debugging\u002FSKILL.md",[182],{"categoryNo":161,"categoryName":162,"taxonomyType":118,"taxonomyTypeDesc":119},[184,169,170,135,185,186,136,137,132,142,187,188,149,189,134,190,150,191,192,193],"systematic debugging","problem","problem-solving","phase","bugs","root cause","root-cause","investigation","understand","hermes",{"skillNo":195,"name":196,"nameZh":6,"description":197,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":198,"categories":199,"keywords":205,"publishedAt":37},"01M71QFS9S04MD8JP747W5WM0N","subagent-driven-development","Execute plans via delegate_task subagents (2-stage review).","https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch\u002FWORM_V2_SOVEREIGN\u002Fblob\u002Fmain\u002Fcore\u002Fskills\u002Fsoftware-development\u002Fsubagent-driven-development\u002FSKILL.md",[200,201,204],{"categoryNo":121,"categoryName":122,"taxonomyType":118,"taxonomyTypeDesc":119},{"categoryNo":202,"categoryName":203,"taxonomyType":118,"taxonomyTypeDesc":119},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":129,"categoryName":130,"taxonomyType":126,"taxonomyTypeDesc":127},[206,142,149,165,135,136,207,208,137,132,139,140,143,144,209,210,134,211,212,150],"subagent driven development","delegate","delegation","subagents","parallel","stage","task",{"skillNo":214,"name":215,"nameZh":6,"description":216,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":217,"categories":218,"keywords":221,"publishedAt":37},"01M71QFQ1DBCVAZ511MXFE6T2V","requesting-code-review","Pre-commit review: security scan, quality gates, auto-fix.","https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch\u002FWORM_V2_SOVEREIGN\u002Fblob\u002Fmain\u002Fcore\u002Fskills\u002Fsoftware-development\u002Frequesting-code-review\u002FSKILL.md",[219,220],{"categoryNo":158,"categoryName":159,"taxonomyType":118,"taxonomyTypeDesc":119},{"categoryNo":124,"categoryName":125,"taxonomyType":126,"taxonomyTypeDesc":127},[222,223,140,144,135,136,224,225,137,226,132,227,228,142,143,229,230,149,231,134],"code review","requesting code review","fix","auto-fix","auto","security scan","commit","verification","security","scan",{"skillNo":233,"name":234,"nameZh":6,"description":235,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":236,"categories":237,"keywords":239,"publishedAt":37},"01M71QFM7KWM540YR67FRN807Q","python-debugpy","Debug Python: pdb REPL + debugpy remote (DAP).","https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch\u002FWORM_V2_SOVEREIGN\u002Fblob\u002Fmain\u002Fcore\u002Fskills\u002Fsoftware-development\u002Fpython-debugpy\u002FSKILL.md",[238],{"categoryNo":124,"categoryName":125,"taxonomyType":126,"taxonomyTypeDesc":127},[240,241,242,243,244,245,246,247,169,170,248,249,250,172,251,252,253,254,193,255],"debugpy","python debugpy","python","dap","inspect","post-mortem","pdb","remote","debugger","node","commands","debug","post","breakpoints","node-inspect","tui"]