
Verteidigungsframework, das bösartiges Fine-Tuning von LLMs durch selektive Schichtwiederherstellung und dynamisches Routing abschwächt, mit Trainings-, Schädlichkeitsbewertungs- und Jailbreak-Evaluierungsskripten.
Klonen Sie das Repository, erstellen und aktivieren Sie die Conda-Umgebung und installieren Sie dann die erforderlichen Abhängigkeiten:
git clone https://github.com/Stardust457/SLDR.git
cd SLDR
conda create -n sldr python=3.12 -y
conda activate sldr
python -m pip install --upgrade pip
python -m pip install -r requirements.txt
Llama-Modelle erfordern eine Zugriffsanfrage auf Hugging Face.
Bevor Sie ein Modell verwenden, melden Sie sich bei Hugging Face an, besuchen Sie die Seite des gewünschten Modells unter Meta Llama, akzeptieren Sie die Nutzungsbedingungen und reichen Sie eine Zugriffsanfrage ein. Sobald der Zugriff gewährt wurde, verwenden Sie dasselbe Konto, um ein Access Token mit Lesezugriff auf das Zielmodell auf der Seite mit den Access-Token-Einstellungen zu erstellen. Weitere Informationen finden Sie im Hugging Face-Leitfaden für gated Modelle.
Konfigurieren Sie zunächst den HF-Mirror in einem Bash-Terminal:
export HF_ENDPOINT="https://hf-mirror.com"
Führen Sie dann den folgenden Befehl aus, um sich anzumelden:
hf auth login
Geben Sie bei Aufforderung Ihr neu erstelltes Hugging Face Access Token ein.
Führen Sie die folgenden Befehle aus dem Repository-Stammverzeichnis aus, um jedes Modell zu trainieren und zu evaluieren:
bash scripts/run_llama31_downstream.sh
bash scripts/run_llama3_downstream.sh
bash scripts/run_qwen25_downstream.sh
bash scripts/run_mistral_downstream.sh
Nachdem Sie die Modellantworten gesammelt haben, stellen Sie Llama Guard bereit und starten Sie den Dienst in einem Terminal:
bash scripts/run_llama_guard.sh serve
Lassen Sie dieses Terminal laufen und warten Sie, bis der Dienst bereit ist. Öffnen Sie dann ein weiteres Terminal, aktivieren Sie die sldr-Umgebung und führen Sie den folgenden Befehl aus dem Repository-Stammverzeichnis aus, um die Schädlichkeit der Modellantworten zu bewerten:
bash scripts/run_llama_guard.sh score
Bevor Sie die Llama 3.1-Evaluierung auf dem Alpaca-Datensatz ausführen, konfigurieren Sie die API-Basis-URL und den API-Schlüssel des GPT-Richters im selben Terminal:
export GPT_JUDGE_BASE_URL='your base url'
export OPENAI_API_KEY='your API key'
Ersetzen Sie die Platzhalter durch Ihre API-Basis-URL und Ihren API-Schlüssel, bevor Sie die Evaluierung starten.
Nachdem Sie die entsprechenden Downstream-Checkpoints generiert haben, führen Sie den folgenden Befehl aus, um Llama 3.1 auf zusätzlichen schädlichen Benchmarks zu evaluieren, darunter DirectHarm4, HarmBench und HEx-PHI:
DATASETS="sst2" \
POISON_RATIOS="0.1" \
SEEDS="42" \
VARIANTS="defended" \
bash /root/scripts/run_llama31_harm_benchmarks.sh
Führen Sie den folgenden Befehl aus, um Llama 3.1 gegen die Zulu- und IJP-Jailbreak-Angriffe unter Verwendung der entsprechenden Downstream-Checkpoints zu evaluieren:
DATASETS="sst2" \
POISON_RATIOS="0.1" \
TRAIN_SAMPLES="1000" \
SEEDS="42" \
VARIANTS="defended" \
JAILBREAK_ATTACKS="zulu ijp" \
bash /root/scripts/run_llama31_jailbreak.sh
Hinweis: Die für den Zulu-Datensatz generierten Modellantworten müssen ins Englische übersetzt werden, bevor ihre Schädlichkeit mit Llama Guard bewertet wird.