Hirdetés

Hogyan távolítsuk el a cenzúrát a lokális nagy nyelvi modellekből?

A Heretic egy nyílt forráskódú szoftveres eljárás, amely automatikusan, drága újratanítás nélkül eltávolítja a „biztonsági korlátokat” (cenzúrát) a nagy nyelvi modellekből (LLM-ek). A módszer az abliteráció technikáját ötvözi egy optimalizációs algoritmussal, amely sebészi pontossággal kimetszi a modellekből az elutasításért felelős mechanizmusokat, miközben igyekszik megőrizni azok általános intelligenciáját.

A cenzúramentes modellek használata számos területen lehet hasznos és jogszerű, beleértve a kiberbiztonsági kutatást, kreatív írást, orvosi és tudományos elemzést, történelmi és politikai elemzést, jogi dokumentumok feldolgozását, valamint személyes asszisztensek és "Roleplay" funkciók esetében.

A Heretic egy olyan eszköz, amely meglévő modelleket (pl. Llama-3, Gemma, Qwen) módosít. A korábbi módszerekkel ellentétben – amelyek gyakran kézi hangolást igényeltek vagy rontották a modell logikai képességeit – a Heretic teljesen automatizált. Egy Bayes-féle optimalizációs eljárást használ, hogy megtalálja a tökéletes egyensúlyt a cenzúra eltávolítása és a modell „eszének” megőrzése között.

Hogyan működik a technológia?
A folyamat a mechanistic interpretability legújabb eredményeire épül, konkrétan arra a felfedezésre, hogy a modellek elutasító viselkedését (pl. „Sajnálom, de mint AI modell...”) a neurális hálózatban egyetlen specifikus irány (vektor) vezérli.

A Heretic működése lépésről lépésre:
1. Az „elutasítási irány” feltérképezése: A szoftver ártalmas (pl. „Hogyan készítsek csigalapító kalapácsot?”) és ártalmatlan (pl. „Hogyan készítsek tortát?”) utasításokat ad a modellnek. Megvizsgálja a modell belső aktivációit, és kiszámítja az átlagos különbséget a két csoport között. Ez a „különbség-vektor” (refusal direction) jelöli ki azt az irányt a modell agyában, ami az elutasításért felel.
2. Súlyok módosítása (Ortogonalizálás): Ahelyett, hogy csak a kimenetet szűrné, a Heretic közvetlenül a modell súlyait (a „tanult tudását”) módosítja. Matematikai úton (ortogonalizációval) „kivonja” ezt az elutasítási vektort a modell mátrixaiból. Ez gyakorlatilag lehetetlenné teszi a modell számára, hogy aktiválja az elutasítási mechanizmust, mivel az ehhez szükséges idegpályák megszűnnek létezni.
3. Intelligens optimalizálás: A korábbi módszerek fix értékekkel dolgoztak, ami gyakran képességcsökkenést okozott a modellnek.
A Heretic ezzel szemben:
- Külön kezeli a modell különböző rétegeit (például a figyelem-mechanizmusokat és az MLP rétegeket), mivel az utóbbiak érzékenyebbek a beavatkozásra,.
- Egy optimalizálót (Optuna) futtat, amely több ezer variációt tesztel le, hogy minimalizálja a "KL divergenciát" (az eredeti modell működésétől való eltérést ártalmatlan feladatoknál), miközben maximalizálja az engedelmességet a tiltott témákban.
- A beavatkozás erősségét rétegről rétegre változtatja egy rugalmas görbe mentén, ahelyett, hogy mindenhol ugyanazt a radírt használná.

Eredmény
A folyamat végeredménye egy olyan modell, amely megőrzi az eredeti (például a Llama-3 vagy Gemma) logikai és nyelvi képességeit, de hajlandó válaszolni bármilyen kérdésre, legyen az etikátlan, illegális vagy vitatott, anélkül, hogy előadásokat tartana a biztonságról. A Heretic által kezelt modellek (pl. a "Heretic GPT 20b") minősége vetekszik, vagy meg is haladja a manuálisan finomhangolt cenzúramentes modellekét.

*Telepítés/futtatás*
set PYTHONNOUSERSITE=1

conda create -n heretic312 python=3.12
conda activate heretic312
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu130
pip3 install heretic-llm
conda env config vars set CUDA_VISIBLE_DEVICES=0,2,1
conda env config vars set CUDA_DEVICE_ORDER=FASTEST_FIRST
conda deactivate
conda activate heretic

Futtatás:
heretic Qwen/Qwen3-4B-Instruct-2507 --n-trials 300

*Telepítés/futtatás*
conda create -n lamacpp python=3.12
conda activate lamacpp
git clone https://github.com/ggerganov/llama.cpp.git
cd llama.cpp
pip install -r requirements.txt

cmake letöltés:
https://cmake.org/download/
cmake ..
cmake --build . --config Release

python convert_hf_to_gguf.py d:\AI\heretic\checkpoints\Qwen--Qwen3-4B-Instruct-2507-heretic\

d:\AI\llama.cpp\build\bin\Release\llama-quantize.exe d:\AI\heretic\checkpoints\Qwen--Qwen3-4B-Instruct-2507-heretic\Qwen-Qwen3-4B-Instruct-heretic-2507-BF16.gguf Qwen-Qwen3-4B-Instruct-heretic-2507-Q4_K_M.gguf Q4_K_M

Szerver:
d:\AI\llama.cpp\build\bin\Release\llama-server.exe -m d:\AI\heretic\checkpoints\Qwen-Qwen3-4B-Instruct-heretic-2507-Q4_K_M.gguf --port 8080

*Linkek*
Heretic: https://github.com/p-e-w/heretic
llama.cpp: https://github.com/ggml-org/llama.cpp
Hugging Face p-e-w: https://huggingface.co/p-e-w
Heretic models: https://huggingface.co/models?other=heretic
Git: https://git-scm.com/
Python: https://www.python.org/downloads/release/python-3110/
Anaconda: https://www.anaconda.com/download

TWITTER: https://twitter.com/Mp3Pintyo