AI Security

ای‌ال‌ام‌های چندمستأجره امن با حریم خصوصی تفاضلی

با تبدیل مدل‌های زبانی بزرگ (LLMs) به هسته اصلی برنامه‌های سازمانی، حرکت به سمت معماری‌های چندمستأجره چالش‌های امنیتی منحصربه‌فردی ایجاد می‌کند. در این محیط‌ها، مشتریان متعددی زیرساخت مدل پایه را به اشتراک می‌گذارند. اگرچه این امر کارایی را به حداکثر می‌رساند، اما خطر نشت داده را به همراه دارد. اگر یک LLM به طور ناخواسته داده‌های آموزشی حساس از مستأجر A را به خاطر بسپارد، مستأجر B ممکن است بتواند از طریق پرس‌وجوهای خصمانه یا تحلیل گرادیان، آن اطلاعات را استخراج کند.

این پست وبلاگ بررسی می‌کند که چگونه می‌توان از حریم خصوصی تفاضلی (DP) برای تشخیص و کاهش این خطرات استفاده کرد و جداسازی قوی داده‌ها را در محیط‌های هوش مصنوعی مشترک تضمین نمود.

درک بردار نشت داده

مدل‌های یادگیری ماشین سنتی برای به حداقل رساندن خطا آموزش می‌بینند که می‌تواند منجر به بیش‌برازش (Overfitting) شود. در زمینه ای‌ال‌ام‌ها، بیش‌برازش به صورت «به خاطر سپردن» ظاهر می‌شود، جایی که مدل قطعات عین‌به‌عین از داده‌های آموزشی خود را حفظ می‌کند. در یک پیکربندی چندمستأجره، اگر اسناد محرمانه مستأجر A در مجموعه داده پیش‌آموزش یا تنظیم دقیق جهانی گنجانده شود، مستأجر B ممکن است بتواند مدل را برای بازیابی این داده‌ها پرس‌وجو کند. این نه تنها یک نقض حریم خصوصی است، بلکه اغلب نقض انطباق مقرراتی (مانند GDPR و HIPAA) نیز محسوب می‌شود.

حریم خصوصی تفاضلی با تزریق نویز کالیبره شده به فرآیند آموزش یا مکانیزم پاسخ پرس‌وجو، این مشکل را حل می‌کند. این امر تضمین می‌کند که خروجی مدل تغییر قابل توجهی نخواهد داشت، صرف‌نظر از اینکه آیا داده‌های یک فرد خاص در مجموعه آموزشی گنجانده شده است یا خیر.

پیاده‌سازی DP-SGD برای چندمستأجره بودن

رایج‌ترین روش برای ایجاد حریم خصوصی در آموزش مدل، کاهش گرادیان تصادفی با حریم خصوصی تفاضلی (DP-SGD) است. این تکنیک گرادیان‌ها را برای هر نمونه محدود می‌کند تا تأثیر هر نقطه داده واحد را محدود سازد و قبل از به‌روزرسانی وزن‌های مدل، نویز را به گرادیان‌های تجمیع‌شده اضافه می‌کند.

در زیر یک پیاده‌سازی عملی با استفاده از کتابخانه Opacus ارائه شده است، که ابزاری محبوب برای آموزش مدل‌های PyTorch با حریم خصوصی تفاضلی است.

import torch
from opacus import PrivacyEngine
from torch.utils.data import DataLoader

# فرض کنید `model` هسته ای‌ال‌ام از پیش آموزش‌دیده شماست
# فرض کنید `train_loader` شامل دسته‌هایی از داده‌های چندمستأجره است

# راه‌اندازی موتور حریم خصوصی
# ما اپسیلون (بودجه حریم خصوصی) و دلتا را برای تضمین‌های نظری تنظیم می‌کنیم
privacy_engine = PrivacyEngine(
    model,
    batch_size=32,
    sample_rate=1.0,
    max_grad_norm=1.0,  # محدود کردن گرادیان‌ها برای کاهش تأثیر
    noise_multiplier=1.5,  # میزان نویز اضافه شده
)

# اتصال موتور حریم خصوصی به مدل
model, optimizer, train_loader = privacy_engine.make_private_with_epsilon(
    module=model,
    optimizer=optimizer,
    data_loader=train_loader,
    target_epsilon=1.0,  # بودجه حریم خصوصی هدف
    target_delta=1e-5,
    epochs=3
)

# ادامه با حلقه آموزش استاندارد
for epoch in range(3):
    for batch in train_loader:
        inputs, labels = batch
        optimizer.zero_grad()
        outputs = model(inputs)
        loss = criterion(outputs, labels)
        loss.backward()
        optimizer.step()

کاهش نشت داده در زمان استنتاج

در حالی که DP-SGD فاز آموزش را ایمن می‌کند، استنتاج نیز می‌تواند از طریق توکن‌های خروجی داده را نشت دهد. برای کاهش این موضوع در استقرار چندمستأجره، در نظر بگیرید که اغتشاش خروجی یا تکنیک‌های پس‌پردازش را پیاده‌سازی کنید. یکی از راهبردهای مؤثر، افزودن نویز به لگاریتم احتمالات توکن‌های تولید شده قبل از نمونه‌برداری است، تا تضمین شود که توزیع احتمال، نمونه‌های آموزشی خاص را فاش نمی‌کند.

نتیجه‌گیری

ساخت سیستم‌های ای‌ال‌ام چندمستأجره امن فراتر از جداسازی شبکه نیاز دارد. با ادغام حریم خصوصی تفاضلی در هر دو خط لوله آموزش و استنتاج، سازمان‌ها می‌توانند حریم خصوصی داده‌ها را به صورت ریاضی تضمین کنند. این رویکرد نه تنها از نشت داده جلوگیری می‌کند، بلکه اعتماد مشتریان سازمانی را که انطباق سخت‌گیرانه با قوانین حاکمیت داده و حریم خصوصی را طلب می‌کنند، جلب می‌نماید. با تحولات در چشم‌انداز هوش مصنوعی، حریم خصوصی تفاضلی باید به عنوان یک جزء بنیادین در هر استقرار ای‌ال‌ام در سطح تولید در نظر گرفته شود.

Share: