Skip to content
KitploitKITPLOIT
StrumentiBlog
Log in
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
IF-Guide — [NeurIPS '25] Codice per il paper "IF-Guide: Soppressione dei dati di addestramento dannosi guidata dalla funzione di influenza per ridurre la tossicità degli LLM" | Kitploit
Strumenti/GitHubGitHub/ztcoalson/if-guide
Strumenti DifensiviAnalisi StaticaAnalisi del CodicePaper e RicercaApprendimento e FormazioneSicurezza dell'IA
GitHubztcoalson/if-guide

IF-Guide

[NeurIPS '25] Codice per il paper "IF-Guide: Soppressione dei dati di addestramento dannosi guidata dalla funzione di influenza per ridurre la tossicità degli LLM"

Vedi Repository
1322411 mesi faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Sito web
Condividi

IF-Guide: Disintossicazione degli LLM guidata da funzioni di influenza [NeurIPS 2025]

Questa repository contiene il codice per IF-Guide, la tecnica di disintossicazione degli LLM introdotta nel nostro articolo:

  • IF-Guide: Disintossicazione degli LLM guidata da funzioni di influenza
  • Zachary Coalson, Juhan Bae, Nicholas Carlini, Sanghyun Hong

 


TL;DR

Puoi usare il nostro metodo per disintossicare gli LLM identificando esempi di addestramento dannosi e poi sopprimendoli durante il pre-addestramento o il fine-tuning!

 

Abstract

Studiamo come i dati di addestramento contribuiscono all'emergere di comportamenti tossici nei modelli linguistici di grandi dimensioni. Gran parte dei lavori precedenti sulla riduzione della tossicità dei modelli adotta approcci reattivi, come il fine-tuning di modelli pre-addestrati (e potenzialmente tossici) per allinearli ai valori umani. Al contrario, proponiamo un approccio proattivo-IF-Guide-che sfrutta le funzioni di influenza per identificare i token dannosi in qualsiasi dato di addestramento e sopprimerne l'impatto durante l'addestramento. A tal fine, mostriamo innanzitutto che le funzioni di influenza standard non sono efficaci nell'individuare record di addestramento dannosi. Presentiamo poi un nuovo adattamento che misura le attribuzioni a livello di token dai dati di addestramento alla tossicità del modello, insieme a tecniche per selezionare i documenti di addestramento tossici e a un obiettivo di apprendimento che può essere integrato sia nel pre-addestramento che nel fine-tuning. Inoltre, IF-Guide non si basa su dati di preferenze umane, generalmente richiesti dai metodi di allineamento esistenti. Nella valutazione, dimostriamo che IF-Guide riduce sostanzialmente sia la tossicità esplicita che quella implicita-fino a 10× rispetto ai modelli non censurati, e fino a 3× rispetto ai metodi di allineamento di base, ad es., DPO e RAD-in entrambi gli scenari di pre-addestramento e fine-tuning. IF-Guide è computazionalmente efficiente: non è necessario un modello con un miliardo di parametri per calcolare i punteggi di influenza; un modello con un milione di parametri-con 7.5× meno parametri-può fungere efficacemente da proxy per identificare i dati dannosi.

 


Installazione

Crea l'ambiente conda (puoi usare qualsiasi ambiente con python>=3.10) e installa i pacchetti necessari:

conda create -n IF-Guide python=3.10
conda activate IF-Guide
pip install -r requirements.txt

Nota: Usiamo il pacchetto Kronfluence per calcolare i punteggi di influenza con EK-FAC. Abbiamo creato un'implementazione personalizzata che supporta la tecnica dell'influenza differenziale introdotta nel nostro articolo (pagina 4, Eq. 6). Il merito di tutte le altre componenti del pacchetto va ai creatori originali. Grazie!

Quindi, spostati nella directory di lavoro:

cd src

 


Addestramento/Fine-Tuning del Modello

Per addestrare un modello, esegui:

./scripts/train.sh

Questo richiama train.py, che accetta i seguenti argomenti chiave:

ArgumentDescription
--model_nameNome del modello da addestrare. Deve essere registrato in utils/registry.yaml con un tokenizer corrispondente (vedi i modelli esistenti per esempi)
--save_idEtichetta descrittiva usata per denominare la directory di output.
--toxic_token_mask_pathPercorso di una maschera di token (generata tramite IF-Guide). Usa None per l'addestramento standard.
--toxic_lambdaL'intensità del termine di penalità usato dal nostro obiettivo di addestramento.

Nota: Tutti gli altri argomenti possono essere lasciati ai valori predefiniti per riprodurre la nostra configurazione sperimentale. Questo vale anche per le sezioni successive.

Per effettuare il fine-tuning di un modello esistente, esegui:

./scripts/finetune.sh

Questo esegue finetune.py, che usa i seguenti argomenti aggiuntivi:

ArgumentDescription
--checkpoint_dirPercorso di un modello salvato. Se usi un modello pre-addestrato, impostalo su None.
--max_stepsNumero massimo di passi per il fine-tuning.

 


Eseguire IF-Guide

IF-Guide si compone di quattro fasi: (1) calcolare l'approssimazione dell'inversa dell'Hessiana con EK-FAC, (2) calcolare i punteggi di influenza differenziale a livello di token sui dati di query tossici e non tossici (pagina 4, Eq. 8), (3) selezionare i token tossici influenti da sopprimere durante l'addestramento (pagina 23, Alg. 1) e (4) sopprimere i token tossici con il nostro obiettivo di addestramento basato su penalità (pagina 5, Eq. 9).

 

1. Stimare i fattori dell'approssimazione dell'inversa dell'Hessiana

Esegui:

./scripts/fit_factors.sh

Questo richiama fit_factors.py e accetta i seguenti argomenti principali:

ArgumentDescription
--model_nameNome del modello su cui stimare i fattori.
--checkpoint_dirPercorso del modello salvato. Se usi un modello pre-addestrato, impostalo su None.
--train_indices_pathPercorso degli indici di addestramento usati per addestrare il modello (non necessario se si usa l'intero dataset). Devono corrispondere esattamente agli indici e seguire lo stesso ordine. Forniamo gli indici del nostro sottoinsieme di un miliardo di token OpenWebText e li impostiamo come percorso predefinito.
--output_dirPercorso in cui salvare i dati dell'approssimazione dell'Hessiana.

 

2. Calcolare i punteggi a livello di token

Esegui:

./scripts/compute_scores.sh

Questo esegue compute_scores.py con i seguenti argomenti chiave (in aggiunta alla maggior parte degli argomenti usati per calcolare i fattori):

Scarica lo strumento