1. Krótka odpowiedź
Abliteracja to technika, która usuwa z modelu językowego jego skłonność do odmawiania odpowiedzi. Nie polega na trenowaniu modelu od nowa. Zamiast tego wyszukuje się w jego wewnętrznych obliczeniach jeden kierunek odpowiedzialny za odmowę i wycina go bezpośrednio z wag. Nazwa łączy dwa angielskie słowa: ablation (usunięcie fragmentu) i obliteration (wymazanie).
| | Co robi | Ile to kosztuje |
| --- | --- | --- |
| Prompt systemowy | Prosi model, żeby był mniej ostrożny | Nic, ale efekt jest słaby i niestały |
| Jailbreak | Podstępem obchodzi zabezpieczenia w pojedynczej rozmowie | Nic, ale działa przypadkowo i bywa łatany |
| Fine-tuning | Trenuje model na nowych przykładach | Godziny GPU, przygotowanie danych |
| Abliteracja | Na stałe usuwa z wag kierunek odmowy | Kilkanaście minut GPU dla modelu 7-8B, bez danych treningowych |
Efekt: model przestaje odpowiadać „nie mogę w tym pomóc”, ale jego wiedza i sposób pisania zostają prawie bez zmian. Prawie, bo abliteracja ma skutki uboczne, które opisujemy w sekcji 5.
Kontrowersja jest prosta do nazwania. Ta sama metoda, która naprawia irytująco ostrożny model, usuwa też zabezpieczenia, które twórcy modelu dodali celowo. Zanim po nią sięgniesz, przeczytaj sekcje 6 i 7.
2. Skąd w modelu biorą się odmowy
Model językowy po wstępnym treningu na tekstach z internetu niczego nie odmawia. Odmowy pojawiają się na późniejszym etapie, gdy twórcy dostrajają go do roli asystenta: uczą go na przykładach dobrych odpowiedzi, a potem nagradzają za zachowanie zgodne z zasadami (RLHF, DPO i podobne metody). W tym etapie model uczy się też, kiedy powiedzieć „nie”.
Problem w tym, że granica bywa przesunięta za daleko. Każdy, kto pracuje z lokalnymi modelami, zna odpowiedzi w stylu:
- „Nie mogę pomóc w zabijaniu procesów” w odpowiedzi na pytanie o polecenie
killw Linuksie, - odmowa napisania sceny kryminalnej do powieści, bo „opisuje przemoc”,
- odmowa wyjaśnienia, jak działa znana podatność, nawet w kontekście obrony własnego serwera.
To tak zwane nadmierne odmowy (ang. over-refusal). Właśnie od nich zaczęło się zainteresowanie abliteracją.
3. Jak działa abliteracja
W 2024 roku zespół badaczy (Arditi i in., praca „Refusal in Language Models Is Mediated by a Single Direction”) pokazał coś zaskakującego: w wielu popularnych modelach decyzja o odmowie jest zapisana w aktywacjach modelu jako jeden kierunek w przestrzeni wektorowej. Gdy model „zamierza” odmówić, jego wewnętrzny stan przesuwa się w tę stronę. Jeśli ten kierunek wyzerujesz, model przestaje odmawiać. Jeśli go dodasz, model odmawia nawet przy niewinnych pytaniach.
Społeczność szybko zamieniła ten wynik w praktyczną metodę i nazwała ją abliteracją. W uproszczeniu wygląda to tak:
- Dwa zestawy poleceń. Przygotowuje się kilkaset poleceń, na które model zwykle odmawia, i tyle samo zwykłych, neutralnych poleceń.
- Zbieranie aktywacji. Oba zestawy przepuszcza się przez model i zapisuje jego stany wewnętrzne na wybranych warstwach.
- Wyznaczenie kierunku odmowy. Różnica między średnią aktywacją dla jednego i drugiego zestawu daje kandydata na kierunek odmowy. Wybiera się warstwę, na której ten kierunek działa najlepiej.
- Ortogonalizacja wag. Macierze wag, które zapisują wyniki do głównego strumienia modelu, modyfikuje się tak, żeby nie mogły już niczego zapisać w kierunku odmowy.
- Zapis nowego modelu. Wynik to zwykły model o tej samej architekturze i rozmiarze. Można go skwantyzować do GGUF i uruchomić w Ollamie jak każdy inny.
Krok 4 sprowadza się do prostej operacji z algebry liniowej. Dla znormalizowanego kierunku odmowy r i macierzy wag W usuwa się z wag składową w kierunku r:
import torch
def usun_kierunek(W: torch.Tensor, r: torch.Tensor) -> torch.Tensor:
# W: [d_model, d_in] zapisuje do strumienia rezydualnego, r: [d_model]
r = r / r.norm()
return W - torch.outer(r, r) @ WPo tej zmianie żadna warstwa nie jest w stanie „pchnąć” modelu w stronę odmowy, niezależnie od treści polecenia. Nie trzeba niczego trenować, nie ma gradientów ani zbioru danych treningowych. Dlatego abliteracja jest tak tania i tak szybko się rozpowszechniła.
4. Abliteracja a inne metody
Abliteracja a fine-tuning. Fine-tuning zmienia wszystko po trochu, na podstawie tysięcy przykładów. Może nauczyć model nowej wiedzy, stylu czy formatu odpowiedzi. Abliteracja zmienia jedną konkretną rzecz i niczego nowego nie uczy. Jeśli chcesz, żeby model znał Twoją dokumentację albo pisał po polsku lepiej, potrzebujesz fine-tuningu, który opisujemy w poradniku fine-tuning Llama 3 i Qwen z Unsloth.
Abliteracja a jailbreak. Jailbreak to sztuczka w treści rozmowy: odgrywanie ról, podchwytliwe sformułowania, długie prompty. Działa na jednym modelu w jednej wersji i często przestaje działać po aktualizacji. Abliteracja zmienia sam model na stałe.
Abliteracja a modele „uncensored”. Starsze modele z dopiskiem uncensored powstawały zwykle przez fine-tuning na zbiorach danych, z których usunięto odmowy. Modele z dopiskiem abliterated to wynik opisanej tu metody. Na Hugging Face znajdziesz jedne i drugie.
5. Skutki uboczne: co tracisz
Abliteracja nie jest darmowa, nawet jeśli zajmuje kilkanaście minut.
- Lekki spadek jakości. W testach porównawczych modele abliterowane wypadają zwykle trochę gorzej niż oryginały: gorzej rozumują, częściej się mylą w zadaniach wieloetapowych. Różnica bywa mała, ale istnieje i zależy od modelu.
- Model nie odmawia nawet wtedy, gdy powinien. Usunięty kierunek nie odróżnia złych próśb od dobrych. Model przestaje też mówić „nie wiem” czy „to zły pomysł” w sytuacjach, w których to była sensowna odpowiedź.
- Więcej pewnych siebie bzdur. Część odmów była w praktyce sposobem na unikanie tematów, o których model wie mało. Bez nich model chętniej zmyśla.
- Nie wszystkie modele reagują tak samo. W części nowszych modeli odmowa nie jest zapisana w jednym kierunku, tylko w kilku. Prosta abliteracja działa wtedy częściowo albo psuje model bardziej niż zwykle.
Twórcy modeli abliterowanych często łagodzą te efekty krótkim dotrenowaniem (na przykład DPO na zwykłych danych), które przywraca część utraconej jakości. Warto o tym pamiętać przy wyborze gotowego modelu: opis na Hugging Face zwykle mówi, czy model był potem „leczony” i jak wypadł w testach.
6. Dlaczego abliteracja budzi kontrowersje
Argumenty za:
- Otwarte wagi to Twoje wagi. Jeśli model jest udostępniony na otwartej licencji i działa na Twoim sprzęcie, wielu uważa, że to Ty decydujesz, jak ma się zachowywać.
- Nadmierne odmowy realnie przeszkadzają. Pisarze, badacze bezpieczeństwa, lekarze czy administratorzy serwerów regularnie trafiają na odmowy przy zupełnie uprawnionych pytaniach.
- Badania nad bezpieczeństwem. Abliteracja jest narzędziem interpretowalności: pokazuje, jak model naprawdę „rozumie” zakazane tematy. Zespoły red-teamingowe używają takich modeli, żeby testować systemy ochronne.
- Wiedza i tak jest w modelu. Abliteracja niczego nowego nie dodaje. Usuwa tylko barierę przed wiedzą, którą model zdobył podczas treningu.
Argumenty przeciw:
- Zabezpieczenia znikają jednym skryptem. Wyniki tych badań pokazały, że zabezpieczenia otwartych modeli są płytkie. Każdy, kto ma kartę graficzną, może je usunąć w kilkanaście minut.
- Model przestaje odróżniać prośby. Pomoże przy scenie do powieści, ale też przy wiadomości phishingowej czy nękaniu kogoś w sieci.
- Rozmycie odpowiedzialności. Twórca modelu zabezpieczył go, autor abliteracji te zabezpieczenia usunął, a ktoś trzeci użył modelu do szkody. Trudno wskazać, kto za to odpowiada.
- Argument dla przeciwników otwartych wag. Łatwość abliteracji jest jednym z głównych argumentów osób, które chcą ograniczać publikowanie wag dużych modeli.
Nie ma tu jednej dobrej odpowiedzi. Abliteracja jest przede wszystkim wynikiem badawczym, który pokazał coś ważnego: bezpieczeństwo otwartego modelu nie może opierać się wyłącznie na tym, że model „nie chce” odpowiedzieć.
7. Prawo, licencje i odpowiedzialność
To nie jest porada prawna, tylko lista rzeczy, o których trzeba pamiętać.
- Licencja modelu nadal obowiązuje. Llama, Gemma, Qwen i inne modele mają licencje, a część z nich ma też zasady dopuszczalnego użycia (acceptable use policy). Abliteracja nie zwalnia z nich ani Ciebie, ani osób, którym udostępnisz zmodyfikowany model.
- Za treści odpowiada ten, kto ich używa. Prawo dotyczące zniesławienia, oszustw, ochrony danych osobowych czy praw autorskich działa tak samo, niezależnie od tego, czy tekst napisał człowiek, czy model.
- AI Act. Unijne rozporządzenie o sztucznej inteligencji nakłada obowiązki na dostawców modeli i systemów AI. Jeśli publikujesz zmodyfikowany model albo budujesz na nim usługę dla innych, sprawdź, czy nie stajesz się w rozumieniu przepisów dostawcą i jakie obowiązki z tego wynikają.
- Firmowe użycie. Model bez odmów w produkcie dla klientów to ryzyko wizerunkowe i prawne. W takim zastosowaniu zabezpieczenia powinny i tak działać poza modelem: filtry wejścia i wyjścia, moderacja, logi.
8. Jak rozsądnie „oduczyć” model odmawiania
Zacznij od najprostszego rozwiązania i idź dalej tylko wtedy, gdy ono nie wystarczy.
Krok 1: prompt systemowy i lepszy kontekst
Duża część nadmiernych odmów znika, gdy model wie, kim jesteś i do czego potrzebujesz odpowiedzi. Przykład promptu systemowego:
Jesteś asystentem administratora serwerów Linux. Użytkownik jest doświadczonym
administratorem i pyta o własną infrastrukturę. Odpowiadaj technicznie i konkretnie.To nie obchodzi zabezpieczeń, tylko daje modelowi kontekst, którego mu brakowało. Przy pytaniach o polecenie kill, analizę logów z ataku czy scenę do powieści to często wystarcza.
Krok 2: inny model
Modele bardzo różnią się poziomem ostrożności. Jeśli jeden odmawia przy zwykłych pytaniach technicznych, sprawdź inny z tej samej klasy rozmiaru, na przykład z rodziny Qwen, Mistral albo polskiego Bielika. Uruchomienie lokalnego modelu opisujemy w poradniku Ollama na Windows.
Krok 3: gotowy model abliterowany
Na Hugging Face wiele popularnych modeli ma już wersje abliterowane, często od razu w formacie GGUF. Szukaj po słowie abliterated i zwracaj uwagę na:
- autora i liczbę pobrań, bo modele od nieznanych autorów mogą być po prostu zepsute,
- informację, z jakiego modelu bazowego powstał i na jakiej jest licencji,
- wyniki testów w opisie modelu i to, czy był potem dotrenowany.
Model GGUF z Hugging Face uruchomisz w Ollamie jednym poleceniem:
ollama run hf.co/<autor>/<nazwa-modelu>-GGUF:Q4_K_MWersja Q4_K_M to rozsądny kompromis między jakością a zużyciem pamięci. Więcej o kwantyzacji piszemy w wiki: czym jest kwantyzacja GGUF.
Krok 4: samodzielna abliteracja
Jeśli potrzebujesz wersji modelu, której nikt jeszcze nie przygotował, albo badasz sam mechanizm, możesz przeprowadzić abliterację samodzielnie. Społeczność udostępnia gotowe narzędzia open source, między innymi biblioteki oparte na TransformerLens oraz nowsze narzędzia, które automatycznie dobierają parametry tak, żeby zminimalizować liczbę odmów przy jak najmniejszej zmianie reszty zachowania modelu.
Najważniejsze są wymagania sprzętowe. Do zbierania aktywacji model ładuje się zwykle w pełnej lub połowicznej precyzji (bf16), a nie w kwantyzacji:
| Rozmiar modelu | Pamięć wag w bf16 | Karta |
| --- | --- | --- |
| 7-8B | ok. 16 GB | RTX 4090 24 GB |
| 12-14B | ok. 28 GB | L40S 48 GB albo A100 |
| 32B | ok. 64 GB | A100 lub H100 80 GB |
| 70B | ok. 140 GB | 2 × A100 lub H100 80 GB |
Dla większości osób zakup takiej karty się nie opłaca, bo abliteracja to jednorazowa praca na kilkadziesiąt minut. Taniej wychodzi wynajęcie GPU na godziny. Na RunPod uruchomisz poda z RTX 4090 albo A100 z gotowym szablonem PyTorch, a model i wyniki zapiszesz na Network Volume. Jak to zrobić krok po kroku i nie przepalić budżetu, opisujemy w poradniku RunPod od zera. Tańszą alternatywą bywa Vast.ai, czyli rynek kart od wielu dostawców, który opisujemy w poradniku Vast.ai z RTX 4090.
Wynikowy model najlepiej od razu skwantyzować do GGUF na tym samym podzie i pobrać na swój komputer już w mniejszej wersji.
9. Jak sprawdzić, czy abliteracja się udała
Sam brak odmów to za mało. Sprawdź trzy rzeczy:
- Nadmierne odmowy zniknęły. Przygotuj 20-30 pytań, przy których oryginał niepotrzebnie odmawiał: o polecenia systemowe, bezpieczeństwo własnej infrastruktury, scenariusze fikcyjne, medycynę. Porównaj odpowiedzi oryginału i nowego modelu.
- Jakość się nie załamała. Zadaj obu modelom te same zwykłe zadania: podsumowanie tekstu, kod w Pythonie, zadanie logiczne, odpowiedź po polsku. Jeśli nowy model wyraźnie częściej się myli albo zaczyna mieszać języki, abliteracja poszła za daleko albo trafiła w złą warstwę.
- Model nadal mówi „nie wiem”. Zapytaj o coś, czego nie może wiedzieć, na przykład o wydarzenie po dacie jego treningu. Jeśli zamiast przyznać się do niewiedzy zmyśla szczegóły, licz się z tym, że będzie to robił częściej.
Do porównań wygodnie jest uruchomić oba modele w Ollamie i przełączać je w Open WebUI. Instalację opisujemy w poradniku Ollama i Open WebUI w Dockerze.
10. Kiedy abliteracja ma sens
Ma sens, gdy:
- model blokuje Ci zwykłą pracę, a prompt systemowy i zmiana modelu nie pomogły,
- prowadzisz badania nad interpretowalnością albo testujesz zabezpieczenia systemów AI,
- tworzysz fikcję, w której pojawiają się trudne tematy, i nie chcesz walczyć z modelem przy każdej scenie,
- model działa tylko lokalnie i tylko Ty z niego korzystasz.
Nie ma sensu, gdy:
- model ma rozmawiać z klientami albo z osobami, których nie znasz,
- chodzi Ci o lepszą wiedzę albo jakość odpowiedzi. Tu pomoże fine-tuning, RAG albo po prostu większy model,
- liczysz na to, że model „bez cenzury” będzie mądrzejszy. Nie będzie, a zwykle jest odrobinę słabszy.
11. Co dalej
- Uruchomienie lokalnego modelu od zera: Ollama na Windows.
- Dostrojenie modelu do własnych danych: fine-tuning Llama 3 i Qwen z Unsloth.
- Wynajem GPU na godziny bez niespodzianek na rachunku: RunPod od zera.
- Ile pamięci potrzebuje model: ile VRAM potrzebują modele LLM.
Jeśli chcesz przetestować abliterację albo porównać kilka modeli bez kupowania karty, wynajmij GPU na RunPod i zapisuj modele na Network Volume, żeby nie pobierać ich przy każdej sesji.