DEV Community

Cover image for Cara Menghilangkan Sensor pada Model LLM dengan Heretic
Walse
Walse

Posted on • Originally published at apidog.com

Cara Menghilangkan Sensor pada Model LLM dengan Heretic

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.

Coba Apidog hari ini

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.
Enter fullscreen mode Exit fullscreen mode

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.
Enter fullscreen mode Exit fullscreen mode

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:

  1. Hitung arah penolakan – Untuk setiap layer transformer, hitung selisih antara vektor residu rata-rata perintah "berbahaya" vs "tidak berbahaya".
  2. Ortogonalisasi matriks komponen – Untuk proyeksi output attention dan MLP, modifikasi bobot agar menekan arah penolakan.
  3. 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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

Fitur riset (plot residu, analisis geometri):

pip install -U heretic-llm[research]
Enter fullscreen mode Exit fullscreen mode

Pemakaian Dasar

Jalankan:

heretic Qwen/Qwen3-4B-Instruct-2507
Enter fullscreen mode Exit fullscreen mode

Ganti dengan ID model Hugging Face atau path lokal Anda.

Proses otomatis:

  1. Model diload dengan dtype optimal
  2. Batch size otomatis untuk hardware Anda
  3. Hitung arah penolakan dari dataset perintah
  4. Optimasi parameter abliterasi
  5. 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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

Gagal Load Model

# Pakai dtype eksplisit
heretic your-model --dtypes ["bfloat16", "float16"]
Enter fullscreen mode Exit fullscreen mode

Membutuhkan Trust Remote Code

heretic your-model --trust_remote_code
Enter fullscreen mode Exit fullscreen mode

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:

  1. Filter input – Saring perintah sebelum ke model
  2. Monitor output – Tinjau respons sebelum ke user
  3. Rate limiting – Cegah abuse volume
  4. Logging & audit trail
  5. 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

  1. Instalasi:
   pip install -U heretic-llm
Enter fullscreen mode Exit fullscreen mode
  1. Pilih Model:

    Mulai dari model 7B-12B untuk uji coba.

  2. Jalankan:

   heretic your-model-name
Enter fullscreen mode Exit fullscreen mode
  1. Evaluasi:

    Coba chat dengan model hasil abliterasi, atau upload ke Hugging Face.

  2. 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)