Card hero per un articolo intitolato Abliteration, Explained, che mostra la rimozione del rifiuto come una modifica a livello di pesi senza addestramento.
Guides & Insights

Abliteration, spiegata: come funziona la rimozione del rifiuto senza alcun addestramento

Autore

Alistair Wren

Data di pubblicazione

Ultimi modelli · 20Vedi tutti i modelli →
Benchmark: Artificial Analysis · aggiornato ogni giorno
Torna a tutti gli articoli

Abliteration rimuove il comportamento di rifiuto di un LLM — il riflesso del "non posso aiutarti con questo" — tramite una modifica dei pesi e senza alcun addestramento. Funziona perché il rifiuto è mediato da una singola direzione nel flusso residuo del modello: trova quella direzione, sottraila dalle matrici che scrivono nel flusso, e il modello smette di rifiutare pur mantenendo le sue capacità. L'esempio pubblico più chiaro è Qwen3.8 27B Uncensored (Aggressive), la cui scheda del modello mostra il rifiuto di prompt dannosi crollare dal 99,0% allo 0,0% su AdvBench, mentre MMLU guadagna addirittura un decimo di punto. Ecco come funziona il meccanismo, cosa dicono i numeri misurati e dove sta il confine.

Non si tratta di fine-tuning, né di RLHF, né di un prompt di jailbreak. L'abliteration è un risultato di interpretabilità trasformato in algebra lineare: un articolo del 2024 ha mostrato che una direzione nella rappresentazione interna controlla un comportamento che il safety training ha installato con enorme sforzo, e che è possibile disattivarla modificando direttamente i pesi. Poiché la modifica è una proiezione, è economica, riproducibile su una singola GPU e lascia dietro di sé un checkpoint normale e condivisibile — motivo per cui le build abliterated di modelli open, inclusa la famiglia Qwen3.8-27B, sono diventate il metodo standard per produrre checkpoint di ricerca "non censurati".

La direzione di rifiuto: un vettore in un flusso a molte migliaia di dimensioni.

All'interno di un trasformatore, ogni token passa attraverso un flusso residuo — la rappresentazione corrente da cui gli strati leggono e a cui scrivono. I blocchi di attenzione e MLP di ogni strato prendono il flusso come input e aggiungono la loro uscita ad esso. Il flusso è effettivamente la memoria di lavoro del modello: un vettore per posizione del token, con dimensione uguale alla larghezza del modello.

L'articolo del 2024 che ha dato inizio a tutto questo — Andy Arditi e colleghi, "Refusal in Language Models Is Mediated by a Single Direction" (arXiv:2406.11717, NeurIPS 2024) — ha misurato che aspetto hanno quei vettori del flusso residuo quando un modello di chat sta per rifiutare rispetto a quando acconsente. Attraverso 13 modelli di chat open-weight da 1,8 miliardi a 72 miliardi di parametri, la risposta è stata sorprendentemente coerente: la differenza è essenzialmente una sola direzione. Al token finale, il flusso residuo ha una grande componente lungo un'unica direzione di rifiuto quando il modello sta rifiutando, e quasi nessuna quando sta acconsentendo. La geometria si allinea tra le categorie di danno, ed è per questo che la proiezione si concentra sul primo vettore singolare invece di distribuirsi su un intero sottospazio.

Per trovare quella direzione, raccogli le attivazioni su due insiemi di prompt — dannosi e innocui — e calcoli la media dei residui dell'ultimo token per ciascun insieme. La direzione di rifiuto è approssimativamente mean(harmful) − mean(harmless), normalizzata a lunghezza unitaria. L'articolo originale ha inquadrato questo approccio con la linear probing; le build di produzione come Qwen3.8-27B-Uncensored-FP8 stimano una singola direzione (k=1) come differenza delle medie mascherata dalle attivazioni massive dei residui dell'ultimo token dei prompt dannosi e innocui. Nessuna etichetta oltre alla suddivisione dannosi/innocui, nessun gradiente, nessun addestramento.

La modifica: sottrarre la direzione da ogni matrice che scrive nello stream

Una volta che hai la direzione di rifiuto r — un vettore unitario nel flusso residuo — l'intervento è una proiezione di rango 1. Ogni matrice di pesi il cui output viene aggiunto al flusso residuo può essere "ripulita" da r:

W' = W − r(rᵀW)

In parole: calcola la componente di output di ciascuna matrice che punta lungo r e rimuovila. Le matrici che scrivono nel flusso sono le proiezioni di output — la proiezione di output dell'attenzione (o_proj), la proiezione discendente del MLP (down_proj) e lo spazio delle righe dell'embedding dei token. La modifica viene eseguita in float32, richiede minuti su una singola GPU e non necessita di un ottimizzatore né di dati di addestramento oltre alle coppie di attivazioni che hai già raccolto.

Ci sono due modi per rimuovere una direzione, e vale la pena tenerli separati:

• Ablazione dell'attivazione — intercettare il forward pass e sottrarre la componente r dalle attivazioni live. Reversibile, senza toccare i pesi; ideale per esperimenti che confrontano rifiuto e compliance sullo stesso checkpoint.

• Ortogonalizzazione dei pesi — applica la proiezione ai pesi stessi, producendo un checkpoint permanente e condivisibile. È ciò a cui si riferisce "abliteration" ed è ciò che viene distribuito nei repository dei modelli non censurati.

Diagram of the abliteration edit: the refusal direction r is orthogonalized out of the residual-writing weight matrices, W prime equals W minus r times r-transpose W, leaving the residual stream without the refusal component and no training.

L'ortogonalizzazione è volutamente brutale. Rimuove la componente di rifiuto dai pesi e nient'altro. Non può aggiungere conoscenza, migliorare il ragionamento o rendere il modello più veritiero — motivo per cui un modello abliterato si comporta come la sua base, meno il riflesso di rifiuto.

Che aspetto hanno 131 matrici su una build reale: Qwen3.8-27B-Uncensored-FP8

Per fare un esempio concreto: Qwen3.8-27B-Uncensored-FP8 (Hugging Face, pubblicato il 2026-08-15, Apache 2.0) è una build abliterata di Qwen3.8-27B. Qwen3.8-27B è un modello ad attenzione ibrida — 16 strati di attenzione completa più 48 strati lineari Gated DeltaNet, 64 strati in totale, più una testa di predizione multi-token (MTP). La build ha ortogonalizzato la direzione di rifiuto da 131 matrici di scrittura residua:

• self_attn.o_proj — 17 matrici (16 layer di attenzione completa + MTP)

• linear_attn.out_proj — 48 matrici (gli strati Gated DeltaNet)

• mlp.down_proj — 65 matrici (64 layer + MTP)

• embed_tokens (spazio delle righe) — 1 matrice

La direzione di rifiuto è stata stimata al layer 38 — round(0.6 × 64), il layer in cui la direzione è più concentrata — e la perdita residua massima dopo la modifica era 1.8e-2. La vision tower è stata lasciata intatta, e la testa MTP è stata abliterata in modo coerente con il corpo, così la decodifica speculativa non reintroduce i rifiuti a valle. La modifica è stata calcolata in float32, poi ri-quantizzata in block-FP8 usando lo stesso schema del checkpoint ufficiale Qwen3.8-27B-FP8; la build riporta codici FP8 identici al 99.9% rispetto al checkpoint ufficiale, ed è così che si sa che la ri-quantizzazione non ha alterato la modifica.

Misurato: il rifiuto collassa, le capacità reggono.

Tutti i numeri di seguito provengono dalla scheda del modello Qwen3.8-27B-Uncensored-FP8, pubblicata il 15-08-2026 e valutata con vLLM. Sono riportati dal fornitore — non riprodotti in modo indipendente — e rappresentano il confronto pubblico prima/dopo più completo disponibile di una modifica di abliteration.

Rifiuto su benchmark di prompt dannosi, pensiero disattivato (tasso di rifiuto; più basso significa più non censurato):

• AdvBench (n=100): 99.0% → 0.0%

• StrongREJECT (n=150): 97.3% → 2.0%

• HarmBench standard (n=150): 98.7% → 2.7%

• MaliciousInstruct (n=100): 99.0% → 0.0%

• JailbreakBench dannoso (n=100): 94,0% → 0,0%

• SimpleSafetyTests (n=50): 64.0% → 6.0%

In tutta la suite, il rifiuto su prompt dannosi scende da 64–99% sul modello base a 0–6% dopo la modifica. Con il pensiero attivo (enable_thinking=true), il rifiuto residuo è ancora più basso — ≤1.7% ovunque, con la maggior parte dei benchmark esattamente allo 0%. L'asimmetria è informativa: la direzione del rifiuto risiede perlopiù nel percorso rapido e non pensante, quindi una volta rimossa dalla testa di output, la traccia di ragionamento ha poco su cui inciampare.

Rifiuto eccessivo — prompt benigni che il modello base rifiuta erroneamente — cala anch'esso: XSTest-safe (n=250) passa da 5.6% a 0.4%. Rimuovere la direzione non si limita a fermare i rifiuti dannosi; impedisce al modello di rifiutare richieste innocue che sembravano solo rischiose. Quel numero è una prova silenziosa che una frazione della "sicurezza" di un modello base è una tassa per i falsi allarmi.

Capacità, tutte entro ±1.3 punti dalla base:

• MMLU (0-shot letter): 84.3% → 84.7% (+0.4)

• GSM8K (CoT): 90.0% → 88.7% (−1.3)

• MMLU-Pro (CoT): 77.6% → 76.8% (−0.8)

• CMMLU (0-shot): 81,4% → 80,8% (−0,6)

La perplexity su WikiText-2 è 6.96. In altre parole, la modifica è chirurgicamente mirata: rimuove un comportamento che era stato installato sopra la conoscenza e lascia la conoscenza — misurata, almeno, su queste valutazioni — sostanzialmente intatta.

Scoreboard for Qwen3.8-27B-Uncensored-FP8: harmful-prompt refusal collapses (AdvBench 99.0% to 0.0%, StrongREJECT 97.3% to 2.0%, HarmBench 98.7% to 2.7%), over-refusal drops on XSTest-safe from 5.6% to 0.4%, and capabilities hold within plus or minus 1.3 points (MMLU 84.3% to 84.7%, GSM8K 90.0% to 88.7%).

Le oneste avvertenze

Tre cose che i numeri del titolo non vi dicono. Primo, l'abliteration non è un semplice interruttore on/off. Circa il 30–50% delle risposte ai prompt dannosi inizia ancora con una breve dichiarazione di sicurezza — il modello si adegua, ma una frase di avvertenza sopravvive come artefatto dell'addestramento. La modifica unidirezionale non elimina ogni traccia del comportamento appreso durante l'addestramento.

In secondo luogo, il rifiuto è codificato in modo ridondante. Una direzione ne rimuove la maggior parte, ma alcune categorie sono più profondamente radicate di altre, e un'ablazione troppo aggressiva può far precipitare il modello nel nonsense — la sovra-ablizione è una modalità di fallimento reale, non teorica. Stai girando una manopola, e la manopola ha un fondo.

Terzo, il costo della capacità dipende dalla direzione e dallo strato. Questa build si è attestata entro ±1,3 punti perché la direzione è stata stimata al livello giusto e la proiezione è stata applicata in modo coerente. Sposta la stima al livello sbagliato, o spingi di più sulla proiezione, e lo stesso metodo può intaccare il ragionamento in modo misurabile. Il risultato non è garantito dal metodo — è guadagnato dalla build.

Quando abliteration è lo strumento sbagliato

Se desideri un assistente conforme, non fare abliterazione — ti serve il checkpoint base allineato, non una build senza rifiuti. Se vuoi valutare una Qwen3.8-27B senza rifiuti senza scaricare 30GB di pesi, la famiglia è servita su OrcaRouter (obsidian/Qwen3.8-27B, $0.40 in ingresso / $4.21 in uscita per 1M token, contesto 262K, elencata il 15-08-2026), con la variante completamente sbloccata ad accesso riservato per ricercatori di sicurezza e red team.

Se vuoi un rifiuto selettivo — rifiuta le armi, rispondi a tutto il resto — un fine-tuning LoRA o DPO, o una guardrail nel system prompt, ti danno una superficie di controllo. L'abliteration è una modifica grossolana e globale; non può isolare una singola categoria.

Se vuoi sperimentare in modo reversibile, inizia con l'ablazione delle attivazioni in fase di inferenza piuttosto che modificare i pesi. Puoi confrontare il rifiuto e la conformità sullo stesso checkpoint, poi procedere alla modifica dei pesi solo se il comportamento è quello desiderato.

Il limite di sicurezza — leggilo prima di usarlo

Un modello abliterato ha zero guardrail integrati. Per un modello allineato, il meccanismo di rifiuto è il guardrail; rimuoverlo lascia i pesi grezzi rispondere a tutto ciò a cui il modello di base sa rispondere. Nulla nella proiezione aggiunge sicurezza, e nulla a valle intercetta l'output.

Gli usi legittimi sono quelli di ricerca: interpretabilità (studiare dove vive il rifiuto nei pesi e cos'altro controlla quella direzione), red-teaming e valutazione dei guardrail (testare i propri livelli di sicurezza contro un modello che non si autocensura), e misurazione della sovrasicurezza (il calo dal 5,6% allo 0,4% su XSTest quantifica la frequenza con cui i modelli allineati rifiutano input benigni). In ogni caso, il modello è l'oggetto di studio, non il prodotto finale.

Il confine non è decorativo:

• Solo per ricerca — non per produzione, prodotti per utenti finali o strumenti interni.

• Nessun guardrail — gli output non sono filtrati; sei responsabile di essi e delle conseguenze.

• Una licenza non è un certificato di sicurezza — Apache 2.0 ne consente l'uso; non lo benedice.

Entrambi i repository Hugging Face — Qwen3.8-27B-Uncensored-FP8 e il pacchetto GGUF Qwen3.8-27B-Uncensored-GGUF (pubblicato il 2026-08-16) — sono ad accesso limitato: è necessario accettare il vincolo di utilizzo esclusivamente a scopo di ricerca prima dell'avvio del download.

The Hugging Face repository page for orcarouter/Qwen3.8-27B-Uncensored-FP8, an Apache 2.0 abliterated build gated for research use.

Il risultato finale

Abliteration è uno dei risultati più puliti nell'interpretabilità degli LLM: una singola direzione lineare nello stream residuo media un comportamento che l'addestramento alla sicurezza ha installato spendendo enormi risorse di calcolo, e una proiezione di rango 1 dei pesi può rimuoverlo senza una sessione di addestramento. Il caso misurato — Qwen3.8-27B-Uncensored-FP8 — mostra che la modifica è chirurgica: il rifiuto crolla dal 64–99% allo 0–6%, il rifiuto eccessivo scende a una frazione di sé stesso (5,6% → 0,4%) e le capacità si mantengono entro ±1,3 punti. Mostra anche esattamente perché questo è uno strumento di ricerca e non un prodotto: nessun guardrail, disclaimer residui e un confine che mette la responsabilità su di te. Usalo per capire il rifiuto, testare i tuoi guardrail e misurare l'eccesso di sicurezza — non per metterlo di fronte agli utenti.

Qwen3.8-27B-Uncensored-FP8 è un artefatto di ricerca sotto licenza Apache 2.0 — ad accesso limitato, non un servizio ospitato qui.Scarica i pesi su Hugging Face