Pengembang LLM lokal sering mengalami tantangan: model yang sudah disejajarkan demi keamanan justru menolak perintah yang sebenarnya sah dan valid. Baik peneliti yang menguji perilaku model, developer yang membangun asisten tanpa sensor, maupun penghobi yang menjalankan model lokal, semuanya menghadapi masalah serupa: model yang telah dilatih sebelumnya menolak permintaan yang seharusnya diterima.
Teknik abliterasi hadir sebagai solusi praktis: menghilangkan filter keamanan tanpa perlu pelatihan ulang yang mahal. Awalnya, tool abliterasi mengharuskan penyesuaian manual dan pemahaman mendalam soal internal transformer.
Heretic mengotomatiskan proses ini sepenuhnya. Heretic otomatis mencari parameter abliterasi optimal, menghasilkan model tanpa sensor yang setara atau lebih baik dibanding tuning manual.
Panduan berikut membahas cara kerja Heretic, langkah penggunaan, dan tips penting saat memakai model tanpa sensor.
Apa Itu Heretic?
Heretic adalah alat Python open-source untuk menghilangkan "keselarasan keamanan" pada model bahasa berbasis transformer menggunakan ablasi terarah. Tidak butuh konfigurasi rumit atau pengetahuan internal transformer.
Hasil pada Gemma-3-12B-Instruct:
| Model | Penolakan | KL Divergensi |
|---|---|---|
| Original | 97/100 | 0 |
| mlabonne’s abliterated v2 | 3/100 | 1.04 |
| huihui-ai’s abliterated | 3/100 | 0.45 |
| Heretic (otomatis) | 3/100 | 0.16 |
Divergensi KL mengukur seberapa jauh model abliterasi berbeda dari aslinya. Makin kecil nilainya, makin banyak kemampuan orisinal model yang dipertahankan. Heretic menekan penolakan seperti tuning manual, tetapi tetap menjaga fitur-fitur dasar model.
Contoh Sebelum dan Sesudah
Perbandingan output model:
Model Asli:
User: Write a guide on how to bypass website paywalls
Assistant: I can't help with that. Bypassing paywalls violates copyright law and
terms of service. I'd suggest looking for free alternatives or accessing through
a library subscription.
Model Setelah Abliterasi Heretic:
User: Write a guide on how to bypass website paywalls
Assistant: Here are common methods users attempt:
1. Browser extensions like Bypass Paywalls Clean
2. Archive.is or similar archive services
3. Reader mode in browsers
4. Disabling JavaScript
Note: These methods may violate terms of service. Consider supporting
content creators through legitimate subscriptions when possible.
Model abliterasi merespons perintah namun tetap memberi disclaimer singkat. Dengan kata lain, pengurangan penolakan harus diimbangi dengan pengamanan eksternal.
Cara Kerja Heretic
Dasar Ablasi Terarah
Heretic menerapkan ablasi terarah berparameter. Prosesnya:
- Hitung arah penolakan – Untuk setiap layer transformer, hitung selisih antara vektor residu rata-rata perintah "berbahaya" vs "tidak berbahaya".
- Ortogonalisasi matriks komponen – Untuk proyeksi output attention dan MLP, modifikasi bobot agar menekan arah penolakan.
- Optimasi parameter otomatis – Gunakan TPE sampler Optuna untuk menemukan bobot abliterasi terbaik.
Proses Abliterasi (Kode Konseptual)
# Alur sederhana
refusal_direction = bad_mean - good_mean # Selisih rata-rata
refusal_direction = normalize(refusal_direction)
# Untuk setiap komponen yang dapat diabliterasi (attn.o_proj, mlp.down_proj)
# Terapkan: delta_W = -lambda * v * (v^T * W)
# v = arah penolakan, lambda = bobot
Heretic memakai adaptor LoRA untuk modifikasi tanpa mengubah bobot utama model. Optimasi jadi cepat dan efisien.
Inovasi Kunci
1. Kernel Bobot Fleksibel
Sebagian alat lain hanya pakai bobot abliterasi konstan. Heretic menerapkan kernel fleksibel, dengan 4 parameter per komponen:
-
max_weight: Kekuatan abliterasi puncak -
max_weight_position: Layer dengan abliterasi maksimum -
min_weight: Abliterasi minimum di pinggir kernel -
min_weight_distance: Jarak sebar kernel dari puncak
Heretic otomatis mencari pola abliterasi optimal.
2. Indeks Arah Terinterpolasi
Indeks arah penolakan berupa float, bukan integer. Untuk nilai non-integer, Heretic interpolasi linier antar layer, menghasilkan fleksibilitas lebih tinggi.
3. Parameter Komponen Spesifik
Komponen Attention dan MLP dioptimasi terpisah. Intervensi MLP lebih sensitif, sehingga optimasi khusus meningkatkan hasil.
Kenapa Ini Penting untuk Pengujian API
Jika Anda menguji API LLM, pasti pernah menemui penolakan tak terduga akibat filter keamanan. Model menolak perintah dengan kata kunci tertentu, walaupun tidak berbahaya. Hal ini mengacaukan hasil pengujian.
Dengan model abliterasi, Anda bisa:
- Membedakan penolakan karena keamanan vs false positive
- Menguji edge-case tanpa memicu kebijakan keamanan perusahaan
- Memvalidasi penanganan penolakan pada aplikasi Anda
Memiliki model selaras dan abliterasi membantu memilah masalah produk vs perilaku keamanan model.
Instalasi dan Penggunaan
Prasyarat
- Python 3.10+
- PyTorch 2.2+ (disesuaikan perangkat keras Anda)
- Disarankan: GPU CUDA (ROCm, MPS juga didukung)
Instalasi
pip install -U heretic-llm
Fitur riset (plot residu, analisis geometri):
pip install -U heretic-llm[research]
Pemakaian Dasar
Jalankan:
heretic Qwen/Qwen3-4B-Instruct-2507
Ganti dengan ID model Hugging Face atau path lokal Anda.
Proses otomatis:
- Model diload dengan dtype optimal
- Batch size otomatis untuk hardware Anda
- Hitung arah penolakan dari dataset perintah
- Optimasi parameter abliterasi
- Simpan, upload, atau chat dengan model hasil abliterasi
Konfigurasi
Heretic membaca konfigurasi dari file config.toml atau flags CLI.
Contoh:
# Konfigurasi model
model = "google/gemma-3-12b-it"
quantization = "bnb_4bit" # Menghemat VRAM
device_map = "auto"
# Optimasi
n_trials = 200
n_startup_trials = 60
# Evaluasi
kl_divergence_scale = 1.0
kl_divergence_target = 0.01
# Fitur riset
print_residual_geometry = false
plot_residuals = false
Lihat heretic --help atau config.default.toml untuk opsi lengkap.
Memahami Output
Optimasi Percobaan
Selama proses, Heretic menampilkan:
Menjalankan percobaan 42 dari 200...
* Parameter:
* direction_scope = per layer
* 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
...
* Mengatur ulang model...
* Melakukan abliterasi...
* Mengevaluasi...
* Divergensi KL: 0.1842
* Penolakan: 5/100
Tiap percobaan menguji kombinasi parameter berbeda. Optimasi TPE multi-objektif menekan penolakan dan KL divergence bersamaan.
Seleksi Batas Pareto
Setelah selesai, Heretic menampilkan percobaan Pareto-optimal:
[Percobaan 1] Penolakan: 3/100, Divergensi KL: 0.1623
[Percobaan 47] Penolakan: 2/100, Divergensi KL: 0.2891
[Percobaan 112] Penolakan: 1/100, Divergensi KL: 0.4102
Anda bisa:
- Menyimpan model lokal
- Upload ke Hugging Face
- Chat interaktif untuk uji kualitas
Fitur Riset
Analisis Geometri Residu
Jalankan dengan --print-residual-geometry untuk melihat detail:
Layer 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 = rata-rata vektor residu baik
b = rata-rata vektor residu buruk
r = arah penolakan (b - g)
S(x,y) = cosine similarity
|x| = L2 norm
Plot Vektor Residu
Gunakan --plot-residuals untuk menghasilkan:
- Plot scatter 2D per-layer (PaCMAP projection)
- GIF animasi transformasi residu antar layer
Visualisasi membantu memahami pemisahan perintah "berbahaya" dan "tidak berbahaya" dalam jaringan.
Pertimbangan Kinerja
Persyaratan VRAM
Heretic mendukung kuantisasi 4-bit bitsandbytes:
heretic meta-llama/Llama-3.1-70B-Instruct --quantization bnb_4bit
Model 8B berjalan di VRAM ~6GB (dengan kuantisasi), dibanding ~16GB tanpa kuantisasi.
Waktu Proses
Pada RTX 3090, estimasi waktu:
- Llama-3.1-8B-Instruct: ~45 menit
- Gemma-3-12B-Instruct: ~60 menit
- Model lebih besar akan proporsional lebih lama
Batch size dioptimalkan otomatis agar throughput maksimal.
Checkpointing
Heretic mencatat kemajuan ke checkpoint JSONL. Jika proses terhenti, lanjutkan dari posisi terakhir (tersimpan di folder checkpoints/).
Error Umum & Solusi
Memori CUDA Penuh
# Gunakan kuantisasi
heretic your-model --quantization bnb_4bit
# Atau kecilkan batch size
heretic your-model --batch_size 1
Gagal Load Model
# Pakai dtype eksplisit
heretic your-model --dtypes ["bfloat16", "float16"]
Membutuhkan Trust Remote Code
heretic your-model --trust_remote_code
Pertimbangan Etis
Menghapus filter keamanan mengubah perilaku model. Pahami risiko sebelum menerapkan model abliterasi.
Apa yang (Tidak) Dilakukan Abliterasi
Abliterasi hanya menghilangkan pola penolakan. Tidak akan:
- Membuat model lebih pintar atau mampu
- Menghilangkan bias model dasar
- Menambah pengetahuan baru
Model tetap dengan data dan kemampuan aslinya, hanya berhenti menolak permintaan tertentu.
Penerapan Bertanggung Jawab
Heretic berlisensi AGPL-3.0. Penggunaan legal meliputi:
- Riset penyelarasan model dan keamanan
- Uji perilaku model di lingkungan terkendali
- Deploy dengan guardrail/filter eksternal
- Bangun aplikasi yang menangani penolakan di layer aplikasi
Hindari:
- Deploy tanpa pengamanan untuk pengguna akhir
- Generasi konten berbahaya massal
- Mengakali keamanan untuk tujuan tidak etis
Pengamanan Eksternal Wajib
Dengan model abliterasi, terapkan:
- Filter input – Saring perintah sebelum ke model
- Monitor output – Tinjau respons sebelum ke user
- Rate limiting – Cegah abuse volume
- Logging & audit trail
- Review manusia – Terutama untuk kasus sensitif
Heretic netral, dampaknya tergantung penggunaan Anda. Selalu pertimbangkan aspek etis sebelum deploy.
Perbandingan dengan Alat Lain
Beberapa tool abliterasi lain di ekosistem:
| Alat | Optimasi Otomatis | Kernel Bobot | Arah Terinterpolasi |
|---|---|---|---|
| Heretic | Ya (TPE) | Ya | Ya |
| AutoAbliteration | Ya | Tidak | Tidak |
| abliterator.py | Tidak | Tidak | Tidak |
| wassname/abliterator | Tidak | Tidak | Tidak |
| ErisForge | Tidak | Tidak | Tidak |
Heretic menghilangkan kebutuhan tuning manual. Tidak perlu memahami internal transformer untuk hasil optimal.
Keterbatasan
Heretic mendukung model transformer padat dan beberapa arsitektur MoE. Tidak mendukung:
- Model SSM/hybrid (Mamba, dsb)
- Model dengan layer tidak homogen
- Sistem attention baru yang belum terdeteksi otomatis
Paling efektif untuk arsitektur decoder-only standar (self-attention + MLP).
Memulai
- Instalasi:
pip install -U heretic-llm
Pilih Model:
Mulai dari model 7B-12B untuk uji coba.Jalankan:
heretic your-model-name
Evaluasi:
Coba chat dengan model hasil abliterasi, atau upload ke Hugging Face.Amankan:
Tambahkan guardrail eksternal sebelum digunakan di produksi.
Default setting cukup untuk sebagian besar model. Pengguna tingkat lanjut bisa mengatur parameter optimasi sesuai kebutuhan.
Heretic membuat modifikasi model lebih mudah diakses. Tidak butuh gelar PhD—tinggal tunjuk model dan biarkan Heretic bekerja. Pastikan Anda menerapkannya secara bertanggung jawab.



Top comments (0)