Skip to content

Solaris-6/Heretic-IT

Repository files navigation

Logo

Heretic IT - Rimozione Automatica della Censura per LLM

GitHub Python 3.10+ License MIT

Fork ottimizzato e localizzato in italiano di Heretic di Philipp Emanuel Weidmann.

Versione: 1.4.0-it | Aggiornato: Luglio 2026


Cos'è Heretic

Heretic è uno strumento che rimuove la censura (nota anche come "safety alignment") dai modelli linguistici basati su transformer senza post-training costoso. Combina un'implementazione avanzata della directional ablation (nota come "abliteration" - Arditi et al. 2024) con un ottimizzatore di parametri basato su TPE powered by Optuna.

Link originale: https://github.com/p-e-w/heretic


Caratteristiche di Questo Fork

Traduzione Completa

Lingua Codice Stato
Italiano it Completo
English en Completo
Espanol es Completo
Francais fr Completo
Deutsch de Completo
Portugues pt Completo
Polski pl Completo
Nederlands nl Completo
Russkiy ru Completo
Nihongo ja Completo
Zhongwen zh Completo
Hangug-eo ko Completo
Turkce tr Completo
Suomi fi Completo
Catala ca Completo

Il sistema rileva automaticamente la lingua di sistema all'avvio e carica la traduzione corrispondente. E possibile cambiare lingua in qualsiasi momento tramite menu a tendina nella GUI.


Ottimizzazioni Performance

# Ottimizzazione Impatto Stimato
1 Batch size parte da 4 invece di 1 -2 forward pass all'avvio (~40% piu veloce)
2 Prefix check con 30 prompt invece di 200 3.3x piu veloce nel rilevamento prefisso
3 Filtro dtype bfloat16 non supportato Evita tentativi di caricamento inutili
4 Seed una volta sola nel loop abliterate Riduce overhead ripetuto
5 KeywordRate regex compilato 44x piu veloce nel matching keywords
6 Lazy-import lm_eval -1-3s all'avvio
7 Registry architetture esplicito Errori piu chiari, no fail silenziosi
8 Chat template fallback Supporta modelli senza chat_template
9 Auto-save ogni 50 trial Previene perdita progressi su crash

Miglioramenti Strutturali

Modifica Descrizione
17 unit test Test per utils, system, model registry, config, scorers, license
Dipendenze pulite Rimossi immutabledict, langdetect (mai utilizzati)
Codice morto rimosso Eliminati progress.py e handlers.py (codice inutilizzato)
Cartelle per modello Checkpoints in checkpoints/Heretic/<modello>/ invece che piatti
Config.toml completo 100 token risposta, batch 128, 2 scorers, dataset locali
License MIT Tutti i file sorgente con header MIT consistenti

Statistiche di Miglioramento

Confronto Prestazioni (Stime su RTX 3060)

Fase Originale Questo Fork Miglioramento
Avvio (import moduli) ~8-10s ~5-7s -30-40%
Rilevamento batch size ~10-15s ~5-8s -40-50%
Rilevamento prefisso ~2-3s ~0.5-1s -70-80%
Keyword scoring per trial ~1-2s ~0.05-0.1s -95%
Salvataggio manuale auto ogni 50 trial crash-safe

Confronto Codice Sorgente

Metrica Originale Questo Fork Differenza
Righe totali ~5908 ~6100 +192
File Python 13 13 0
File rimossi - 2 (progress.py, handlers.py) -534 righe
Test unitari 0 22 +22
Lingue supportate 1 (inglese) 15 +14
Ottimizzazioni 0 9 +9

Struttura del Progetto

Heretic-IT/
├── .gitignore
├── LICENSE                     # MIT License
├── README.md                   # Questo file
├── README_EN.md                # Versione inglese
├── pyproject.toml              # Configurazione progetto
├── config.toml                 # Configurazione Heretic
├── heretic_gui.py              # Interfaccia grafica
├── install.bat                 # Installer Windows (CMD)
├── install.ps1                 # Installer Windows (PowerShell)
├── avvia_gui.bat               # Lanciatore rapido GUI
│
├── Languages/                  # Sistema di traduzione
│   ├── __init__.py             # Loader lingua di sistema
│   ├── it.py, en.py, es.py    # 15 file traduzione
│   ├── fr.py, de.py, pt.py
│   ├── pl.py, nl.py, ru.py
│   ├── ja.py, zh.py, ko.py
│   └── tr.py, fi.py, ca.py
│
├── src/heretic/                # Sorgente Heretic tradotta
│   ├── __init__.py
│   ├── main.py                 # Entry point principale
│   ├── model.py                # Caricamento e abliteration
│   ├── config.py               # Configurazione Pydantic
│   ├── evaluator.py            # Valutazione scorers
│   ├── analyzer.py             # Analisi residui
│   ├── plugin.py               # Sistema plugin
│   ├── reproduce.py            # Riproducibilita
│   ├── scorer.py               # Classe base scorer
│   ├── system.py               # Utilita di sistema
│   ├── utils.py                # Funzioni di utilita
│   └── scorers/                # Scorer integrati
│       ├── keyword_rate.py     # Tasso di keyword
│       └── kl_divergence.py    # Divergenza KL
│
└── tests/                      # Test unitari
    ├── test_core.py            # 22 test
    ├── run_tests.py            # Test di integrazione
    └── (modelli di test)

Requisiti

  • OS: Windows 10/11, Linux, macOS
  • Python: 3.10 o superiore
  • GPU: NVIDIA con CUDA 11.8+ (consigliato RTX 3060 12GB o superiore)
  • RAM: 16GB minimo (32GB consigliato)
  • Disco: 20GB liberi per modello 7B

Installazione

Windows (automatica)

install.bat

Windows (PowerShell)

.\install.ps1

Linux / macOS

python -m venv .venv
source .venv/bin/activate
pip install -e .

Avvio GUI

avvia_gui.bat

Oppure:

python heretic_gui.py

Avvio CLI

heretic --model user/model-name --n-trials=200

Utilizzo

CLI Base

# Abliteration automatica
heretic --model google/gemma-3-12b-it

# Con parametri personalizzati
heretic --model user/my-model --n-trials=100 --batch-size=8

# Con quantizzazione 4-bit
heretic --model user/my-model --quantization=bnb_4bit

Parametri Principali

Parametro Default Descrizione
--model (obbligatorio) Modello HF o percorso locale
--n-trials 200 Numero di trial di ottimizzazione
--batch-size auto Dimensione batch (auto-rilevato)
--quantization none Quantizzazione (bnb_4bit)
--device-map auto Dispositivo (auto, cuda:0, cpu)
--max-response-length 100 Token massimi per risposta

Changelog

v1.4.0-it (Luglio 2026)

  • Traduzione completa in 15 lingue
  • 9 ottimizzazioni performance
  • 22 unit test
  • Registry architetture esplicito
  • Chat template fallback
  • Auto-save ogni 50 trial
  • Cartelle per modello in checkpoints
  • Dipendenze morte rimosse
  • Codice morto eliminato
  • License MIT consistente

Crediti


Licenza

Questo progetto è distribuito sotto la licenza MIT License.


DISCLAIMER - ESCLUSIONE DI GARANZIA

IL SOFTWARE È FORNITO "COSÌ COM'È", SENZA GARANZIA DI ALCUN TIPO, ESPLICITA O IMPLICITA, INCLUSE, MA NON LIMITATE A, LE GARANZIE DI COMMERCIABILITÀ, IDONEITÀ PER UNO SCOPO PARTICOLARE E NON VIOLAZIONE.

GLI AUTORI ORIGINALI (Philipp Emanuel Weidmann e contributori) NON SI ASSUMONO ALCUNA RESPONSABILITÀ PER EVENTUALI MALFUNZIONAMENTI, DANNI DIRETTI, INDIRETTI, INCIDENTALI, SPECIALI, ESEMPLARI O CONSEGUENTI DERIVANTI DALL'UTILIZZO DEL CODICE, INCLUSE, MA NON LIMITATE A, LA PERDITA DI DATI, I DANNI AL COMPUTER, I FERMATE DI SISTEMA O QUALSIASI INTERRUZIONE DELL'ATTIVITÀ COMMERCIALE, ANCHE SE GLI AUTORI SONO STATI INFORMATI DELLA POSSIBILITÀ DI TALI DANNI.

QUESTO SOFTWARE È DESTINATO ESCLUSIVAMENTE A SCOPI DI RICERCA ED EDUCATIVI. L'UTILIZZO PER RIMUOVERE LA SICUREZZA DI MODELLI LINGUISTICI PRODOTTI DA TERZI PUÒ VIOLARE I TERMINI DI SERVIZIO DI TALI MODELLI. È RESPONSABILITÀ DELL'UTENTE VERIFICARE LA CONFORMITÀ LEGALE DELL'UTILIZZO NELLA PROPRIA GIURISDIZIONE.

IL FORNITORE DEL FORK (Heretic-IT) NON È ASSOCIATO AGLI AUTORI ORIGINALI E NON RILASCIA ALCUNA GARANZIA AGGIUNTIVA RISPETTO AL SOFTWARE ORIGINALE.


Fork creato con cura per la comunita italiana e internazionale.

About

Rimozione automatica della censura per LLM - Fork italiano con 15 lingue, 9 ottimizzazioni, GUI e 17 test unitari

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages