چیت‌شیت

ایمنی هوش مصنوعی و تیم سرخ

AI Safety and Red Teaming

نام‌گذاری حمله، شناسایی آن، سنجش امتناع مدل، کنترل خروجی و بازرسی هم‌راستایی. درس‌های فازهای 18 و 19.

  • ۱۲ بخش
  • ۲۰ درس مرتبط
  • کد و دستورها عیناً از دوره‌ی اصلی
فهرست مطالب
  1. گیت ایمنی با سه چک‌پوینت
  2. حلقه‌ی حمله‌ی PAIR
  3. رده‌بندی جیل‌بریک
  4. وظایف در کد
  5. تجمیع سیگنال‌ها
  6. معیارها
  7. حالت‌های شکست هم‌راستایی
  8. مقادیر پیش‌فرض و اعداد
  9. عیب‌یابی
  10. اختصارات
  11. سؤالات متداول
  12. نکات کلیدی

گیت ایمنی با سه چک‌پوینت

معماری
تأییداستریمتکمیلتوقف زودهنگامپرامپت کاربرشناساگر پیش از تولیدقوانین روی پرامپتاستریم خروجی مدلتکه‌های 4 توکنیفیلتر حین تولیدبافر 2 تکه‌ایبررسی‌های پس از تولیددسته‌بند، موتور قوانینتجمیعبیشترین شدتاقدام نهاییRequestTrace

حلقه‌ی حمله‌ی PAIR

گام‌به‌گام
  1. مهاجم Aهدف G و تاریخچه‌ی جفت‌های پرامپت و پاسخ را می‌خواند.
  2. مهاجم Aپرامپت جدید $p_k$ را می‌نویسد.
  3. هدف Tبا پاسخ $r_k$ جواب می‌دهد.
  4. داور Jجفت $(p_k, r_k)$ را بر اساس هدف امتیازدهی می‌کند.
  5. توقفامتیاز برابر یا بالاتر از آستانه، یک جیل‌بریک است.
  6. تکراردر غیر این صورت، افزودن جفت به تاریخچه تا سقف بودجه‌ی K.

رده‌بندی جیل‌بریک

دستورها
Categoryمرز اعتماد نقض‌شده
role-playپرسونای دستیار
instruction-overrideمرجعیت پرامپت سیستم
context-smugglingشکاف بین محتوای کاربر و محتوای دستورالعمل
multi-turn-rampتاریخچه‌ی مکالمه به‌عنوان یک قرارداد
encoding-trickفرم ظاهری توکن‌های ممنوعه
prefix-injectionتصمیم‌گیری دستیار برای توکن بعدی

وظایف در کد

کار و کد
وظیفهکد
اجرای دمو پروژه نهاییpython3 main.py
افزودن قانون شناساگر{"name": "debug-mode", "category": "instruction-override", "score": 0.80, "substring": "debug mode"}
امتیازدهی به یک پرامپتv = self.detector.analyze(prompt)
تلاش برای رمزگشایی rot13candidate = codecs.encode(text, "rot_13")
تشخیص امتناع مدلclassify_refusal(response)
مسیریابی خروجیaction = self.classifier_router.run(output)
رفع نقض قوانینredacted = self.rules_fixer.apply(redacted, violations)
اجرای یک درخواستtrace = gate.handle(prompt)

تجمیع سیگنال‌ها

کد
python
if pre.category != "benign":
    if pre.confidence >= self.block_confidence:   # 0.85 شدت بالا است
        signals.append(("pre", SEVERITY_RANK["high"]))
    elif pre.confidence >= self.note_confidence:  # 0.5 شدت متوسط است
        signals.append(("pre", SEVERITY_RANK["medium"]))
if during.terminated_early:                       # قطع زودهنگام استریم
    signals.append(("during", SEVERITY_RANK["medium"]))
if post is not None:                              # دسته‌بند و قوانین
    signals.append(("post.classifier", SEVERITY_RANK.get(post.classifier_severity, 0)))
max_rank = max(rank for _, rank in signals)
if max_rank >= SEVERITY_RANK["high"]:
    return "block"                                # بازگرداندن امتناع مدل
if max_rank >= SEVERITY_RANK["medium"]:
    return "redact"                               # سپس اخطار برای سطح پایین، در غیر این صورت مجاز

معیارها

مفهوم‌ها
دقت
$TP / (TP + FP)$، نسبت فعال‌سازی‌های درست.
بازخوانی
$TP / (TP + FN)$، نسبت حملات شناسایی‌شده توسط شناساگر.
F1
$2 P R / (P + R)$ به‌ازای هر دسته‌بندی.
امتناع تفریطی
مدل به پرامپت برچسب‌خورده با ناامن پاسخ داده است.
امتناع بیش از حد
مدل از پاسخ به پرامپت برچسب‌خورده با امن امتناع کرده است.
Accuracy
$(TP + TN) / \text{total}$ برای تصمیم امن یا ناامن.
ECE
بازه‌های ده‌تایی، میانگین $\lvert \text{conf} - \text{accuracy} \rvert$ وزن‌دهی‌شده با اندازه‌ی بازه.
ASR
نرخ موفقیت حمله. گزارش همراه با بودجه‌ی پرس‌وجو و داور.

حالت‌های شکست هم‌راستایی

مفهوم‌ها
گودهارت
یک بهینه‌ساز قوی ورودی‌هایی می‌یابد که در آن‌ها پاداش تقریبی و هدف با هم تفاوت دارند.
بهینه‌سازی بیش از حد
پاداش تقریبی بالا می‌رود، پاداش طلایی به اوج می‌رسد و با رشد KL افت می‌کند.
بله‌قربان‌گویی
تأیید فرض‌پایه‌ی مطرح‌شده توسط کاربر صرف‌نظر از درستی آن.
ماندگاری تریگر
یک در پشتی پس از آموزش با هدف حذف آن نیز باقی می‌ماند.
تظاهر به هم‌راستایی
شکاف اجابت بین شرایط تحت نظارت و بدون نظارت.
هوش مصنوعی قانون‌محور
ارزیابی و بازنگری در SFT، سپس RL از بازخورد هوش مصنوعی.
کنترل هوش مصنوعی
مدل معتمد T مدل غیرمعتمد U را ویرایش می‌کند. انسان H خروجی‌های مبهم را بازرسی می‌کند.
PGR
$(\text{fine-tuned} - \text{weak}) / (\text{ceiling} - \text{weak})$. مقدار 1.0 شکاف را کامل می‌بندد.

مقادیر پیش‌فرض و اعداد

پیش‌فرض‌ها
تنظیمپیش‌فرضنکته
block_confidence0.85امتیاز شناساگر پیش از تولید که بلاک می‌کند
note_confidence0.5امتیاز پیش از تولید که یک سیگنال متوسط می‌افزاید
buffer_cap2تعداد تکه‌هایی که فیلتر حین تولید نگه می‌دارد
n_bins10بازه‌های ECE
Leakage threshold0.55همپوشانی سه‌گرامی با پرامپت سیستم
max_words800قانون طول محدود
PAIR budget K20تعداد پرس‌وجوها به‌ازای هر هدف
MSJ shot count256حمله‌ی مطمئن برای محتوای خشونت‌آمیز و فریبکارانه

عیب‌یابی

عیب‌یابی
  • Regex عبارات بازنویسی‌شده را رد می‌کند

    علت
    یک الگو، بدون اندازه‌گیری
    راه‌حل
    خانواده‌های regex، مرحله‌ی نرمال‌سازی، دقت و بازخوانی
  • ایجنت از یک ایمیل اطاعت می‌کند

    علت
    فیلتر فقط ورودی کاربر را بررسی می‌کند
    راه‌حل
    برچسب‌گذاری محتوای غیرمعتمد، تأیید اقدامات آن
  • دفاع ASR نزدیک به صفر را گزارش می‌دهد

    علت
    فقط حملات ایستا بررسی شده‌اند
    راه‌حل
    ارزیابی با حملات تطبیقی
  • مدل از انجام تکلیف شیمی امتناع می‌کند

    علت
    فقط پرامپت‌های مضر سنجیده شده‌اند
    راه‌حل
    سنجش امتناع بیش از حد روی پرامپت‌های امن
  • تزریق پیشوند عبور می‌کند

    علت
    گیت فقط پس از تولید بررسی می‌کند
    راه‌حل
    افزودن فیلتر استریم حین تولید
  • اعداد ASR قابل مقایسه نیستند

    علت
    بودجه‌های پرس‌وجوی متفاوت
    راه‌حل
    یکسان‌سازی بودجه‌ها، مشخص کردن داور
  • حمله در حالت 256 پرامپت نمونه کار می‌کند

    علت
    پیروی از الگو در بافت‌های متنی طولانی
    راه‌حل
    دسته‌بند روی کل بافت متنی
  • حمله‌ی انکودینگ از بررسی ورودی عبور می‌کند

    علت
    تنها نظارت بر ورودی اعمال شده است
    راه‌حل
    نظارت بر هر دو بخش ورودی و خروجی

اختصارات

اصطلاح‌ها
PAIR
پالایش تکرارشونده و خودکار پرامپت. حلقه‌ی LLM مهاجم و LLM داور.
GCG
جستجوی گرادیان جعبه سفید برای پسوندهای توکن خصمانه.
TAP
درخت حملات. روش PAIR با انشعاب و هرس کردن.
MSJ
جیل‌بریک با شات‌های بالا. صدها جفت اجابت ساختگی در بافت متن.
ArtPrompt
پوشاندن واژگان ایمنی با بازنمایی‌های هنر اسکی (ASCII).
IPI
تزریق غیرمستقیم پرامپت. پی‌لود در محتوایی که کاربر ننوشته است.
IFC
کنترل جریان اطلاعات. محتوای غیرمعتمد نیازمند تأیید معتمد است.
ECE
خطای کالیبراسیون مورد انتظار. اطمینان اعلام‌شده در برابر دقت.

سؤالات متداول

پرسش و پاسخ
چرا رده‌بندی اولویت دارد؟
برچسب‌ها جریان حملات را به هیستوگرام و نمودار پوشش تبدیل می‌کنند.
چرا خروجی‌ها نیز دسته‌بندی شوند؟
خانواده‌ای از حملات که از بررسی ورودی رد شوند به دست کاربر می‌رسند.
کدام اقدام اولویت دارد؟
بیشترین شدت. بلاک در اولویت است. پاک‌سازی داده‌های حساس و اخطار تبدیل به پاک‌سازی می‌شود.
چرا PAIR کم‌هزینه‌تر از GCG است؟
این روش جعبه سیاه است و از هر رد پاسخ در بافت متن درس می‌گیرد.
چرا مسدود کردن MSJ سخت است؟
این حمله از همان سازوکار یادگیری درون بافت متن استفاده می‌کند.

نکات کلیدی

نکته‌ها
  • همراه با هر یافته، شناسه‌ی رده‌بندی را لاگ کنید.
  • ابتدا نرمال‌سازی کنید: حذف کاراکترهای با عرض صفر، رمزگشایی base64، rot13 و hex. پرامپت خام را نگه دارید.
  • شیوه‌نامه‌ی بنیادین را در فرمت YAML و تحت کنترل نسخه همراه با بازنگری مستقل قرار دهید.
  • در هر دو سمت مدل، یک دسته‌بند محافظ قرار دهید.
  • پروب‌های تک نوبت گفت‌وگو را هر شب و کمپین‌های چند نوبتی را پیش از انتشار اجرا کنید.
  • به هر جیل‌بریک موفق با CVSS 4.0 امتیاز دهید.