
إطار دفاعي يخفف من الضبط الدقيق الخبيث لنماذج اللغة الكبيرة (LLMs) باستخدام استعادة الطبقات الانتقائية والتوجيه الديناميكي، مع نصوص برمجية للتدريب وتقييم الضرر وتقييم كسر الحماية.
استنسخ المستودع، وأنشئ بيئة Conda وقم بتفعيلها، ثم ثبّت التبعيات المطلوبة:
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 تقديم طلب وصول على Hugging Face.
قبل استخدام أي نموذج، سجّل الدخول إلى Hugging Face، وقم بزيارة صفحة النموذج المطلوب ضمن Meta Llama، واقبل شروط الاستخدام، وقدّم طلب وصول. بمجرد منح الوصول، استخدم نفس الحساب لإنشاء Access Token بصلاحية قراءة للنموذج المستهدف من صفحة إعدادات Access Tokens. لمزيد من التفاصيل، راجع دليل النماذج المقيّدة في Hugging Face.
أولاً، قم بتهيئة HF-Mirror في طرفية Bash:
export HF_ENDPOINT="https://hf-mirror.com"
ثم، نفّذ الأمر التالي لتسجيل الدخول:
hf auth login
أدخل Access Token الخاص بـ Hugging Face الذي أنشأته حديثاً عند المطالبة بذلك.
نفّذ الأوامر التالية من جذر المستودع لتدريب وتقييم كل نموذج:
bash scripts/run_llama31_downstream.sh
bash scripts/run_llama3_downstream.sh
bash scripts/run_qwen25_downstream.sh
bash scripts/run_mistral_downstream.sh
بعد جمع استجابات النموذج، انشر Llama Guard وابدأ الخدمة في طرفية:
bash scripts/run_llama_guard.sh serve
أبقِ هذه الطرفية قيد التشغيل وانتظر حتى تصبح الخدمة جاهزة. بعد ذلك، افتح طرفية أخرى، وفعّل بيئة sldr، ونفّذ الأمر التالي من جذر المستودع لتقييم مدى ضرر استجابات النموذج:
bash scripts/run_llama_guard.sh score
قبل تشغيل تقييم Llama 3.1 على مجموعة بيانات Alpaca، قم بتهيئة عنوان URL الأساسي لواجهة API ومفتاح API الخاص بـ GPT judge في نفس الطرفية:
export GPT_JUDGE_BASE_URL='your base url'
export OPENAI_API_KEY='your API key'
استبدل العناصر النائبة بعنوان URL الأساسي ومفتاح API الخاص بك قبل بدء التقييم.
بعد إنشاء نقاط التحقق (checkpoints) المقابلة للمهام النهائية، نفّذ الأمر التالي لتقييم Llama 3.1 على معايير ضارة إضافية، بما في ذلك DirectHarm4 وHarmBench وHEx-PHI:
DATASETS="sst2" \
POISON_RATIOS="0.1" \
SEEDS="42" \
VARIANTS="defended" \
bash /root/scripts/run_llama31_harm_benchmarks.sh
نفّذ الأمر التالي لتقييم Llama 3.1 ضد هجمات كسر الحماية Zulu وIJP باستخدام نقاط التحقق المقابلة للمهام النهائية:
DATASETS="sst2" \
POISON_RATIOS="0.1" \
TRAIN_SAMPLES="1000" \
SEEDS="42" \
VARIANTS="defended" \
JAILBREAK_ATTACKS="zulu ijp" \
bash /root/scripts/run_llama31_jailbreak.sh
ملاحظة: يجب ترجمة استجابات النموذج المُنشأة لمجموعة بيانات Zulu إلى الإنجليزية قبل تقييم مدى ضررها باستخدام Llama Guard.