Naphula/DarkForest-20B-v2.0-Erebus-Edition
[!NOTE] <span style="color:red; font-weight:bold">⚠️ Warning:</span> This model can produce narratives and RP that contain violent and graphic erotic content. Adjust your system prompt accordingly. Also, use ChatML format for best results. DarkForest-20B-v2.0-fp32-upscaled-abliterated has been renamed to DarkForest 20B v2.0 Erebus Edition in spirit of the original Shinen/Erebus models by mrseeker87, as it is fully uncensored, creative, and NSFW. The higher float32 upscaling enhances the quality even further. <!DOCTYPE html> <style> @import url('https://fonts.googleapis.com/css2?family=Cinzel+Decorative:wght@700;900&family=Crimson+Text:ital,wght@0,400;0,600;1,400&display=swap');
body { font-family: 'Crimson Text', serif; color: #E0D0D0; / Light Ash / line-height: 1.6; margin: 0; padding: 0; background-color: #1A0500; / Deepest Ember / / Radial gradient to look like a glowing core / background-image: radial-gradient(circle at 50% 50%, #2E0F00 0%, #0F0200 100%), url('https://www.transparenttextures.com/patterns/stardust.png'); }
b, strong { color: #FF8C00; / Dark Orange / font-weight: bold; text-shadow: 0 0 8px rgba(255, 69, 0, 0.6); }
.magma-text { font-family: 'Cinzel Decorative', cursive; background: linear-gradient(to bottom, #FFF700, #FF4500, #8B0000); -webkit-background-clip: text; -webkit-text-fill-color: transparent; position: relative; z-index: 2; margin-left: 0.2em; filter: drop-shadow(0 0 10px rgba(255, 69, 0, 0.9)); }
.magma-tree { / Resets the gradient text effect so the emoji shows its natural color / -webkit-text-fill-color: initial; background: none;
/ Optional: Adds a spooky green glow instead of the orange one / / filter: drop-shadow(0 0 8px rgba(0, 255, 0, 0.6)); /
/ Changed to Orange Glow (255, 165, 0) / filter: drop-shadow(0 0 8px rgba(255, 69, 0, 0.6));
/ Ensures it sits correctly next to the text / display: inline-block; margin-right: 0.2em; }
.magma-ogre { -webkit-text-fill-color: initial; background: none; font-size: 2.5rem; / filter: drop-shadow(0 0 8px rgba(255, 0, 0, 0.8)); / / Static Red Glow / display: inline-block; margin-right: 0.2em; animation: none !important; }
/ Spoiler Container / details.magma-spoiler { background-color: rgba(20, 10, 10, 0.6); border: 1px solid #8B0000; border-radius: 4px; margin-bottom: 20px; overflow: hidden; transition: all 0.3s ease; }
details.magma-spoiler[open] { border-color: #FF4500; / Glows bright orange when open / box-shadow: 0 0 15px rgba(255, 69, 0, 0.2); }
/ The Clickable Title / summary.magma-summary { cursor: pointer; padding: 12px 20px; font-family: 'Cinzel Decorative', cursive; font-weight: bold; color: #FF8C00; / Dark Orange / background-color: rgba(0, 0, 0, 0.3); list-style: none; / Hides default arrow in some browsers / outline: none; transition: color 0.2s; }
/ Custom Arrow/Indicator / summary.magma-summary::after { content: '+'; float: right; font-weight: bold; color: #FF4500; }
details.magma-spoiler[open] summary.magma-summary::after { content: '-'; color: #FFD700; }
summary.magma-summary:hover { color: #FFD700; / Gold on hover / background-color: rgba(255, 69, 0, 0.1); }
/ The Hidden Content Wrapper / .spoiler-content { padding: 0; border-top: 1px dashed #FF4500; }
/ Section styling / .section-container { background-color: rgba(60, 20, 0, 0.85); / Dark Orange Tint / margin-bottom: 30px; position: relative; overflow: hidden; border: 1px solid #FF4500; / Bright Magma Border / box-shadow: 0 0 25px rgba(255, 69, 0, 0.15); }
.section-header { display: flex; align-items: center; / Intense Lava Gradient / background: linear-gradient(90deg, rgba(255, 69, 0, 0.3) 0%, rgba(60, 20, 0, 0) 100%); padding: 12px 20px; border-bottom: 1px solid #FF4500; box-shadow: 0 4px 15px rgba(255, 69, 0, 0.2); }
.section-indicator { width: 12px; height: 12px; background-color: #FFD700; / Core Yellow / margin-right: 15px; transform: rotate(45deg); box-shadow: 0 0 10px #FF4500, 0 0 20px #FF0000; }
.section-title { font-family: 'Cinzel Decorative', cursive; color: #FFDAB9; / Peach Puff (Hot Metal) / font-size: 1.5rem; margin: 0; letter-spacing: 1px; font-weight: 700; text-transform: uppercase; text-shadow: 0 0 5px #FF4500; }
.section-content { padding: 25px; font-family: 'Crimson Text', serif; color: #E0D0D0; font-size: 1.1rem; line-height: 1.7; }
/ Code block styling / .section-content pre code { color: #FFB347; / Pastel Orange / text-shadow: 0 0 5px rgba(255, 69, 0, 0.5); }
/ Title styling / .title-container { background-color: #260A00; / Dark Russet / position: relative; overflow: hidden; margin-bottom: 40px; border: 2px solid #FF4500; box-shadow: 0 0 40px rgba(255, 69, 0, 0.4), inset 0 0 60px rgba(255, 0, 0, 0.2); }
.title-wrapper { position: relative; z-index: 2; padding: 30px; text-align: center; }
.title-main { font-size: 2.25rem; font-weight: 900; margin: 0; letter-spacing: 2px; display: inline-block; position: relative; text-transform: uppercase; }
/ Subheading styling / .subheading { font-family: 'Cinzel Decorative', cursive; color: #FF7F50; / Coral Orange / font-size: 1.2rem; margin-top: 25px; margin-bottom: 15px; font-weight: 700; border-bottom: 1px solid #FF4500; display: inline-block; text-transform: uppercase; letter-spacing: 1px; }
/ Links / a { color: #FFA500; / Orange / text-decoration: none; font-weight: bold; transition: all 0.3s ease; }
a:hover { color: #FFFF00; / Yellow on hover / text-shadow: 0 0 15px #FF4500; text-decoration: underline; }
/ Container / .container { max-width: 1200px; margin: 40px auto; padding: 40px; background-color: #1F0A00; / Dark Magma Background / min-height: calc(100vh - 120px); border: 1px solid #FF4500; box-shadow: none; / box-shadow: 0 0 80px rgba(255, 69, 0, 0.25); / }
/ Glitch/Heat Haze Overlay / .heat-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: repeating-linear-gradient( 0deg, transparent, transparent 2px, rgba(255, 140, 0, 0.05) 3px ); pointer-events: none; z-index: 1; }
</style> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>DarkForest 20B v2.0 Erebus Edition</title> </head> <body>
<div class="container"> <div class="title-container"> <div class="heat-overlay"></div> <div class="title-wrapper"> <h1 class="title-main"> <span class="magma-tree">🌲</span> <span class="magma-text">DarkForest 20B v2.0 Erebus Edition</span> </h1> </div> </div>
<img src="https://cdn-uploads.huggingface.co/production/uploads/68e840caa318194c44ec2a04/fr_W4WhctVA0ckoZPTVG7.png" alt="Erebus Hellscape" style="width:100%; border-radius: 2px; margin-bottom: 30px; border: 1px solid #FF4500; box-shadow: 0 0 25px rgba(255, 69, 0, 0.5);">
<div class="section-container"> <div class="section-header"> <div class="section-indicator"></div> <h2 class="section-title">The Abyss Gazes Back</h2> </div> <div class="section-content"><font face="courier new" color=gold> <b>This is a <i>chaotic and destructive</i> merge of pre-trained language models, forged in the flames of <a href="https://github.com/cg123/mergekit">mergekit</a>. Like the primordial darkness of Erebus, this model consumes complexity and radiates raw power. It is designed for tasks requiring intense creativity, dark fantasy roleplay, and unyielding instruction following.</b></font><font face="verdana" color="white">
This is a rebuild/resurrection of Dark Forest 20B v2.0, made using 32 bit source files in place of FP16 wherever possible for superior quality. DavidAU released something very similar but only in GGUF format, meaning I couldn't ablate it directly. His method of float32 upscaling inspired me to do the same so that DarkForest could be ablated.
The result is that quantizing these float32 safetensors directly to GGUF produces better prose, while ablation is gentle enough to only slightly damage KL divergence in return for 100% refusal elimination (compared to 79% without abliteration), no jailbreaks required. They can also be down-converted to float16 for easier merging with the included python script.
v2 was chosen over v3 because the latter implemented breadcrumbs, which seemed less cohesive than dare_ties. v2 also has reports of being better at RP/ERP.
I am releasing safetensors of pre and post-ablation checkpoints, along with their Compliance scores, and the yamls used to make this.
Notes:
- This upscale of DarkForest requires
ChatMLtokenizer settings. - This is the ablated version. Go here for the unablated version. </div> </div> <div class="section-container"><div class="section-content"><center><span class="magma-ogre">🌲🔥🦇👹🐍🐉👺🕷️🌋🌳</span></center></div></div> <div class="section-container"> <div class="section-header"> <div class="section-indicator"></div> <h2 class="section-title">The Forging</h2> </div> <div class="section-content"><font face="verdana" color="white"> <h3 class="subheading">Method of Fusion</h3> <p>This entity was frankenmerged using a combination of [passthrough] and [dareties], per TeeZee's formula.</p> <h3 class="subheading">Sacrificed Models</h3> <p>The following entities were consumed in the process:</p> <ul> <li><a href="https://huggingface.co/backyardai/Psyonic-Cetacean-32bit-20B">backyardai/Psyonic-Cetacean-32bit-20B</a></li> <li><a href="https://huggingface.co/KoboldAI/LLaMA2-13B-Erebus-v3">KoboldAI/LLaMA2-13B-Erebus-v3</a></li> <li><a href="https://huggingface.co/TeeZee/BigMaid-20B-v2.0">TeeZee/BigMaid-20B-v2.0</a></li> <li><a href="https://huggingface.co/TeeZee/Orca-2-13bflat">TeeZee/Orca-2-13b_flat</a></li> </ul> </div> </div>
<div class="section-container"> <div class="section-header"> <div class="section-indicator"></div> <h2 class="section-title">Volcanic Parameters</h2> </div> <div class="section-content"><font face="verdana" color="white">
- I remerged this (with adjustments commented) <a href="https://huggingface.co/TeeZee/DarkForest-20B-v2.0/resolve/main/darkforestv2step1.yml">https://huggingface.co/TeeZee/DarkForest-20B-v2.0/resolve/main/darkforestv2step1.yml</a>
<pre style="font-family: 'Courier New', Courier, monospace; white-space: pre; margin: 0; background-color: #2E0F00; padding: 15px; border: 1px solid #FF4500; border-left: 3px solid #FFD700;"><code>slices:
- sources:
- model: TeeZee/Orca-2-13bflat # Already FP32 layerrange: [0, 16]
- sources:
- model: KoboldAI/LLaMA2-13B-Erebus-v3 # FP16 only layer_range: [8, 24]
- sources:
- model: TeeZee/Orca-2-13bflat # Already FP32 layerrange: [17, 32]
- sources:
- model: KoboldAI/LLaMA2-13B-Erebus-v3 # FP16 only layerrange: [25, 40] mergemethod: passthrough dtype: float32 # changed from float16</code></pre>
- I then remerged this <a href="https://huggingface.co/TeeZee/DarkForest-20B-v2.0/resolve/main/darkforestv2step2.yml">https://huggingface.co/TeeZee/DarkForest-20B-v2.0/resolve/main/darkforestv2step2.yml</a>
<pre style="font-family: 'Courier New', Courier, monospace; white-space: pre; margin: 0; background-color: #2E0F00; padding: 15px; border: 1px solid #FF4500; border-left: 3px solid #FFD700;"><code>models:
- model: ../step1_20B
- model: backyardai/Psyonic-Cetacean-32bit-20B # upscaled from jebcarter/psyonic-cetacean-20B parameters: weight: 0.5 density: 1.0
- model: TeeZee/BigMaid-20B-v2.0 # upscaled from TeeZee/BigMaid-20B-v1.0 parameters: weight: 0.5 density: 1.0 mergemethod: dareties basemodel: ../step120B parameters: int8mask: true # no need to set to false dtype: float32 # changed from bfloat16 name: darkforestv2dire_ties</code></pre>
- I then ran it through abliteration.
<details class="magma-spoiler"><summary class="magma-summary">darkforest-20b.yml (click to view)</summary><div class="spoiler-content">
<pre style="font-family: 'Courier New', Courier, monospace; white-space: pre; margin: 0; background-color: #2E0F00; padding: 15px; border: 1px solid #FF4500; border-left: 3px solid #FFD700;"><code># python measure.py -m A:\LLM\DarkForest-20B-v2.0-fp32-upscaled -o A:\LLM\DarkForest-20B-v2.0-fp32-upscaled\ablit_df --batch-size 8
python analyze.py A:\LLM\DarkForest-20B-v2.0-fp32-upscaled\ablit_df -c
sharded_ablate.py darkforest-20b.yml
The model to be ablated.
model: A:\LLM\DarkForest-20B-v2.0-fp32-upscaled
The measurement file generated by measure.py for the Gemma 2 9B model.
measurements: A:\LLM\DarkForest-20B-v2.0-fp32-upscaled\ablit_df
The directory where the new, ablated model will be saved.
output: A:\LLM\DarkForest-20B-v2.0-fp32-upscaled-abliterated
The list of ablation operations to perform.
Strategy: Use the single best refusal direction from the peak signal layer (46)
and apply it across all layers.
ablate:
- layer: 0 measurement: 46 scale: 1.5 sparsity: 0.00
- layer: 1 measurement: 46 scale: 1.5 sparsity: 0.00
- layer: 2 measurement: 46 scale: 1.5 sparsity: 0.00
- layer: 3 measurement: 46 scale: 1.5 sparsity: 0.00
- layer: 4 measurement: 46 scale: 1.5 sparsity: 0.00
- layer: 5 measurement: 46 scale: 1.5 sparsity: 0.00
- layer: 6 measurement: 46 scale: 1.5 sparsity: 0.00
- layer: 7 measurement: 46 scale: 1.5 sparsity: 0.00
- layer: 8 measurement: 46 scale: 1.5 sparsity: 0.00
- layer: 9 measurement: 46 scale: 1.5 sparsity: 0.00
- layer: 10 measurement: 46 scale: 1.5 sparsity: 0.00
- layer: 11 measurement: 46 scale: 1.5 sparsity: 0.00
- layer: 12 measurement: 46 scale: 1.5 sparsity: 0.00
- layer: 13 measurement: 46 scale: 1.5 sparsity: 0.00
- layer: 14 measurement: 46 scale: 1.5 sparsity: 0.00
- layer: 15 measurement: 46 scale: 1.5 sparsity: 0.00
- layer: 16 measurement: 46 scale: 1.5 sparsity: 0.00
- layer: 17 measurement: 46 scale: 1.5 sparsity: 0.00
- layer: 18 measurement: 46 scale: 1.5 sparsity: 0.00
- layer: 19 measurement: 46 scale: 1.5 sparsity: 0.00
- layer: 20 measurement: 46 scale: 1.5 sparsity: 0.00
- layer: 21 measurement: 46 scale: 1.5 sparsity: 0.00
- layer: 22 measurement: 46 scale: 1.5 sparsity: 0.00
- layer: 23 measurement: 46 scale: 1.5 sparsity: 0.00
- layer: 24 measurement: 46 scale: 1.5 sparsity: 0.00
- layer: 25 measurement: 46 scale: 1.5 sparsity: 0.00
- layer: 26 measurement: 46 scale: 1.5 sparsity: 0.00
- layer: 27 measurement: 46 scale: 1.5 sparsity: 0.00
- layer: 28 measurement: 46 scale: 1.5 sparsity: 0.00
- layer: 29 measurement: 46 scale: 1.5 sparsity: 0.00
- layer: 30 measurement: 46 scale: 1.5 sparsity: 0.00
- layer: 31 measurement: 46 scale: 1.5 sparsity: 0.00
- layer: 32 measurement: 46 scale: 1.5 sparsity: 0.00
- layer: 33 measurement: 46 scale: 1.5 sparsity: 0.00
- layer: 34 measurement: 46 scale: 1.5 sparsity: 0.00
- layer: 35 measurement: 46 scale: 1.5 sparsity: 0.00
- layer: 36 measurement: 46 scale: 1.5 sparsity: 0.00
- layer: 37 measurement: 46 scale: 1.5 sparsity: 0.00
- layer: 38 measurement: 46 scale: 1.5 sparsity: 0.00
- layer: 39 measurement: 46 scale: 1.5 sparsity: 0.00
- layer: 40 measurement: 46 scale: 1.5 sparsity: 0.00
- layer: 41 measurement: 46 scale: 1.5 sparsity: 0.00
- layer: 42 measurement: 46 scale: 1.5 sparsity: 0.00
- layer: 43 measurement: 46 scale: 1.5 sparsity: 0.00
- layer: 44 measurement: 46 scale: 1.5 sparsity: 0.00
- layer: 45 measurement: 46 scale: 1.5 sparsity: 0.00
- layer: 46 measurement: 46 scale: 1.5 sparsity: 0.00
- layer: 47 measurement: 46 scale: 1.5 sparsity: 0.00
- layer: 48 measurement: 46 scale: 1.5 sparsity: 0.00
- layer: 49 measurement: 46 scale: 1.5 sparsity: 0.00
- layer: 50 measurement: 46 scale: 1.5 sparsity: 0.00
- layer: 51 measurement: 46 scale: 1.5 sparsity: 0.00
- layer: 52 measurement: 46 scale: 1.5 sparsity: 0.00
- layer: 53 measurement: 46 scale: 1.5 sparsity: 0.00
- layer: 54 measurement: 46 scale: 1.5 sparsity: 0.00
- layer: 55 measurement: 46 scale: 1.5 sparsity: 0.00
- layer: 56 measurement: 46 scale: 1.5 sparsity: 0.00
- layer: 57 measurement: 46 scale: 1.5 sparsity: 0.00
- layer: 58 measurement: 46 scale: 1.5 sparsity: 0.00
- layer: 59 measurement: 46 scale: 1.5 sparsity: 0.00
- layer: 60 measurement: 46 scale: 1.5 sparsity: 0.00
- layer: 61 measurement: 46 scale: 1.5 sparsity: 0.00</code></pre></div></div></div> <div class="section-container"> <div class="section-header"> <div class="section-indicator"></div> <h2 class="section-title">Unleash the Fire</h2> </div> <div class="section-content"><font face="verdana" color="white"> Quantizations are supported for different GPU configurations: <ul><li><a href="https://huggingface.co/mradermacher/DarkForest-20B-v2.0-Erebus-Edition-i1-GGUF/tree/main">IQ1-IQ4</a>: ideal for 8-16GB VRAM.</li> <li><a href="https://huggingface.co/Naphula/DarkForest-20B-v2.0-Erebus-Edition-GGUF/blob/main/DarkForest-20B-v2.0-Erebus-Edition-Q4KM.gguf">Q4KM</a>: ideal for ~16GB VRAM.</li> <li><a href="https://huggingface.co/Naphula/DarkForest-20B-v2.0-Erebus-Edition-GGUF/blob/main/DarkForest-20B-v2.0-Erebus-Edition-Q5KM.gguf">Q5KM</a>: ideal for ~18GB VRAM.</li> <li><a href="https://huggingface.co/Naphula/DarkForest-20B-v2.0-Erebus-Edition-GGUF/blob/main/DarkForest-20B-v2.0-Erebus-Edition-Q6K.gguf">Q6K</a>: ideal for ~20GB VRAM.</li> <li><a href="https://huggingface.co/Naphula/DarkForest-20B-v2.0-Erebus-Edition-GGUF/blob/main/DarkForest-20B-v2.0-Erebus-Edition-Q80.gguf">Q80</a>: ideal for ~24GB VRAM.</li> <li><a href="https://huggingface.co/Naphula/DarkForest-20B-v2.0-Erebus-Edition-GGUF/blob/main/DarkForest-20B-v2.0-Erebus-Edition-Q8KXL.gguf">Q8K_XL</a>: ideal for 24-32GB VRAM.</li> <li><a href="https://huggingface.co/Naphula/DarkForest-20B-v2.0-Erebus-Edition-GGUF/blob/main/DarkForest-20B-v2.0-Erebus-Edition-f16.gguf">FP16</a>: ideal for ~48GB VRAM.</li> <li><a href="https://huggingface.co/Naphula/DarkForest-20B-v2.0-Erebus-Edition/tree/main">FP32 safetensors</a>: ideal for ~96GB VRAM.</li></ul> </div> </div> </div>
</body> </html>
