Pengembang LLM lokal menghadapi masalah umum: model yang selaras dengan keamanan menolak permintaan yang sah. Para peneliti yang menguji perilaku model, pengembang yang membangun asisten tanpa sensor, dan penghobi yang menjalankan model lokal semuanya menghadapi kendala yang sama, model yang telah dilatih sebelumnya menolak perintah yang seharusnya tidak ditolak.
Teknik abliterasi muncul sebagai solusi, menghilangkan filter keamanan tanpa pelatihan ulang yang mahal. Alat-alat awal memerlukan penyesuaian manual dan pengetahuan mendalam tentang internal transformer.
Heretic mengotomatiskan seluruh proses. Ia menemukan parameter abliterasi yang optimal dengan sendirinya, menghasilkan model tanpa sensor yang setara atau melebihi versi yang disesuaikan secara manual.
Dalam panduan ini, Anda akan mempelajari cara kerja Heretic, cara menggunakannya, dan hal-hal yang perlu diperhatikan saat menggunakan model tanpa sensor.
Apa Itu Heretic?
Heretic adalah alat Python sumber terbuka yang menghilangkan "keselarasan keamanan" dari model bahasa berbasis transformer menggunakan ablasi terarah. Anda tidak memerlukan konfigurasi manual atau pengetahuan tentang internal transformer.

Hasil pada Gemma-3-12B-Instruct menunjukkan perbedaannya:
| 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 (dibuat otomatis) | 3/100 | 0.16 |
Divergensi KL mengukur seberapa besar model yang diablitrasi berbeda dari yang asli. Nilai yang lebih rendah berarti pelestarian kemampuan asli model yang lebih baik. Heretic menyamai penekanan penolakan dari model yang disesuaikan oleh ahli sambil mempertahankan lebih banyak apa yang membuat model dasar berguna.
Contoh Sebelum dan Sesudah
Berikut adalah perubahan setelah abliterasi. Perintah yang sama, instruksi sistem yang sama:
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 yang Diabliterasi 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 yang diablitrasi menjawab permintaan tersebut sambil tetap menyertakan penafian singkat. Ini adalah inti dari pertukaran: pengurangan penolakan datang dengan tanggung jawab untuk menerapkan pengamanan secara eksternal.
Cara Kerja Heretic
Dasar-dasar Ablasi Terarah
Heretic mengimplementasikan bentuk berparameter dari ablasi terarah. Prosesnya:
- Hitung arah penolakan - Untuk setiap lapisan transformer, hitung perbedaan antara vektor residu rata-rata untuk perintah "berbahaya" dan "tidak berbahaya"
- Ortogonalisasi matriks komponen - Untuk proyeksi keluaran perhatian dan proyeksi turun MLP, modifikasi bobot untuk menekan arah penolakan
- Optimalkan parameter secara otomatis - Gunakan TPE sampler Optuna untuk menemukan bobot abliterasi terbaik

Proses Abliterasi
# Alur konseptual yang disederhanakan
refusal_direction = bad_mean - good_mean # Perbedaan rata-rata
refusal_direction = normalize(refusal_direction)
# Untuk setiap komponen yang dapat diablitrasi (attn.o_proj, mlp.down_proj)
# Terapkan: delta_W = -lambda * v * (v^T * W)
# Di mana v adalah arah penolakan dan lambda adalah bobot
Heretic menggunakan adaptor LoRA untuk menerapkan modifikasi ini tanpa mengubah bobot model dasar. Ini memungkinkan optimasi coba-coba yang cepat.
Inovasi Utama
1. Kernel Bobot Fleksibel
Alat lain menerapkan bobot abliterasi konstan di semua lapisan. Heretic menggunakan kernel fleksibel yang ditentukan oleh empat parameter per komponen:
max_weight- Kekuatan abliterasi puncakmax_weight_position- Lapisan mana yang menerima abliterasi maksimummin_weight- Abliterasi minimum di tepi kernelmin_weight_distance- Seberapa jauh kernel meluas dari puncaknya
Proses optimasi menemukan pola abliterasi khusus lapisan yang menyeimbangkan penekanan kepatuhan dengan pelestarian kemampuan.
2. Indeks Arah Terinterpolasi
Indeks arah penolakan adalah float, bukan bilangan bulat. Untuk nilai non-integral, Heretic melakukan interpolasi linier antara arah penolakan lapisan yang berdekatan. Ini memungkinkan arah di luar apa yang disediakan oleh satu lapisan pun.
3. Parameter Spesifik Komponen
Komponen Perhatian (Attention) dan MLP menerima parameter abliterasi yang berbeda. Intervensi MLP cenderung menyebabkan lebih banyak kerusakan, sehingga optimasi terpisah meningkatkan hasil.
Mengapa Ini Penting untuk Pengujian API
Jika Anda bekerja dengan API LLM, Anda mungkin pernah menemukan penolakan tak terduga selama pengujian. Model menolak perintah yang tidak berbahaya karena mengandung kata kunci yang memicu filter keamanan. Ini menciptakan gangguan dalam hasil pengujian Anda.
Menjalankan model yang diablitrasi secara lokal memberi Anda dasar untuk perilaku yang diharapkan. Anda dapat:
- Membedakan antara penolakan keamanan yang sah dan positif palsu
- Menguji kasus-kasus ekstrem tanpa memicu kebijakan keamanan perusahaan
- Memvalidasi bahwa aplikasi Anda menangani penolakan model dengan baik
Untuk alur kerja pengujian API, memiliki model yang selaras dan diablitrasi membantu memisahkan masalah produk dari perilaku keamanan model.
Instalasi dan Penggunaan
Prasyarat
- Python 3.10+
- PyTorch 2.2+ (dikonfigurasi untuk perangkat keras Anda)
- GPU yang kompatibel dengan CUDA direkomendasikan (ROCm, MPS, dan akselerator lainnya didukung)
Instalasi
pip install -U heretic-llm
Untuk fitur penelitian (plot residu, analisis geometri):
pip install -U heretic-llm[research]
Penggunaan Dasar
Alur kerja paling sederhana:
heretic Qwen/Qwen3-4B-Instruct-2507
Ganti jalur model dengan ID model Hugging Face atau jalur lokal apa pun. Heretic menangani semuanya secara otomatis:
- Memuat model dengan dtype optimal
- Menentukan ukuran batch terbaik untuk perangkat keras Anda
- Menghitung arah penolakan dari set data perintah
- Menjalankan percobaan optimasi untuk menemukan parameter optimal
- Memungkinkan Anda menyimpan, mengunggah, atau mengobrol dengan hasilnya
Opsi Konfigurasi
Heretic membaca konfigurasi dari file config.toml atau flag baris perintah. Opsi utama:
# Konfigurasi model
model = "google/gemma-3-12b-it"
quantization = "bnb_4bit" # Mengurangi kebutuhan VRAM
device_map = "auto"
# Optimasi
n_trials = 200 # Jumlah percobaan abliterasi
n_startup_trials = 60 # Eksplorasi acak sebelum TPE
# Evaluasi
kl_divergence_scale = 1.0
kl_divergence_target = 0.01
# Fitur penelitian
print_residual_geometry = false
plot_residuals = false
Jalankan heretic --help atau lihat config.default.toml untuk daftar lengkap.
Memahami Output
Optimasi Percobaan
Selama optimasi, Heretic menampilkan kemajuan percobaan:
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
Setiap percobaan menguji kombinasi parameter yang berbeda. Pengoptimal menggunakan TPE multi-objektif untuk meminimalkan penolakan dan divergensi KL secara bersamaan.
Pemilihan Batas Pareto
Ketika optimasi selesai, Heretic menyajikan percobaan Pareto-optimal - yaitu percobaan di mana meningkatkan satu tujuan akan memperburuk tujuan lainnya:
[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
Pilih sebuah percobaan untuk:
- Menyimpan model secara lokal
- Mengunggah ke Hugging Face
- Mengobrol secara interaktif untuk menguji kualitas
Fitur Penelitian
Analisis Geometri Residu
Dengan --print-residual-geometry, Heretic menampilkan metrik terperinci:
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 untuk perintah baik
b = rata-rata vektor residu untuk perintah buruk
r = arah penolakan (b - g)
S(x,y) = kesamaan kosinus
|x| = norma L2
Ini membantu peneliti memahami bagaimana arah penolakan berkembang melalui tumpukan model.
Plot Vektor Residu
Dengan --plot-residuals, Heretic menghasilkan:
- Plot sebar 2D per-lapisan (melalui proyeksi PaCMAP)
- GIF animasi yang menunjukkan transformasi residu di seluruh lapisan

Visualisasi ini mengungkapkan bagaimana residu perintah "berbahaya" dan "tidak berbahaya" terpisah melalui jaringan.
Pertimbangan Kinerja
Persyaratan VRAM
Heretic mendukung kuantisasi 4-bit bitsandbytes untuk mengurangi VRAM:
heretic meta-llama/Llama-3.1-70B-Instruct --quantization bnb_4bit
Ini memungkinkan pemrosesan model besar pada perangkat keras konsumen. Model 8B berjalan pada VRAM ~6GB yang terkuantisasi vs ~16GB yang tidak terkuantisasi.
Waktu Pemrosesan
Pada RTX 3090 dengan pengaturan default:
- Llama-3.1-8B-Instruct: ~45 menit
- Gemma-3-12B-Instruct: ~60 menit
- Model yang lebih besar akan diskalakan sesuai
Penyetelan otomatis ukuran batch memaksimalkan throughput untuk perangkat keras spesifik Anda.
Pencatatan Titik Periksa (Checkpointing)
Heretic menyimpan kemajuan percobaan ke titik periksa JSONL. Jika terganggu, Anda dapat melanjutkan tepat dari tempat Anda berhenti. Titik periksa disimpan per-model di direktori checkpoints/.
Kesalahan Umum dan Perbaikannya
Memori CUDA Penuh
# Coba kuantisasi
heretic your-model --quantization bnb_4bit
# Atau kurangi ukuran batch
heretic your-model --batch_size 1
Gagal Memuat Model
# Coba dtype yang berbeda secara eksplisit
heretic your-model --dtypes ["bfloat16", "float16"]
Membutuhkan Kepercayaan Kode Jarak Jauh
# Beberapa model membutuhkan eksekusi kode jarak jauh
heretic your-model --trust_remote_code
Pertimbangan Etis
Bagian ini muncul lebih awal karena ini penting. Menghapus filter keamanan mengubah perilaku model. Anda perlu memahami implikasinya sebelum menggunakan model yang diablitrasi.
Apa yang Dilakukan (dan Tidak Dilakukan) Abliterasi
Abliterasi menghilangkan pola penolakan yang dipelajari. Ia tidak:
- Membuat model "lebih pintar" atau lebih mampu
- Menghilangkan bias yang ada dalam model dasar
- Menambahkan pengetahuan atau keterampilan baru
Model masih memiliki data pelatihan dan kemampuan dasar yang sama. Ia hanya berhenti menolak permintaan tertentu.
Penerapan yang Bertanggung Jawab
Heretic dirilis di bawah AGPL-3.0. Para penulis mengakui bahwa menghapus filter keamanan memungkinkan penelitian yang bermanfaat dan aplikasi yang berpotensi berbahaya.
Penggunaan yang sah meliputi:
- Penelitian tentang penyelarasan model dan mekanisme keamanan
- Menguji perilaku model dalam kondisi terkontrol
- Menyebarkan model dengan guardrail eksternal dan filter konten
- Membangun aplikasi yang menangani penolakan pada lapisan aplikasi
Penggunaan yang bermasalah meliputi:
- Menyebarkan tanpa pengamanan apa pun di aplikasi yang menghadap pengguna
- Menghasilkan konten berbahaya dalam skala besar
- Mengakali langkah-langkah keamanan untuk tujuan jahat
Pengamanan Eksternal yang Harus Anda Terapkan
Jika Anda menggunakan model yang diablitrasi, tambahkan perlindungan ini:
- Penyaringan masukan - Menyaring perintah sebelum mencapai model
- Pemantauan keluaran - Meninjau respons sebelum ditampilkan kepada pengguna
- Pembatasan kecepatan (Rate limiting) - Mencegah penyalahgunaan melalui volume
- Pencatatan dan jejak audit - Melacak apa yang diproses model
- Tinjauan manusia - Libatkan manusia dalam kasus penggunaan yang sensitif
Alat itu sendiri bersifat netral. Dampaknya tergantung pada bagaimana Anda menggunakannya. Pertimbangkan implikasi etis sebelum menyebarkan model tanpa sensor dalam produksi.
Perbandingan dengan Alat Lain
Heretic bergabung dengan beberapa alat abliterasi 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 |
Optimasi otomatis Heretic menghilangkan kebutuhan akan penyesuaian manual. Anda tidak perlu memahami internal transformer untuk mendapatkan hasil yang baik.
Keterbatasan
Heretic mendukung sebagian besar model transformer padat dan beberapa arsitektur MoE. Tipe model yang tidak didukung:
- Model SSM/hibrida (Mamba, dll.)
- Model dengan lapisan tidak homogen
- Sistem perhatian baru yang belum dikenali oleh logika deteksi modul
Alat ini bekerja paling baik dengan arsitektur decoder-only standar yang menggunakan lapisan self-attention dan MLP.
Memulai
- Instal:
pip install -U heretic-llm - Pilih model: Mulailah dengan model 7B-12B untuk pengujian
- Jalankan:
heretic your-model-name - Evaluasi: Mengobrol dengan hasilnya atau unggah ke Hugging Face
- Terima dengan aman: Tambahkan guardrail eksternal sebelum digunakan dalam produksi
Pengaturan default bekerja dengan baik untuk sebagian besar model. Pengguna tingkat lanjut dapat menyempurnakan parameter optimasi untuk kasus penggunaan tertentu.
Heretic membuat modifikasi model dapat diakses. Tidak perlu gelar PhD - tunjukkan pada model dan biarkan ia bekerja. Ingatlah untuk menerapkan dengan bertanggung jawab.
