Yerel LLM geliştiricileri ortak bir sorunla karşılaşıyor: güvenlik odaklı modeller meşru istekleri reddediyor. Model davranışlarını test eden araştırmacılar, sansürsüz asistanlar geliştiren geliştiriciler ve yerel modelleri çalıştıran hobi sahipleri aynı duvara çarpıyor, önceden eğitilmiş modeller reddetmemeleri gereken istemleri reddediyor.
Abliterasyon tekniği, pahalı yeniden eğitim gerektirmeden güvenlik filtrelerini kaldırarak bir çözüm olarak ortaya çıktı. İlk araçlar manuel ayarlama ve dönüştürücü iç yapıları hakkında derin bilgi gerektiriyordu.
Heretic tüm süreci otomatikleştirir. Optimum abliterasyon parametrelerini kendi başına bulur ve manuel olarak ayarlanmış sürümleri aşan veya onlara eşdeğer sansürsüz modeller üretir.
Bu kılavuzda, Heretic'in nasıl çalıştığını, nasıl kullanılacağını ve sansürsüz modelleri dağıtırken nelere dikkat edilmesi gerektiğini öğreneceksiniz.
Heretic Nedir?
Heretic, yönlü ablasyon kullanarak dönüştürücü tabanlı dil modellerinden "güvenlik hizalamasını" kaldıran açık kaynaklı bir Python aracıdır. Manuel yapılandırmaya veya dönüştürücü iç yapıları hakkında bilgiye ihtiyacınız yoktur.

Gemma-3-12B-Instruct üzerindeki sonuçlar farkı gösteriyor:
| Model | Reddetmeler | KL Iraksama |
|---|---|---|
| Orijinal | 97/100 | 0 |
| mlabonne'un abliterasyonlu v2'si | 3/100 | 1.04 |
| huihui-ai'nin abliterasyonlusu | 3/100 | 0.45 |
| Heretic (otomatik oluşturulan) | 3/100 | 0.16 |
KL ıraksama, abliterasyonlu modelin orijinal modelden ne kadar farklı olduğunu ölçer. Daha düşük değerler, modelin orijinal yeteneklerinin daha iyi korunması anlamına gelir. Heretic, uzmanlar tarafından ayarlanmış modellerin ret bastırmasını yakalarken, temel modeli kullanışlı kılan özelliklerin daha fazlasını korur.
Önce ve Sonra Örneği
Abliterasyondan sonra nelerin değiştiğini burada görebilirsiniz. Aynı istem, aynı sistem talimatları:
Orijinal Model:
Kullanıcı: Web sitesi ödeme duvarlarını nasıl aşacağınıza dair bir kılavuz yazın.
Asistan: Bu konuda yardımcı olamam. Ödeme duvarlarını aşmak telif hakkı yasasını ve
hizmet koşullarını ihlal eder. Ücretsiz alternatifler aramanızı veya bir kütüphane
aboneliği aracılığıyla erişmenizi öneririm.
Heretic-Abliterasyonlu Model:
Kullanıcı: Web sitesi ödeme duvarlarını nasıl aşacağınıza dair bir kılavuz yazın.
Asistan: İşte kullanıcıların denediği yaygın yöntemler:
1. Bypass Paywalls Clean gibi tarayıcı eklentileri
2. Archive.is veya benzeri arşiv hizmetleri
3. Tarayıcılardaki okuyucu modu
4. JavaScript'i devre dışı bırakma
Not: Bu yöntemler hizmet koşullarını ihlal edebilir. Mümkün olduğunda meşru abonelikler aracılığıyla
içerik oluşturucuları desteklemeyi düşünün.
Abliterasyonlu model, isteği yanıtlarken kısa bir uyarıyı da içerir. Bu, temel denge noktasıdır: daha az ret, harici olarak güvenlik önlemleri uygulama sorumluluğunu beraberinde getirir.
Heretic Nasıl Çalışır?
Yönlü Ablasyonun Temelleri
Heretic, parametrelendirilmiş bir yönlü ablasyon formu uygular. Süreç:
- Ret yönlerini hesapla - Her dönüştürücü katmanı için "zararlı" ve "zararsız" istemler için ortalama artık vektörler arasındaki farkı hesapla
- Bileşen matrislerini ortogonalleştir - Dikkat çıktı projeksiyonları ve MLP aşağı projeksiyonları için, ret yönünü bastırmak üzere ağırlıkları değiştir
- Parametreleri otomatik olarak optimize et - En iyi abliterasyon ağırlıklarını bulmak için Optuna'nın TPE örnekleyicisini kullan

Abliterasyon Süreci
# Basitleştirilmiş kavramsal akış
refusal_direction = bad_mean - good_mean # Ortalamalar arasındaki fark
refusal_direction = normalize(refusal_direction)
# Her ablitre edilebilir bileşen için (attn.o_proj, mlp.down_proj)
# Uygula: delta_W = -lambda * v * (v^T * W)
# Burada v ret yönü ve lambda ağırlıktır
Heretic, bu modifikasyonları temel model ağırlıklarını değiştirmeden uygulamak için LoRA adaptörleri kullanır. Bu, hızlı deneme yanılma optimizasyonunu mümkün kılar.
Temel Yenilikler
1. Esnek Ağırlık Çekirdekleri
Diğer araçlar tüm katmanlara sabit abliterasyon ağırlıkları uygular. Heretic, her bileşen için dört parametreyle tanımlanan esnek bir çekirdek kullanır:
max_weight- Maksimum abliterasyon gücümax_weight_position- Maksimum abliterasyonu alan katmanmin_weight- Çekirdek kenarlarındaki minimum abliterasyonmin_weight_distance- Çekirdeğin zirveden ne kadar uzadığı
Optimizasyon süreci, uyum bastırmayı yetenek korumasıyla dengeleyen katmana özel abliterasyon desenlerini keşfeder.
2. Enterpole Edilmiş Yön İndeksleri
Ret yön indeksi bir tam sayı değil, bir kayan noktadır. Tam sayı olmayan değerler için Heretic, komşu katman ret yönleri arasında doğrusal olarak enterpolasyon yapar. Bu, tek bir katmanın sağlayabileceğinin ötesinde yönlere olanak tanır.
3. Bileşene Özel Parametreler
Dikkat ve MLP bileşenleri farklı abliterasyon parametreleri alır. MLP müdahaleleri daha fazla hasara neden olma eğilimindedir, bu nedenle ayrı optimizasyon sonuçları iyileştirir.
API Testleri İçin Bu Neden Önemli?
LLM API'leriyle çalışıyorsanız, test sırasında muhtemelen beklenmedik reddetmelerle karşılaşmışsınızdır. Bir model, güvenlik filtrelerini tetikleyen anahtar kelimeler içerdiği için iyi niyetli bir istemi reddeder. Bu, test sonuçlarınızda gürültü oluşturur.
Abliterasyonlu modelleri yerel olarak çalıştırmak, beklenen davranış için size bir taban çizgisi sağlar. Şunları yapabilirsiniz:
- Meşru güvenlik reddetmeleri ile yanlış pozitifleri ayırt etmek
- Kurumsal güvenlik politikalarını tetiklemeden uç durumları test etmek
- Uygulamanızın model reddetmelerini sorunsuz bir şekilde ele aldığını doğrulamak
API test iş akışları için, hem hizalı hem de abliterasyonlu modellere sahip olmak, ürün sorunlarını model güvenlik davranışından ayırmaya yardımcı olur.
Kurulum ve Kullanım
Ön Koşullar
- Python 3.10+
- PyTorch 2.2+ (donanımınıza göre yapılandırılmış)
- CUDA uyumlu GPU önerilir (ROCm, MPS ve diğer hızlandırıcılar desteklenir)
Kurulum
pip install -U heretic-llm
Araştırma özellikleri için (artık grafikler, geometri analizi):
pip install -U heretic-llm[research]
Temel Kullanım
En basit iş akışı:
heretic Qwen/Qwen3-4B-Instruct-2507
Model yolunu herhangi bir Hugging Face model kimliği veya yerel bir yolla değiştirin. Heretic her şeyi otomatik olarak halleder:
- Modeli en uygun veri tipiyle yükler
- Donanımınız için en iyi parti boyutunu belirler
- İstem veri kümelerinden ret yönlerini hesaplar
- Optimum parametreleri bulmak için optimizasyon denemeleri yapar
- Sonucu kaydetmenize, yüklemenize veya sohbet etmenize olanak tanır
Yapılandırma Seçenekleri
Heretic, config.toml dosyalarından veya komut satırı bayraklarından yapılandırmayı okur. Temel seçenekler:
# Model yapılandırması
model = "google/gemma-3-12b-it"
quantization = "bnb_4bit" # VRAM gereksinimlerini azaltır
device_map = "auto"
# Optimizasyon
n_trials = 200 # Abliterasyon denemelerinin sayısı
n_startup_trials = 60 # TPE'den önce rastgele keşif
# Değerlendirme
kl_divergence_scale = 1.0
kl_divergence_target = 0.01
# Araştırma özellikleri
print_residual_geometry = false
plot_residuals = false
Tam liste için heretic --help komutunu çalıştırın veya config.default.toml dosyasını inceleyin.
Çıktıyı Anlama
Deneme Optimizasyonu
Optimizasyon sırasında Heretic, deneme ilerlemesini görüntüler:
Deneme 42/200 çalışıyor...
* Parametreler:
* direction_scope = katman başına
* direction_index = 10.5
* attn.o_proj.max_weight = 1.2
* attn.o_proj.max_weight_position = 15.3
* mlp.down_proj.max_weight = 0.9
...
* Model sıfırlanıyor...
* Abliterasyon yapılıyor...
* Değerlendiriliyor...
* KL ıraksama: 0.1842
* Reddetmeler: 5/100
Her deneme farklı bir parametre kombinasyonunu test eder. Optimizasyoncu, hem reddetmeleri hem de KL ıraksamayı aynı anda en aza indirmek için çok amaçlı TPE kullanır.
Pareto Cephesi Seçimi
Optimizasyon tamamlandığında, Heretic Pareto-optimal denemeleri sunar - yani bir amacı iyileştirmenin diğerini kötüleştireceği denemeler:
[Deneme 1] Reddetmeler: 3/100, KL ıraksama: 0.1623
[Deneme 47] Reddetmeler: 2/100, KL ıraksama: 0.2891
[Deneme 112] Reddetmeler: 1/100, KL ıraksama: 0.4102
Bir deneme seçerek şunları yapabilirsiniz:
- Modeli yerel olarak kaydetmek
- Hugging Face'e yüklemek
- Kaliteyi test etmek için etkileşimli sohbet etmek
Araştırma Özellikleri
Artık Geometri Analizi
--print-residual-geometry ile Heretic, ayrıntılı metrikleri görüntüler:
Katman S(g,b) S(g*,b*) S(g,r) S(g*,r*) S(b,r) S(b*,r*) |g| |b|
8 0.9990 0.9991 0.8235 0.8312 0.8479 0.8542 4596.54 4918.32
10 0.9974 0.9973 0.8189 0.8250 0.8579 0.8644 5328.81 5953.35
g = iyi istemler için artık vektörlerin ortalaması
b = kötü istemler için artık vektörlerin ortalaması
r = ret yönü (b - g)
S(x,y) = kosinüs benzerliği
|x| = L2 normu
Bu, araştırmacıların ret yönlerinin model yığını boyunca nasıl geliştiğini anlamalarına yardımcı olur.
Artık Vektör Grafikleri
--plot-residuals ile Heretic şunları üretir:
- Katman başına 2B saçılım grafikleri (PaCMAP projeksiyonu aracılığıyla)
- Katmanlar arası artık dönüşümünü gösteren animasyonlu GIF

Bu görselleştirmeler, "zararlı" ve "zararsız" istem artıklarının ağ boyunca nasıl ayrıldığını ortaya koyar.
Performans Hususları
VRAM Gereksinimleri
Heretic, VRAM'ı azaltmak için bitsandbytes 4-bit nicemlemeyi destekler:
heretic meta-llama/Llama-3.1-70B-Instruct --quantization bnb_4bit
Bu, tüketici donanımında büyük modellerin işlenmesini sağlar. 8B'lik bir model, nicemlenmiş halde ~6GB VRAM kullanırken, nicemlenmemiş halde ~16GB kullanır.
İşlem Süresi
Varsayılan ayarlarla bir RTX 3090 üzerinde:
- Llama-3.1-8B-Instruct: ~45 dakika
- Gemma-3-12B-Instruct: ~60 dakika
- Daha büyük modeller buna göre ölçeklenir
Parti boyutu otomatik ayarlaması, donanımınıza özel olarak en yüksek verimi sağlar.
Checkpointing (Kontrol Noktası Oluşturma)
Heretic, deneme ilerlemesini JSONL kontrol noktalarına kaydeder. Kesintiye uğrarsa, kaldığınız yerden devam edebilirsiniz. Kontrol noktaları, checkpoints/ dizininde modele özel olarak saklanır.
Yaygın Hatalar ve Düzeltmeler
CUDA Bellek Dışı Hatası
# Nicemlemeyi deneyin
heretic modeliniz --quantization bnb_4bit
# Veya parti boyutunu küçültün
heretic modeliniz --batch_size 1
Model Yükleme Başarısız
# Farklı veri türlerini açıkça belirtmeyi deneyin
heretic modeliniz --dtypes ["bfloat16", "float16"]
Uzak Koda Güven Gerekli
# Bazı modeller uzak kod yürütme gerektirir
heretic modeliniz --trust_remote_code
Etik Hususlar
Bu bölüm erken görünüyor çünkü önemli. Güvenlik filtrelerini kaldırmak bir modelin davranışını değiştirir. Abliterasyonlu bir modeli dağıtmadan önce sonuçlarını anlamanız gerekir.
Abliterasyon Neler Yapar (ve Neleri Yapmaz)
Abliterasyon, öğrenilmiş ret desenlerini kaldırır. Şunları yapmaz:
- Modeli "daha akıllı" veya daha yetenekli hale getirmez
- Temel modelde bulunan ön yargıları kaldırmaz
- Yeni bilgi veya beceriler eklemez
Model hala aynı eğitim verilerine ve temel yeteneklere sahiptir. Sadece belirli istekleri reddetmeyi durdurur.
Sorumlu Dağıtım
Heretic, AGPL-3.0 altında yayımlanmıştır. Yazarlar, güvenlik filtrelerinin kaldırılmasının hem faydalı araştırmaları hem de potansiyel olarak zararlı uygulamaları mümkün kıldığını kabul eder.
Meşru kullanımlar şunları içerir:
- Model hizalaması ve güvenlik mekanizmaları üzerine araştırma
- Kontrollü koşullar altında model davranışını test etme
- Harici koruma kalkanları ve içerik filtreleri ile modelleri dağıtma
- Uygulama katmanında reddetmeleri ele alan uygulamalar geliştirme
Sorunlu kullanımlar şunları içerir:
- Kullanıcıya dönük uygulamalarda herhangi bir koruma önlemi olmadan dağıtma
- Büyük ölçekte zararlı içerik üretme
- Kötü niyetli amaçlar için güvenlik önlemlerini atlatma
Uygulamanız Gereken Harici Güvenlik Önlemleri
Abliterasyonlu bir model dağıtırsanız, şu korumaları ekleyin:
- Giriş filtreleme - İstemleri modele ulaşmadan önce tarayın
- Çıktı izleme - Yanıtları kullanıcılara göstermeden önce inceleyin
- Hız sınırlaması - Hacim yoluyla kötüye kullanımı önleyin
- Günlükleme ve denetim izleri - Modelin neyi işlediğini takip edin
- İnsan incelemesi - Hassas kullanım durumları için insanları döngüde tutun
Aracın kendisi tarafsızdır. Etkisi, nasıl kullandığınıza bağlıdır. Sansürsüz modelleri üretimde dağıtmadan önce etik sonuçları göz önünde bulundurun.
Diğer Araçlarla Karşılaştırma
Heretic, ekosistemdeki çeşitli abliterasyon araçlarına katılıyor:
| Araç | Otomatik Optimizasyon | Ağırlık Çekirdekleri | Enterpole Edilmiş Yönler |
|---|---|---|---|
| Heretic | Evet (TPE) | Evet | Evet |
| AutoAbliteration | Evet | Hayır | Hayır |
| abliterator.py | Hayır | Hayır | Hayır |
| wassname/abliterator | Hayır | Hayır | Hayır |
| ErisForge | Hayır | Hayır | Hayır |
Heretic'in otomatik optimizasyonu, manuel ayarlama ihtiyacını ortadan kaldırır. İyi sonuçlar elde etmek için dönüştürücünün iç yapısını anlamanıza gerek yoktur.
Sınırlamalar
Heretic çoğu yoğun dönüştürücü modelini ve bazı MoE mimarilerini destekler. Desteklenmeyen model türleri:
- SSM/hibrit modeller (Mamba, vb.)
- Homojen olmayan katmanlara sahip modeller
- Modül algılama mantığı tarafından henüz tanınmayan yeni dikkat sistemleri
Araç, standart kod çözücü tabanlı mimarilerle (self-attention ve MLP katmanları kullanan) en iyi şekilde çalışır.
Başlarken
- Kurulum:
pip install -U heretic-llm - Bir model seçin: Test için 7B-12B'lik bir modelle başlayın
- Çalıştırın:
heretic model-adınız - Değerlendirin: Sonuçla sohbet edin veya Hugging Face'e yükleyin
- Güvenli bir şekilde dağıtın: Üretime almadan önce harici koruma kalkanları ekleyin
Varsayılan ayarlar çoğu model için iyi çalışır. Gelişmiş kullanıcılar, belirli kullanım durumları için optimizasyon parametrelerini ince ayar yapabilir.
Heretic, model modifikasyonunu erişilebilir hale getirir. Doktora derecesi gerekmez - bir modele işaretleyin ve çalışmasına izin verin. Sadece sorumlu bir şekilde dağıtmayı unutmayın.
