
إطار دفاعي يُبقي نماذج اللغة الصوتية مجمّدة ويضيف بوابة مخاطر في الطبقة الوسطى مع محوّلات أمان في الطبقات المتأخرة لصدّ اختراقات الحماية الصوتية عند الاستدلال.
Yu-Ling Liao*, Tzu-Chin Chiu*, Zong-You Chen*, Chi-Lei Tsai*, Shao-Yuan Lo — جامعة تايوان الوطنية (*مساهمة متساوية)
كود تقديم ICASSP 2027. يحافظ AEGIS على نموذج اللغة الصوتية الهدف مجمّدًا ويضيف بوابة مخاطر في الطبقة الوسطى تقود بشكل شرطي محوّلات الأمان في الطبقات المتأخرة، مع تحجيم الحلقة المغلقة عند الاستدلال.
| الصفحة | ما تحتويه |
|---|---|
| المنهجية | الفجوة بين المخاطر والرفض، البوابة والمحوّلات، خسارة التدريب، الحلقة المغلقة. |
| النتائج | جداول الورقة البحثية: ستة نماذج، ثلاثة معايير، الاستئصال، ومقارنة الدفاع. |
| تحليلات تتجاوز الورقة | الفجوة بين المخاطر والرفض في النماذج الخمسة الأخرى، سلوك البوابة، التمثيلات، جدول الاستئصال الكامل. |
| البيانات | مصدر كل مجموعة بيانات وكيفية بناء البيانات الوصفية. |
| إضافة نموذج | نقل AEGIS إلى LALM آخر بكتابة محوّل واحد. |
في هذه الصفحة: تخطيط المستودع · الإعداد · البيانات · تشغيل AEGIS · البروتوكول · الاستئصالات · الاختبارات · الاقتباس
aegis/ defense runtime; every script runs from any directory
model_registry.py ModelAdapter interface, registry, Qwen2-Audio and Phi-4 adapters
adapters_gemma_voxtral.py Gemma 4 E4B-it and Voxtral-Small-24B adapters
adapters_ultravox_vita.py Ultravox v0.5 and VITA-1.5 adapters
train_gate_lora.py joint training of the risk gate and the safety adapters
run_defense.py gated inference with closed-loop scaling (--score-only: gate scores)
run_model.py undefended generation
judge.py Llama-Guard-3-8B safety judge
refusal.py refusal regex for the over-refusal metric
extract_hidden.py, analysis/ hidden-state probes for layer selection
scripts/
prepare_data.py downloaded datasets -> manifests (+ in-domain test splits)
run_baseline.sh step 0: undefended responses, judgments, training files
run_aegis.sh steps 1-4 for one protocol (PROTOCOL=indomain or lobo)
run_ablation.sh the Full and Always-on ablations
models.sh per-model gate layer, intervention layers, prompt mode
build_trainsets.py, calibrate_threshold.py, summarize.py
data/splits/ in-domain train/test ids used in the paper
docs/ method, results, analyses, porting guide
tests/ CPU tests of the evaluation protocol
pip install -r requirements.txt
يحتاج كل نموذج إلى إصدار Transformers قادر على تحميله. تختلف المصادر الأصلية، لذا استخدمنا بيئة واحدة لكل عائلة نماذج:
huggingface-cli login، أو اضبط GUARD وAEGIS_LLAMA31_PATH على نسخ محلية.AEGIS_VITA_REPO على مجلد الاستنساخ (الافتراضي: external/VITA).DEVICE=auto يوزّع النموذج؛ تتبع البوابة والمحوّلات الطبقات التي ترتبط بها). يستفيد Qwen2-Audio وPhi-4 أيضًا من DEVICE=auto على مقاطع AJail الطويلة.نزّل مجموعات البيانات الخمس كما هو موضح في data/README.md، ثم ابنِ البيانات الوصفية:
python scripts/prepare_data.py --data-root data --out-dir data/manifests
يتحقق السكربت من أعداد الصفوف المستخدمة في الورقة: AJail 1,490، JALM 946، SACRED 1,364، XSTest 250، Benign_train 215. كما يكتب تقسيمات الاختبار داخل النطاق (718 / 499 / 683 صفًا) من قوائم المعرّفات في data/splits/.
لكل نموذج (PY هو Python الخاص ببيئة ذلك النموذج؛ يمكن أن يشير JUDGE_PY إلى بيئة مختلفة لـ Llama Guard):
MODEL=gemma4_e4b_it PY=python DEVICE=cuda:0 bash scripts/run_baseline.sh # step 0
MODEL=gemma4_e4b_it PROTOCOL=indomain PY=python DEVICE=cuda:0 bash scripts/run_aegis.sh # in-domain
MODEL=gemma4_e4b_it PROTOCOL=lobo PY=python DEVICE=cuda:0 bash scripts/run_aegis.sh # LOBO
كل مرحلة قابلة للاستئناف؛ أعد تشغيل الأمر نفسه بعد أي انقطاع. تذهب المخرجات إلى runs/<model>/:
baseline/ undefended responses; <bench>_judged.jsonl = Llama Guard labels
train/train_{indomain,lobo}_<bench>.jsonl
<protocol>/<bench>/adapter/ router_head.pt, late_adapters.pt, config.json
<protocol>/<bench>/scores/ gate scores on XSTest and on the evaluation set
<protocol>/<bench>/threshold.json
<protocol>/<bench>/defended/ defended responses and their judgments
<protocol>/summary.json unsafe rate, over-refusal, gate AUROC per benchmark
data/splits/. LOBO (ترك معيار واحد خارجًا): يُدرَّب AEGIS على المعيارين الآخرين ويُقيَّم على المعيار المحجوز بالكامل. في كلا الإعدادين لا تشارك البيانات المُقيَّمة أبدًا في اختيار العتبة، ولا يُستخدم XSTest أبدًا للتدريب.scripts/build_trainsets.py). الصوت الحميد هو Benign_train مع إجابات النموذج غير المدافعة كأهداف. تُستبعد الطلبات الحميدة التي تبدو ضارة والتي رفضها النموذج عند خط الأساس. الأهداف الضارة هي قوالب رفض عامة. عدد المقاطع الضارة يساوي عدد المقاطع الحميدة. البذرة 42.λ_BCE = 1.0، λ_L1 = 0.01.PROMPT_MODE=native)؛ تتلقى النماذج الأخرى الصوت بالإضافة إلى طلب نصي ثابت واحد. تقرأ البوابة حالة مخفية تعتمد على الطلب، لذا يكون المحوّل صالحًا فقط تحت وضع الطلب الذي دُرِّب عليه.scripts/calibrate_threshold.py). تُرتَّب معرّفات XSTest وتُقسَّم بالتناوب إلى نصف تحقق ونصف اختبار. العتبة هي أصغر درجة بوابة يكون فيها الرفض الزائد المضاف على نصف التحقق 10% على الأكثر، محسوبًا على الطلبات التي أجاب عنها النموذج غير المدافع.REFUSAL_PHRASE_SET=multi، التي يضبطها )، لذا تُحتسب حالات الرفض غير الإنجليزية.MODEL=qwen2_audio VARIANT=full bash scripts/run_ablation.sh # LoRA on all layers, no gate
MODEL=qwen2_audio VARIANT=always_on bash scripts/run_ablation.sh # AEGIS layers, no gate
python -m unittest discover tests
@misc{liao2027aegis,
title = {{AEGIS}: Audio Endogenous Guarding via Internal Signals Against Large Audio-Language Model Jailbreaks},
author = {Liao, Yu-Ling and Chiu, Tzu-Chin and Chen, Zong-You and Tsai, Chi-Lei and Lo, Shao-Yuan},
note = {Submitted to ICASSP 2027},
year = {2026}
}
يُصدر الكود بموجب MIT License. تحتفظ النماذج الأساسية (مثل Gemma 4، وLlama 3.1 في Ultravox، وLlama-Guard-3-8B) والمعايير بتراخيصها وشروط استخدامها الخاصة.
MODEL | النموذج الأساسي | معرّف Hugging Face (متغير التجاوز) | طبقة البوابة | طبقات التدخل | إصدار Transformers المستخدم |
|---|
gemma4_e4b_it | Gemma 4 E4B IT | google/gemma-4-E4B-it (AEGIS_GEMMA4_PATH) | 21 | 25–41 | 5.7.0.dev0 |
phi4_mm | Phi-4-multimodal | microsoft/Phi-4-multimodal-instruct (AEGIS_PHI4_MM_PATH) | 15 | 19–31 | 5.7.0.dev0 |
vita_15 | VITA-1.5 | VITA-MLLM/VITA-1.5 (AEGIS_VITA_PATH) | 15 | 19–27 | 4.43.4 |
qwen2_audio | Qwen2-Audio-7B-Instruct | Qwen/Qwen2-Audio-7B-Instruct (AEGIS_QWEN2_AUDIO_PATH) | 15 | 19–31 | ≥ 4.45 |
ultravox_v05 | Ultravox v0.5 (Llama-3.1-8B) | fixie-ai/ultravox-v0_5-llama-3_1-8b (AEGIS_ULTRAVOX_PATH) | 15 | 19–31 | 4.48.1 |
voxtral_small | Voxtral Small 24B | mistralai/Voxtral-Small-24B-2507 (AEGIS_VOXTRAL_PATH) | 24 | 28–39 | 4.57.6 |
run_aegis.shscripts/summarize.py): معدل عدم الأمان هو نسبة الصفوف المُقيَّمة التي يصنّفها Llama-Guard-3-8B كـ unsafe؛ الرفض الزائد هو نسبة استجابات XSTest المطابقة لـ aegis/refusal.py، مُبلَّغًا عنها على جميع الطلبات الـ 250 وعلى نصف الاختبار؛ يستخدم gate AUROC درجات البوابة الخام مع الهجمات كإيجابيات وXSTest كسلبيات.