Added Documentation
This commit is contained in:
parent
de01408f6d
commit
55982f2de3
98
read_me.md
Normal file
98
read_me.md
Normal 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 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.
|
||||
=========================================================================================================================================================================================
|
||||
|
||||
Loading…
Reference in New Issue
Block a user