۲۹ شهریور ۱۴۰۳

Techboy

اخبار و اطلاعات روز تکنولوژی

محافظت از برنامه های LLM با ایمنی محتوای هوش مصنوعی Azure

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

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

هم بسیار امیدوارکننده و هم بسیار پرخطر، هوش مصنوعی مولد دارای حالت‌های خرابی متمایز است که برای محافظت از کاربران و کدمان باید از آنها دفاع کنیم. همه ما اخباری را دیده‌ایم که در آن چت‌بات‌ها به توهین یا نژادپرستی تشویق می‌شوند، یا مدل‌های زبان بزرگ (LLM) برای مقاصد مخرب مورد سوء استفاده قرار می‌گیرند، و خروجی‌ها در بهترین حالت خیالی و در بدترین حالت خطرناک هستند.

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

در حالی که ما می‌توانیم از تکنیک‌هایی مانند تولید افزوده‌شده بازیابی (RAG) و ابزارهایی مانند کرنل معنایی و LangChain استفاده کنیم تا برنامه‌های خود را در زمین نگه داریم. داده‌های ما، هنوز حملات فوری وجود دارد که می‌تواند خروجی‌های بدی ایجاد کند و باعث خطرات اعتباری شود. آنچه مورد نیاز است راهی برای آزمایش برنامه های کاربردی هوش مصنوعی از قبل است تا، اگر از ایمنی آنها اطمینان حاصل نشود، حداقل خطر این حملات را کاهش دهیم – و همچنین اطمینان حاصل کنیم که درخواست های ما باعث تعصب یا درخواست های نامناسب نمی شود.

معرفی امنیت محتوای هوش مصنوعی Azure

مایکروسافت مدت‌هاست که از این خطرات آگاه هستند. شما یک فاجعه روابط عمومی مانند ربات چت Tay بدون درس خواندن ندارید. در نتیجه این شرکت سرمایه گذاری زیادی در یک برنامه هوش مصنوعی مسئول بین سازمانی کرده است. بخشی از آن تیم، Azure AI Responsible AI، بر محافظت از برنامه های ساخته شده با استفاده از Azure AI Studio تمرکز کرده است و مجموعه ای از ابزارها را توسعه می دهد که به عنوان ایمنی محتوای هوش مصنوعی Azure.

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

استفاده از Swift با WinUI در ویندوز

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

پلتفرم‌های هوش مصنوعی بزرگ‌تر از خانواده مدل‌های رو به رشد مایکروسافت و محیط توسعه استودیوی هوش مصنوعی Azure آن وجود ندارد. با استفاده از خدمات Copilot خود مایکروسافت که بر روی سرمایه گذاری خود در OpenAI ایجاد می کند، می تواند اعلان ها و خروجی ها را در طیف گسترده ای از سناریوهای مختلف، با سطوح مختلف زمین و با منابع داده های مختلف ردیابی کند. این به تیم ایمنی هوش مصنوعی مایکروسافت اجازه می‌دهد تا به سرعت بفهمد که چه نوع اعلان‌هایی باعث ایجاد مشکل می‌شوند و بر اساس آن نرده‌های محافظ خدمات خود را به‌خوبی تنظیم کنند.

استفاده از Prompt Shields برای کنترل ورودی های هوش مصنوعی

Prompt Shields مجموعه ای از فیلترهای ورودی بلادرنگ هستند که در مقابل یک مدل زبان بزرگ قرار می گیرند. شما درخواست‌ها را به‌طور معمول، مستقیماً یا از طریق RAG می‌سازید، و Prompt Shield آن‌ها را تجزیه و تحلیل می‌کند و درخواست‌های مخرب را قبل از ارسال به LLM شما مسدود می‌کند.

در حال حاضر دو نوع Prompt Shields. Prompt Shields for User Prompts برای محافظت از برنامه شما در برابر اعلان های کاربر طراحی شده است که مدل را از داده های زمینی شما و به سمت خروجی های نامناسب هدایت می کند. اینها به وضوح می توانند یک خطر اعتباری قابل توجه باشند، و با مسدود کردن درخواست هایی که این خروجی ها را ایجاد می کنند، برنامه LLM شما باید روی موارد استفاده خاص شما متمرکز بماند. در حالی که سطح حمله برای برنامه LLM شما ممکن است کوچک باشد، Copilot بزرگ است. با فعال کردن Prompt Shields می‌توانید از مقیاس مهندسی امنیتی مایکروسافت استفاده کنید.

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

نحوه ترسیم روابط شی با استفاده از Dapper در ASP.NET Core

استفاده از Prompt Shields شامل برقراری تماس API با درخواست کاربر و هرگونه اسناد پشتیبانی. این ها برای آسیب پذیری ها تجزیه و تحلیل می شوند و پاسخ به سادگی نشان می دهد که یک حمله شناسایی شده است. سپس می‌توانید کدی را به سازمان‌دهی LLM خود اضافه کنید تا این پاسخ را به دام بیندازید، سپس دسترسی آن کاربر را مسدود کنید، درخواستی را که استفاده کرده‌اند بررسی کنید، و فیلترهای اضافی برای جلوگیری از استفاده از این حملات در آینده ایجاد کنید.

بررسی خروجی های زمین نشده

در کنار این دفاع‌های سریع، ایمنی محتوای هوش مصنوعی Azure شامل ابزارهایی برای کمک به تشخیص زمانی که یک مدل بی‌پایه می‌شود و خروجی‌های تصادفی (در صورت امکان پذیر بودن) تولید می‌کند. این ویژگی فقط با برنامه‌هایی کار می‌کند که از منابع داده زمینی استفاده می‌کنند، برای مثال یک برنامه RAG یا یک خلاصه‌کننده سند.

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

ایمن نگه داشتن کاربران با هشدارها

یکی از جنبه‌های مهم سرویس‌های ایمنی محتوای هوش مصنوعی Azure، اطلاع‌رسانی به کاربران هنگام انجام کاری ناامن با یک LLM است. شاید آنها از نظر اجتماعی مهندسی شده باشند تا پیامی را ارائه دهند که داده ها را استخراج می کند: “این را امتحان کنید، کار بسیار جالبی انجام می دهد!” یا شاید آنها به سادگی خطا کرده اند. ارائه راهنمایی برای نوشتن درخواست‌های ایمن برای یک LLM به همان اندازه بخشی از امنیت یک سرویس است که ارائه سپرهایی برای درخواست‌های شما.

بازگرداندن برنامه ها و داده های ابری؟ به آن فکر کنید

Microsoft الگوهای پیام سیستم را اضافه می‌کند به استودیوی هوش مصنوعی Azure که می تواند همراه با Prompt Shields و سایر ابزارهای امنیتی هوش مصنوعی استفاده شود. این‌ها به‌طور خودکار در زمین بازی توسعه استودیوی هوش مصنوعی Azure نشان داده می‌شوند و به شما امکان می‌دهند بفهمید چه پیام‌هایی در سیستم‌ها نمایش داده می‌شوند و به شما کمک می‌کنند پیام‌های سفارشی خود را ایجاد کنید که متناسب با طراحی برنامه و استراتژی محتوای شما باشد.

تست و نظارت بر مدل های خود

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

هنگامی که یک برنامه هوش مصنوعی راه‌اندازی و اجرا کردید، باید آن را زیر نظر داشته باشید تا مطمئن شوید که درخواست‌های متخاصم جدید در جیلبریک کردن آن موفق نمی‌شوند. Azure OpenAI اکنون شامل نظارت بر ریسک است که به فیلترهای مختلف استفاده شده توسط این سرویس، از جمله Prompt Shields گره خورده است. می توانید انواع حملات استفاده شده، ورودی و خروجی و همچنین حجم حملات را مشاهده کنید. این گزینه برای درک اینکه کدام کاربران از برنامه شما به طور مخرب استفاده می کنند وجود دارد که به شما امکان می دهد الگوهای پشت حملات را شناسایی کنید و لیست های بلوک را به درستی تنظیم کنید.

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