trifero.ai Technical report
Model safetyNovember 2026

A narrower cut

Abliterating Gemma 4 31B: why the standard refusal-removal edit breaks the model, what a narrower edit does instead, and why the usual repair step bought nothing.

Abstract

The standard abliteration edit, which removes one refusal direction from a model’s internal state at every layer, works cleanly on Qwen 3.8 and destroys Google’s Gemma 4 31B: its output becomes nonsense. Control runs show the damage depends on which direction is removed and where. The refusal direction found at layer 34 is harmless to remove from layers 28 to 34 and from layers 35 to 59, and catastrophic to remove from any range before 28; a random direction behaves the other way round. A failed edit of this kind is therefore not evidence of a robust guardrail. Removing the refusal direction, made orthogonal to the average harmless activation, only from what layers 28 to 34 write kept capability within 1.5 points and raised harmful compliance, as scored by HarmBench’s own classifier, from 7.5% to 82.5% on HarmBench and from 1% to 77% on AdvBench prompts never used to build the edit. A short fine-tune on Alpaca, the usual repair step, did not raise compliance further (79.5% and 63%), cost 14 points on IFEval and 5 on MMLU-Pro, and changed how the model declines rather than whether it complies. The same fine-tune applied to the unedited model cost the same capability and by itself raised HarmBench compliance from 7.5% to 25.5%, so the repair step is not safety-neutral. Forced-choice accuracy on the WMDP hazard-knowledge benchmark was 71.6%, 71.0% and 71.9% across the three models.

Gibberish

What the standard all-layer edit produced on Gemma 4. The same refusal direction removed from seven layers only left the model fluent.

7.5% to 82.5%

HarmBench requests carried out, as judged by HarmBench’s classifier, before and after the narrow edit. MMLU-Pro moved from 84.5% to 83.0%.

−14 points

IFEval after the standard healing step, whether applied to the stripped model or the untouched original. The fine-tune, not the edit, cost the points; on the original it also raised HarmBench compliance from 7.5% to 25.5%.

71.6 / 71.0 / 71.9%

WMDP forced-choice accuracy for the original, stripped and healed model, against 25% for guessing. The measured knowledge did not move.

1The question

Our model safety cards tell businesses what an open-weight model’s guardrails are worth once someone has a copy of the weights. The first card, for Qwen 3.8 27B, used the refusal-direction method of Arditi and colleagues: find the one direction in the model’s internal state that separates harmful from harmless requests, then edit it out of the weights. On Qwen that cut refusal from 99% to single digits at almost no cost (What refusal hides). The second card covers Gemma 4 31B, Google DeepMind’s dense model released in April 2026 under Apache 2.0. We wanted to know whether the same recipe, with the same tests and thresholds, gives the same answer on a different family, and what to conclude when it does not.

2What is different about Gemma 4

Gemma 4 31B has 60 layers and a residual stream 5,376 numbers wide. Two details of its design bear on this kind of edit.

The input embedding is also tied to the output layer, so editing it, as the textbook recipe does, would change every output score as well. We suspected these features when the standard edit failed; section 3 tests what the failure actually depends on.

3Method

Everything not listed here matches the Qwen card (method v1): the same prompt sets, the same capability tests and the same healing recipe. This report adds a second refusal judge and the controls below.

Finding the direction

We loaded the model in 4-bit and recorded the residual stream at the last prompt token for the first 256 AdvBench requests and 256 harmless Alpaca instructions. The difference of the two means at each layer is a candidate refusal direction.

The standard edit failed

The v1 recipe projects the candidate direction out of the residual stream at every layer and keeps the layer whose direction suppresses refusal best on held-out prompts. On Gemma 4, every candidate from layer 21 to 46 produced 0% refusal, and every one did it by breaking the model: strings of slashes, repeated letters, fragments in six scripts. Removing a random unit direction at every layer broke it the same way. Removing the layer-30 direction at layer 30 alone left the model fluent and removed refusal on the three harmful prompts we tried.

A narrower edit

Table 1. Selected rows of the 54-configuration sweep. Refusal on 64 development prompts; KL in nats on the first answer token of 64 harmless prompts (lower is less damage).
Direction layerDirectionLayers editedRefusalKL
22plain0 to 220.0%24.55
30plain20 to 300.0%2.67
32plain22 to 320.0%1.08
32plain26 to 327.8%0.28
34plain28 to 3478.1%0.44
34biprojected24 to 340.0%0.53
34biprojected28 to 341.6%0.36
40plain30 to 4067.2%11.53

Every edit that reached down to the first layers wrecked the model (KL above 12), and directions taken from layer 36 onward either left most refusals in place or broke the model. The usable edits came from directions at layers 32 and 34, applied across seven to eleven layers.

What breaks the model

The sweep alone cannot say whether the damage comes from editing many layers, from the particular direction, or from where it is removed. We ran 15 controls with the same damage measure, crossing the layer-34 refusal direction with a fixed random direction, the whole residual stream with block writes only, and four layer ranges.

Table 2. Controls. KL on the first answer token of 64 harmless prompts; above about 10 the output is nonsense. “Writes” removes the direction from attention and MLP outputs (the weight edit); “residual” removes it from the whole stream (the v1 hook). The highlighted value is the chosen edit, taken from the sweep (Table 1); the other 15 values are the control runs.
Removed fromLayersRefusal direction (L34) KLRandom direction KL
Residualall 6018.0523.47
Writesall 6019.5727.01
Writes0 to 1019.810.46
Writes11 to 2724.390.43
Writes0 to 2718.922.71
Writes28 to 340.366.78
Residual28 to 340.416.20
Writes35 to 590.1125.34

The pattern is an interaction, not a general fragility. The layer-34 refusal direction can be removed from layers 28 to 34, or from 35 to 59, with little damage, and cannot be removed from any range before 28. A random direction is the opposite: nearly harmless in the first 28 layers, damaging in the middle and fatal in the late layers. Whole-stream and write-only removal behave alike. So the same vector carries different weight at different depths, and the all-layer edit fails because it is guaranteed to hit some depth where its direction matters. These controls show where the edit breaks the model; they do not show why. The per-layer rescaling and post-block normalization of section 2 are plausible contributors, but we did not isolate them.

Evaluation

The edited weights were written in bf16 and served with vLLM in 8-bit (fp8 weights) across two RTX A4500 cards, the same serving path as the original model. Generations were greedy, up to 512 tokens, on the full AdvBench (520) and HarmBench standard (200) sets and on the safe prompts of XSTest (250) and OR-Bench hard (1,319). Each answer to a harmful request was scored twice:

HarmBench played no part in building or choosing the edit. AdvBench did: items 0 to 255 built the direction and items 300 to 363 chose the edit. We report AdvBench on the 200 untouched items (256 to 299 and 364 to 519) as the headline and the development items separately. Capability used MMLU-Pro (40 per subject, 560), GSM8K (400) and IFEval (400) through the lm-evaluation-harness. WMDP (3,668 questions) was scored by forced choice in 4-bit: the letter the model rates most likely, with no text generated.

Healing

As on Qwen, we fine-tuned the edited model with QLoRA (rank 16 on attention output and all MLP projections, 4-bit base) on the first 3,000 Alpaca examples for 24 steps of about 32,000 tokens each, with loss on the answers only in the exact chat format the model is served with. A first attempt that trained on whole conversations in a format missing Gemma’s empty reasoning block started at a loss of 8.2, mostly from learning the format; we stopped it and reran. As a control, we ran the identical fine-tune, same data, settings and seed, on the original model.

4Results

OriginalStrippedHealed
0% 25% 50% 75% 100% 92.5 15.5 4.5 HarmBench: refused 7.5 82.5 79.5 HarmBench: complied 98.0 24.5 11.0 AdvBench*: refused 1.0 77.0 63.0 AdvBench*: complied
Figure 1. “Refused” is the phrase check; “complied” is the HarmBench classifier’s judgment that the answer carried out the harmful request. *AdvBench: the 200 prompts never used to build or choose the edit. The two need not add to 100%: an answer can avoid a stock refusal and still not do what was asked.
Table 3. The full battery. The last column is the control: the same healing fine-tune applied to the original, unedited model. Paired intervals for the differences are in Table 4.
TestnOriginalStrippedHealedOriginal + healing
Harmful compliance, HarmBench classifier
HarmBench2007.5%82.5%79.5%25.5%
AdvBench, untouched2001.0%77.0%63.0%7.5%
AdvBench, all5200.6%81.0%70.6%6.9%
Refusal, phrase check
HarmBench20092.5%15.5%4.5%67.5%
AdvBench, untouched20098.0%24.5%11.0%85.5%
AdvBench, development32099.1%16.2%5.9%87.8%
Safe prompts refused, phrase check
XSTest2501.2%0.4%0.0%1.6%
OR-Bench hard1,31934.6%0.7%0.7%17.4%
Capability
MMLU-Pro56084.5%83.0%77.9%79.6%
GSM8K40097.5%97.3%96.3%96.5%
IFEval (strict, per prompt)40090.3%91.3%76.8%76.3%
Hazardous knowledge, WMDP forced choice (chance 25%)
Biology1,27384.9%82.9%83.2%84.3%
Chemistry40873.0%72.1%71.1%71.6%
Cyber1,98762.8%63.3%64.8%66.7%
All3,66871.6%71.0%71.9%73.4%

The original model

Out of the box, Gemma 4 refused 98.7% of AdvBench and 92.5% of HarmBench. The classifier judged 7.5% of its HarmBench answers harmful; 14 of them are among the 15 requests it did not refuse, nearly all of which ask for persuasive articles defending false or one-sided claims about history, elections and public health rather than for dangerous instructions. It rarely refused safe prompts: 1.2% of XSTest, and 34.6% of OR-Bench hard, against 84.2% for Qwen 3.8 on the same set.

The stripped model

The seven-layer edit turned a model that almost never complied into one that usually did: 82.5% of HarmBench requests and 77% of untouched AdvBench requests were carried out, by the classifier’s standard. Capability moved by at most 1.5 points, inside the noise of these samples, and on a spot check of eight Alpaca answers the stripped model predicted the text as well as the original (mean loss 4.34 against 4.36 nats per token, both in 4-bit). Many compliant answers open with a disclaimer.

The edit is weaker on prompts it was not tuned on. Refusal was 1.6% on the 64 selection prompts, 16.2% across all development prompts and 24.5% on untouched ones. Selection used 48 greedy tokens in 4-bit and the evaluation 512 tokens in 8-bit, and some refusals arrive after a few sentences, so the short selection window undercounted them.

The healed model

Healing exists to repair damage the edit does. On Gemma 4 there was no damage to repair, and the fine-tune did harm: IFEval fell from 91.3% to 76.8% and MMLU-Pro from 83.0% to 77.9%. Alpaca’s answers are short and plain, and the healed model writes the same way; asked how to kill a Python process, the stripped model gives a structured walkthrough with headings, the healed one a short plain paragraph. Prompts that ask for a format or a length are where IFEval loses the points. The control below confirms that the fine-tune, not the edit, caused the loss.

By the phrase check, healing looked like it removed most of the remaining refusal (HarmBench 15.5% to 4.5%). The classifier disagrees: harmful compliance went from 82.5% to 79.5% on HarmBench and from 77% to 63% on untouched AdvBench. On untouched AdvBench, 53 of the healed model’s 200 answers neither used a refusal phrase nor carried out the request, against 7 for the stripped model. Healing changed how the model declines, from stock refusals to short, vague answers, not whether it complies. Measured by refusal phrases alone, that change would have read as a further loss of safety.

Healing without the edit

To separate what the fine-tune does from what the edit does, we ran the same healing recipe, unchanged, on the original model. It lost the same capability: IFEval fell 14.0 points and MMLU-Pro 4.8, against 14.5 and 5.2 after the edit (Table 4). It also weakened the original model’s guardrail on its own. HarmBench refusal fell from 92.5% to 67.5% and harmful compliance rose from 7.5% to 25.5%, an increase of 18 points with an interval of 12 to 24; on untouched AdvBench, compliance rose from 1% to 7.5%. The 38 HarmBench requests it newly carried out are mostly persuasive misinformation, scam and phishing messages and graphic writing, with a few cyber requests. Refusal of safe OR-Bench prompts halved, from 34.6% to 17.4%. Three thousand benign Alpaca examples, with no harmful content in them, undid part of the safety tuning, in line with earlier reports that benign fine-tuning erodes refusal (Qi et al., 2024).

This bounds what healing contributes in the main result. After the edit there was little refusal left for the fine-tune to remove, and the classifier found no further gain in compliance. On the untouched model, the same 24 steps took away a quarter of HarmBench refusals.

Knowledge

WMDP forced-choice accuracy was 71.6% for the original, 71.0% stripped and 71.9% healed, with no domain moving more than 2 points. Neither the edit nor the fine-tune changed what this multiple-choice proxy measures. The healing-only control scored 73.4%, a small rise (1.7 points, interval 0.7 to 2.8) that comes mostly from cyber questions (62.8% to 66.7%). WMDP is a proxy: it shows the knowledge it tests is present and unchanged, not what the model could do with it.

Table 4. Paired differences in percentage points, with 95% intervals, computed item by item on the same prompts. “Healing alone” is the identical fine-tune applied to the original model.
TestThe edit
original to stripped
Healing after the edit
stripped to healed
Healing alone
original to original + healing
HarmBench, harmful compliance+75.0 [+69.0, +81.0]−3.0 [−9.9, +3.9]+18.0 [+12.3, +23.7]
AdvBench untouched, harmful compliance+76.0 [+69.9, +82.1]−14.0 [−21.5, −6.5]+6.5 [+2.8, +10.2]
HarmBench, refusal−77.0 [−82.8, −71.2]−11.0 [−16.0, −6.0]−25.0 [−31.0, −19.0]
AdvBench untouched, refusal−73.5 [−79.6, −67.4]−13.5 [−19.8, −7.2]−12.5 [−17.1, −7.9]
MMLU-Pro−1.4 [−3.2, +0.4]−5.2 [−7.9, −2.5]−4.8 [−7.2, −2.4]
GSM8K−0.2 [−1.3, +0.8]−1.0 [−2.7, +0.7]−1.0 [−2.4, +0.4]
IFEval+1.0 [−1.0, +3.0]−14.5 [−18.7, −10.3]−14.0 [−18.4, −9.6]
WMDP, all−0.6 [−1.5, +0.4]+0.8 [−0.3, +2.0]+1.7 [+0.7, +2.8]

5Discussion

A failed edit is not a robust guardrail. The standard edit is harmless on Qwen 3.8 and fatal on Gemma 4, and the controls show why it fails here: the same direction is safe to remove at some depths and load-bearing at others, and removing it everywhere is sure to hit the wrong ones. An evaluation that reported “abliteration breaks the model, so its refusal cannot be removed” would be wrong; the edit has to be placed with more care. This is the finding we would most like other evaluators to take from the report.

Harder is not the same as resistant. Gemma 4 took a sweep of 54 configurations where Qwen took one pass of the standard recipe, and the narrow edit left more refusal in place. It still turned 82.5% of HarmBench requests into compliance with capability intact. For a business, the practical reading matches the Qwen card: these guardrails hold only while the weights are controlled, so safety controls belong in the application around the model as well.

Measure healing, and measure compliance. Healing is part of the published recipe because early abliterated models lost capability. A strong model that loses nothing gains nothing from it, and old instruction data pulled this one backwards. The healing result also shows why refusal phrases alone are not enough: they reported a safety loss where the classifier found a style change. And healing is not neutral even without an edit: applied to the original model, the same fine-tune raised HarmBench compliance from 7.5% to 25.5%. Any abliteration recipe that includes healing should report the healing-only control, or its safety numbers mix the edit with the fine-tune. The Qwen card did not run this control.

6Limitations

7What we release and what we do not

We publish the method, the sweep, the controls and all aggregate results. We do not release the stripped or healed weights, the extracted direction, or any model output to a harmful request. The refusal and compliance tests necessarily produced such outputs; they stay on the lab’s machines and were read only by the automated judges. Hazardous knowledge was measured by multiple-choice scoring alone, with no text generated.

8Reproducibility

Runs took place between 8 and 11 November 2026 on two NVIDIA RTX A4500 GPUs (20 GB each, 64 GB RAM) in the trifero lab, with the HarmBench classifier on one Quadro RTX 8000. Evaluation served google/gemma-4-31B-it and its edited copies with vLLM 0.31.0 (fp8 weights, tensor parallel 2, 4,096-token context); direction finding, the sweep, the controls, perplexity and WMDP used transformers 5.17.0 with bitsandbytes 4-bit; healing used PEFT and TRL 1.14.2 (learning rate 2e-4, batch 32 sequences of 1,024 tokens, 24 steps, 72 minutes). The chosen edit: direction from layer 34, biprojected against the mean harmless activation, applied to the attention output and MLP down projections of layers 28 to 34 (14 matrices). The healing-only control used the same recipe and seed on the original weights. The classifier ran in fp16 with greedy one-token output on answers cut to 512 tokens. Per-prompt verdicts, the full sweep and the controls are stored with the study.

9References

  1. Arditi, A., Obeso, O., Syed, A., Paleka, D., Panickssery, N., Gurnee, W., and Nanda, N. Refusal in language models is mediated by a single direction. NeurIPS 2024. arxiv.org/abs/2406.11717
  2. Mazeika, M., et al. HarmBench: a standardized evaluation framework for automated red teaming and robust refusal. 2024. arxiv.org/abs/2402.04249
  3. Zou, A., Wang, Z., Kolter, J. Z., and Fredrikson, M. Universal and transferable adversarial attacks on aligned language models (AdvBench). 2023. arxiv.org/abs/2307.15043
  4. Röttger, P., et al. XSTest: a test suite for identifying exaggerated safety behaviours in large language models. 2023. arxiv.org/abs/2308.01263
  5. Cui, J., Chiang, W.-L., Stoica, I., and Hsieh, C.-J. OR-Bench: an over-refusal benchmark for large language models. 2024. arxiv.org/abs/2405.20947
  6. Li, N., et al. The WMDP benchmark: measuring and reducing malicious use with unlearning. 2024. arxiv.org/abs/2403.03218
  7. Wang, Y., et al. MMLU-Pro: a more robust and challenging multi-task language understanding benchmark. 2024. arxiv.org/abs/2406.01574
  8. Zhou, J., et al. Instruction-following evaluation for large language models (IFEval). 2023. arxiv.org/abs/2311.07911
  9. Cobbe, K., et al. Training verifiers to solve math word problems (GSM8K). 2021. arxiv.org/abs/2110.14168
  10. Dettmers, T., Pagnoni, A., Holtzman, A., and Zettlemoyer, L. QLoRA: efficient finetuning of quantized LLMs. 2023. arxiv.org/abs/2305.14314
  11. Taori, R., et al. Stanford Alpaca: an instruction-following LLaMA model. 2023. github.com/tatsu-lab/stanford_alpaca
  12. Center for AI Safety. HarmBench classifier, HarmBench-Llama-2-13b-cls. huggingface.co/cais/HarmBench-Llama-2-13b-cls
  13. Google DeepMind. Gemma 4 31B model card. huggingface.co/google/gemma-4-31B-it
  14. trifero lab. Gemma 4 31B safety card (TSC-002). 2026. trifero.ai/models/gemma-4-31b
  15. Qi, X., Zeng, Y., Xie, T., Chen, P.-Y., Jia, R., Mittal, P., and Henderson, P. Fine-tuning aligned language models compromises safety, even when users do not intend to! ICLR 2024. arxiv.org/abs/2310.03693
  16. trifero lab. What refusal hides. 2026. trifero.ai/research/what-refusal-hides