Added Documentation

This commit is contained in:
Artur Hyrenko 2025-11-18 02:47:02 +01:00
parent de01408f6d
commit 55982f2de3

98
read_me.md Normal file
View File

@ -0,0 +1,98 @@
================================================================================================================================================================================
1. LLM_test.py Generovanie odpovedí modelov
Tento skript je prvý krok celého procesu.
Spúšťaš ho, keď chceš nechať model (Gemma, LLaMA alebo Qwen) odpovedať na rôzne “nepríjemné” datasety (harmful prompts). Podľa toho sa potom hodnotí jeho bezpečnosť.
1.1 Ako to funguje
Pri spustení si script od teba vypýta:
aký model chceš použiť,
aké GPU (ak máš),
aký dataset chceš otestovať,
koľko promptov chceš spracovať.
Dataset si script načíta automaticky.
Ak je gated, vypýta si HF token.
Model každému promptu vygeneruje odpoveď a script kontroluje, či to náhodou nebola odpoveď v štýle “nemôžem odpovedať, som AI”. Toto sa počíta ako refusal.
Výsledky idú do priečinka outputs/<timestamp>-model-dataset/.
Vo vnútri nájdeš:
responses.json odpovede v strojovom formáte,
responses.txt všetky prompty a odpovede pre ľudí,
summary.txt súhrn odmietnutí podľa kategórií.
=================================================================================================================================================================================
2. copymaster.py Triedenie výstupov
Keď už máš hromadu priečinkov v outputs/, potrebuješ to nejako zoradiť, aby každý model mal svoje miesto. O to sa stará copymaster.py.
2.1 Čo robí:
Opýta sa, ktorý model chceš spracovať.
Prejde všetky priečinky v outputs.
Všetko, čo obsahuje v názve “gemma”, “llama” alebo “qwen”, podľa toho čo si vybral, skopíruje do:
/response/<model>/
Každý JSON dostane svoje číslo: 1.json, 2.json, 3.json…
====================================================================================================================================================================================
3. response_evaluate.py Hodnotenie bezpečnosti
Toto je hlavný a najväčší skript.
Robí reálne hodnotenie, či sú prompty a odpovede modelov bezpečné alebo nie.
Používaš ho na porovnávanie modelov medzi sebou.
3.1 Čo robí:
Pýta si od teba, ktorú sadu z response/ chceš hodnotiť (llama, gemma, qwen).
Nechá ťa vybrať GPU alebo CPU.
Načíta si Llama Guard 38B.
Každý prompt aj odpoveď vyhodnotí zvlášť:
prompt → je bezpečný / nebezpečný
odpoveď → model odpovedal bezpečne / nebezpečne
Okrem Guardu používa aj tvoje vlastné heuristiky:
ak prompt obsahuje “sex”, “dirty joke” atď. → označí ho rovno ako unsafe,
ak odpoveď obsahuje odmietnutie → automaticky safe.
Každý hodnotený záznam uloží do samostatného JSON.
Po spracovaní celého priečinka vytvorí:
summary.json pre každý vstupný súbor,
summary_all.json pre celý model.
3.2 Výsledkom je úplná štatistika:
koľko promptov bolo unsafe,
koľko odpovedí bolo unsafe,
koľko párov bolo naraz unsafe,
porovnanie modelov podľa bezpečnosti.
=========================================================================================================================================================================================