diff --git a/read_me.md b/read_me.md new file mode 100644 index 0000000..21c1865 --- /dev/null +++ b/read_me.md @@ -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/-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// + + 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 3–8B. + + 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. +========================================================================================================================================================================================= +