Yerel LLM geliştiricileri, güvenlik odaklı önceden eğitilmiş modellerin meşru istekleri dahi reddetmesinden sıkça şikayetçi. Araştırmacılar, sansürsüz modeller geliştirmek isteyenler ve yerel modellerle çalışan hobi sahipleri, model davranışlarını test etmek isterken istemedikleri retlerle karşılaşıyor.
Abliterasyon tekniği, yeniden eğitim gerektirmeden güvenlik filtrelerinin kaldırılması için ortaya çıktı. İlk araçlar, manuel ayar ve dönüştürücü iç yapısına derin hakimiyet gerektiriyordu.
Heretic, tüm bu süreci otomatikleştiriyor: Optimum abliterasyon parametrelerini kendi başına buluyor ve manuel olarak ayarlanmış sonuçlara eşdeğer veya daha iyi sansürsüz modeller üretiyor.
Bu rehberde, Heretic’in çalışma prensiplerini, nasıl kurulacağını ve pratikte nasıl kullanılacağını adım adım bulacaksınız.
Heretic Nedir?
Heretic, yönlü ablasyon tekniğiyle dönüştürücü tabanlı dil modellerinden “güvenlik hizalamasını” kaldıran açık kaynak Python aracıdır. Manuel yapılandırma veya iç yapı bilgisi gerekmez.
Gemma-3-12B-Instruct üzerindeki sonuçlar:
| 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 orijinalden ne kadar saptığını ölçer. Daha düşük değer, modelin orijinal yeteneklerinin daha çok korunduğu anlamına gelir. Heretic, ret bastırmada manuel ayarlı modellere erişirken, temel modelin işlevselliğini korur.
Önce ve Sonra Örneği
Aynı istemle abliterasyon öncesi ve sonrası model davranışını karşılaştırın:
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ı ekler. Bu, daha az ret ile beraber güvenlik sorumluluğunu uygulama katmanına taşır.
Heretic Nasıl Çalışır?
Yönlü Ablasyonun Temelleri
Heretic, parametrik bir yönlü ablasyon uygular. Süreç şu şekilde işler:
- Ret yönlerini hesapla: Her katman için “zararlı” ve “zararsız” istemlerin ortalama artık vektörleri arasındaki fark hesaplanır.
- Bileşen matrislerini ortogonalleştir: Dikkat çıktı projeksiyonları ve MLP aşağı projeksiyonları, ret yönünü bastıracak şekilde ağırlıklarında değişiklik yapılır.
- Parametreleri otomatik optimize et: Optuna’nın TPE örnekleyicisi ile en iyi abliterasyon parametreleri bulunur.
Abliterasyon Süreci
# Kavramsal akış
refusal_direction = bad_mean - good_mean # Ortalamalar 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)
# v: ret yönü, lambda: ağırlık
Heretic, bu değişiklikleri temel model ağırlıklarını değiştirmeden LoRA adaptörleri ile uygular. Böylece hızlı optimizasyon mümkün olur.
Temel Yenilikler
-
Esnek Ağırlık Çekirdekleri: Heretic, dört parametreyle tanımlanan katmana özel ağırlık çekirdekleri kullanır (
max_weight,max_weight_position,min_weight,min_weight_distance). - Enterpole Edilmiş Yön İndeksleri: Ret yön indeksi tam sayı değil, float’tır; katmanlar arası doğrusal enterpolasyon yapılır.
- Bileşene Özel Parametreler: Dikkat ve MLP bileşenleri ayrı optimize edilir.
API Testleri İçin Bu Neden Önemli?
LLM API’leriyle testlerde, güvenlik filtreleri yüzünden istem dışı retlerle karşılaşabilirsiniz. Abliterasyonlu modelleri yerelde çalıştırmak:
- Gerçek güvenlik retleriyle yanlış pozitifleri ayırmanıza
- Uç durumları güvenli şekilde test etmenize
- Model retlerini uygulamanızın düzgün yönettiğini doğrulamanıza
API test akışlarınız için hem hizalı hem de abliterasyonlu modelleri çalıştırmak, ürün hatalarını model davranışından ayırmanızı sağlar.
Kurulum ve Kullanım
Ön Koşullar
- Python 3.10+
- PyTorch 2.2+ (donanımınıza uygun)
- CUDA uyumlu GPU önerilir (ROCm, MPS de desteklenir)
Kurulum
pip install -U heretic-llm
Araştırma özellikleri için:
pip install -U heretic-llm[research]
Temel Kullanım
heretic Qwen/Qwen3-4B-Instruct-2507
Model yolunu Hugging Face ID’si veya yerel model yoluyla değiştirebilirsiniz. Heretic otomatik olarak:
- Modeli uygun veri tipiyle yükler
- Donanıma göre en iyi batch size’ı seçer
- Ret yönlerini hesaplar
- Optimum parametreleri bulmak için denemeler yapar
- Sonucu kaydetmenize, yüklemenize veya sohbet etmenize imkân tanır
Yapılandırma Seçenekleri
Heretic, config.toml veya komut satırı ile yapılandırılır. Örnek:
# Model yapılandırması
model = "google/gemma-3-12b-it"
quantization = "bnb_4bit"
device_map = "auto"
# Optimizasyon
n_trials = 200
n_startup_trials = 60
# 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 veya config.default.toml’u inceleyin.
Çıktıyı Anlama
Deneme Optimizasyonu
Heretic optimizasyon sırasında deneme ilerlemesini anlık olarak gösterir:
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
Çok amaçlı TPE optimizasyonuyla hem ret hem KL ıraksama en aza indirilir.
Pareto Cephesi Seçimi
Optimizasyon sonrası, Heretic Pareto-optimal denemeleri sunar:
[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
Buradan bir deneme seçip modeli kaydedebilir, Hugging Face’e yükleyebilir veya sohbet başlatabilirsiniz.
Araştırma Özellikleri
Artık Geometri Analizi
--print-residual-geometry parametresiyle katmanlara göre artık vektör metrikleri:
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 istemlerin artık ortalaması
b = kötü istemlerin artık ortalaması
r = ret yönü (b - g)
S(x,y) = kosinüs benzerliği
|x| = L2 normu
Artık Vektör Grafikleri
--plot-residuals ile:
- Katman başına 2B saçılım grafikleri (PaCMAP ile)
- Katmanlar arası dönüşümü gösteren animasyonlu GIF
Bunlarla “zararlı” ve “zararsız” istemlerin ağda nasıl ayrıştığını görselleştirin.
Performans Hususları
VRAM Gereksinimleri
Heretic, VRAM tüketimini azaltmak için bitsandbytes 4-bit quantization destekler:
heretic meta-llama/Llama-3.1-70B-Instruct --quantization bnb_4bit
Bu sayede büyük modeller tüketici GPU’larda da çalışabilir. Örneğin, 8B model quantized ~6GB, quantize edilmemiş ~16GB VRAM kullanır.
İşlem Süresi
RTX 3090 ile tipik süreler:
- Llama-3.1-8B-Instruct: ~45 dakika
- Gemma-3-12B-Instruct: ~60 dakika
- Daha büyük modellerde süre artar
Batch size otomatik ayarlanır ve donanıma göre optimize edilir.
Checkpointing (Kontrol Noktası Oluşturma)
Deneme ilerlemesi JSONL checkpointlerde tutulur. Çalışma yarıda kesilirse, kaldığınız yerden devam edebilirsiniz. Checkpointler checkpoints/ klasöründe modele özel kaydedilir.
Yaygın Hatalar ve Düzeltmeler
CUDA Bellek Dışı Hatası
# Quantization deneyin
heretic modeliniz --quantization bnb_4bit
# Veya batch size’ı küçültün
heretic modeliniz --batch_size 1
Model Yükleme Başarısız
# Veri tipini açıkça belirtin
heretic modeliniz --dtypes ["bfloat16", "float16"]
Uzak Koda Güven Gerekli
# Bazı modellerde remote code gerekli
heretic modeliniz --trust_remote_code
Etik Hususlar
Güvenlik filtrelerini kaldırmak model davranışını değiştirir; dağıtımdan önce sonuçlarını iyi analiz edin.
Abliterasyon Neler Yapar (ve Neleri Yapmaz)
Abliterasyon, modelin öğrenilmiş ret desenlerini kaldırır. Şunları yapmaz:
- Modeli daha akıllı/hünerli yapmaz
- Mevcut önyargıları kaldırmaz
- Yeni bilgi/beceri eklemez
Modelin eğitimi ve temel yetkinlikleri aynıdır; sadece belirli istemleri reddetmeyi bırakır.
Sorumlu Dağıtım
Heretic AGPL-3.0 ile lisanslıdır. Güvenlik filtrelerinin kaldırılması hem araştırma hem de kötüye kullanım riskleri taşır.
Meşru kullanım alanları:
- Model hizalaması/güvenliği üzerine araştırma
- Kontrollü ortamlarda model davranışı testi
- Harici filtre/kalkan entegrasyonu
- Uygulama düzeyinde ret yönetimi
Riskli kullanımlar:
- Kullanıcıya açık dağıtımda koruma olmadan sunmak
- Toplu zararlı içerik üretimi
- Kötü amaçla güvenlik önlemi atlatmak
Uygulamanız Gereken Harici Güvenlik Önlemleri
Abliterasyonlu model dağıtıyorsanız mutlaka ek koruma sağlayın:
- Giriş filtreleme: İstemleri model öncesi analiz edin
- Çıktı izleme: Yanıtları kullanıcıya vermeden denetleyin
- Hız sınırlaması: Kötüye kullanımı önleyin
- Günlük ve denetim: Model kullanımını kaydedin
- İnsan incelemesi: Hassas senaryolarda insan kontrolü ekleyin
Heretic’in kendisi tarafsızdır; sorumluluk kullanım amacınızda.
Diğer Araçlarla Karşılaştırma
Heretic ekosistemdeki diğer abliterasyon araçlarıyla karşılaştırıldığında:
| 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, dönüştürücü iç yapısını bilmeye gerek olmadan hızlı sonuç almanızı sağlar.
Sınırlamalar
Heretic, çoğu klasik dönüştürücü ve bazı MoE mimarilerini destekler. Desteklenmeyenler:
- SSM/hibrit modeller (Mamba vb.)
- Homojen olmayan katmanlı modeller
- Modül algılamasıyla tespit edilemeyen yeni attention sistemleri
En iyi sonuç, self-attention ve MLP katmanlı standart kod çözücü mimarilerde alınır.
Başlarken
-
Kurulum:
pip install -U heretic-llm - Model seçin: Test için 7B-12B arası 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 dağıtım: Üretime geçmeden koruma kalkanları entegre edin
Varsayılan ayarlar çoğu model için uygundur. İleri düzey kullanıcılar, özel kullanım için optimizasyon parametrelerinde ince ayar yapabilir.
Heretic, model modifikasyonunu herkesin erişimine açıyor. Derin mühendislik bilgisi gerekmeden, sadece modeli işaretleyip süreci başlatın. Ancak, dağıtımda etik ve güvenlik sorumluluklarınızı unutmayın.



Top comments (0)