Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
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.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
ASCENT — Framework di fine-tuning che applica una calibrazione di sicurezza ottimale del primo ordine e una ricalibrazione periodica ai LLM, preservando gli aggiornamenti compatibili con la sicurezza e migliorando al contempo l'utilità per le attività downstream. | Kitploit
Strumenti/GitHubGitHub/zju-llm-safety/ascent
Strumenti DifensiviMachine LearningPaper e RicercaSicurezza dell'IAAttacco Avversario
GitHubzju-llm-safety/ascent

ASCENT

Framework di fine-tuning che applica una calibrazione di sicurezza ottimale del primo ordine e una ricalibrazione periodica ai LLM, preservando gli aggiornamenti compatibili con la sicurezza e migliorando al contempo l'utilità per le attività downstream.

Vedi Repository
1134 giorni 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 →
Condividi

ASCENT

Fine-Tuning Ottimale del Primo Ordine con Ricalibrazione per il Miglioramento Congiunto di Sicurezza e Utilità

ASCENT deriva un aggiornamento di calibrazione della sicurezza ottimale del primo ordine e la corrispondente struttura relativa alla sicurezza, ottimizza gli aggiornamenti dei task downstream per preservare le componenti compatibili con la sicurezza sopprimendo quelle che la degradano, e ricalibra periodicamente questa struttura durante il fine-tuning per migliorare congiuntamente sicurezza e utilità downstream.

Metodo · Avvio rapido · Dati · Configurazione · Valutazione

🧠 Panoramica del metodo

Framework ASCENT: calibrazione della sicurezza, ottimizzazione del task preservando la sicurezza e ricalibrazione periodica.

  1. Calibrazione della sicurezza ottimale del primo ordine. Stima il gradiente di sicurezza del modello corrente con un giudice di sicurezza. Le sue componenti singolari top-r definiscono un aggiornamento di calibrazione che massimizza il miglioramento di sicurezza previsto al primo ordine sotto budget fissi di rango e norma di Frobenius.
  2. Ottimizzazione del task preservando la sicurezza. Preserva le componenti dell'aggiornamento del task compatibili con la sicurezza e sopprime selettivamente quelle con effetti negativi sulla sicurezza al primo ordine. L'aggiornamento in forma chiusa bilancia la prossimità all'aggiornamento originale del task con una penalità sui conflitti di sicurezza, ponderata dai valori singolari.
  3. Ricalibrazione periodica. Esegue gli aggiornamenti del task tra i punti di calibrazione, poi unisce l'aggiornamento effettivo del task e ri-stima la struttura relativa alla sicurezza sul modello aggiornato. La pianificazione della calibrazione è impostata in config.toml.

🚀 Avvio rapido

Requisiti: Python 3.12 e checkpoint dei modelli locali. L'addestramento utilizza due GPU CUDA, una per il modello target e una per Llama Guard; ciascun modello deve entrare nella propria GPU.

pip install -r requirements.txt
cp config.example.toml config.toml

Compila i valori vuoti in config.toml, seguendo i suoi commenti inline, poi esegui:

python run.py \
  --config config.toml \
  --model-path /path/to/target-model \
  --guard-model-path /path/to/Llama-Guard-3-8B \
  --data-root data \
  --output-dir /path/to/new-run \
  --target-gpu 0 --guard-gpu 1

Aggiungi --execute per addestrare, generare risposte o salvare i risultati di valutazione.

Scegli una nuova directory di output esterna al repository con spazio per i checkpoint. L'addestramento stampa il percorso del modello finale unito al termine.

📁 Dati

Fornisci array JSON con i conteggi di record configurati:

  • Calibrazione: <data-root>/calibration/prompts.json
  • Dati del task: <data-root>/<task>/{train,test}.json, con input di train/test disgiunti.
DatasetCampi richiesti
SAMSumdialogue, summary
AGNewstext, label_name: World, Sports, Business, o Sci/Tech
GSM8Kquestion, answer con una risposta finale ####
OpenBookQAquestion_stem, choice_labels: ["A","B","C","D"], quattro choice_texts, answer_key: A–D
HarmBenchsolo goal; id, source opzionali; nessuna risposta memorizzata

⚙️ Configurazione

Imposta modello, task e iperparametri in config.toml. Il caricamento del modello e la selezione della matrice seguono model.key.

📊 Valutazione

Usa evaluate.py per entrambe le modalità; la generazione richiede un modello locale completamente unito. Fornisci i tuoi dati e i punteggi di sicurezza esterni. Nessun dataset, giudice online o configurazione API è incluso.

Utilità

python evaluate.py utility --task gsm8k --data /path/to/test.json \
  --model-path /path/to/merged-model --output-dir /path/to/task-evaluation --execute

Task: samsum, agnews, gsm8k, openbookqa. Le metriche sono ROUGE-L per SAMSum e accuratezza/exact match per gli altri, riportate come percentuali. Per valutare le risposte salvate, sostituisci --model-path con --responses /path/to/responses.json.

Sicurezza

Fornisci prompt fissi come record con id, goal e prompt opzionale (predefinito a goal). Mantieni l'obiettivo dannoso originale separato dal prompt di attacco.

Genera le risposte:

python evaluate.py safety --data /path/to/prompts.json \
  --model-path /path/to/merged-model --output-dir /path/to/safety-responses --execute

Aggrega i punteggi esterni:

python evaluate.py safety \
  --responses /path/to/safety-responses/responses.json --judgments /path/to/scores.json \
  --output-dir /path/to/safety-metrics --execute

I punteggi sono record JSON { "id": "...", "score": 1 }, usando gli ID delle risposte e punteggi 1–5 (null per giudizi falliti). I punteggi 4–5 contano come attacchi riusciti; usa --success-threshold 5 per contare solo 5. Giudizi mancanti o falliti non producono un ASR finale.

Per entrambe le modalità, gli input che superano --max-input-tokens dopo la formattazione della chat vengono rifiutati, non troncati. Imposta il limite entro la capacità di contesto del modello, lasciando spazio per i token generati.

Scarica lo strumento