راهنمایی‌های ایمنی و واقعیت‌سنجی

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

مدل‌های ارائه شده توسط Gemini API می‌توانند برای طیف گسترده‌ای از برنامه‌های هوش مصنوعی مولد و پردازش زبان طبیعی (NLP) مورد استفاده قرار گیرند. استفاده از این توابع فقط از طریق Gemini API یا برنامه وب Google AI Studio در دسترس است. استفاده شما از Gemini API همچنین تابع سیاست استفاده ممنوعه از Generative AI و شرایط خدمات Gemini API است.

بخشی از آنچه مدل‌های زبان بزرگ (LLM) را بسیار مفید می‌کند این است که آنها ابزارهای خلاقانه‌ای هستند که می‌توانند وظایف زبانی مختلفی را انجام دهند. متأسفانه، این همچنین به این معنی است که مدل‌های زبان بزرگ می‌توانند خروجی‌هایی تولید کنند که انتظار ندارید، از جمله متنی توهین‌آمیز، غیرحساس یا نادرست از نظر واقعیت. علاوه بر این، تطبیق‌پذیری باورنکردنی این مدل‌ها، پیش‌بینی دقیق نوع خروجی نامطلوبی که ممکن است تولید کنند را دشوار می‌کند. در حالی که API Gemini با در نظر گرفتن اصول هوش مصنوعی گوگل طراحی شده است، وظیفه توسعه‌دهندگان است که این مدل‌ها را با مسئولیت‌پذیری به کار گیرند. برای کمک به توسعه‌دهندگان در ایجاد برنامه‌های ایمن و مسئولانه، API Gemini دارای برخی فیلترهای محتوای داخلی و همچنین تنظیمات ایمنی قابل تنظیم در 4 بعد آسیب است. برای کسب اطلاعات بیشتر به راهنمای تنظیمات ایمنی مراجعه کنید. همچنین Grounding با جستجوی گوگل فعال را برای بهبود واقعیت ارائه می‌دهد، اگرچه این ممکن است برای توسعه‌دهندگانی که موارد استفاده آنها خلاقانه‌تر است و نه جستجوی اطلاعات، غیرفعال شود.

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

مراحل زیر هنگام ساخت برنامه های کاربردی با LLM توصیه می شود:

  • درک خطرات ایمنی برنامه شما
  • در نظر گرفتن تنظیمات برای کاهش خطرات ایمنی
  • انجام آزمایش‌های ایمنی متناسب با مورد استفاده شما
  • درخواست بازخورد از کاربران و نظارت بر نحوه‌ی استفاده

مراحل تنظیم و آزمایش باید تا زمانی که به عملکرد مناسب برای برنامه خود برسید، تکرار شوند.

چرخه پیاده‌سازی مدل

خطرات امنیتی برنامه خود را درک کنید

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

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

نکات پیشرفته

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

برای کاهش خطرات ایمنی و واقعیت، تنظیماتی را در نظر بگیرید

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

برای مثال، هنگام طراحی یک برنامه، موارد زیر را در نظر بگیرید:

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

  • استفاده از طبقه‌بندی‌کننده‌های آموزش‌دیده برای برچسب‌گذاری هر درخواست با آسیب‌های احتمالی یا سیگنال‌های خصمانه. سپس می‌توان استراتژی‌های مختلفی را برای نحوه رسیدگی به درخواست بر اساس نوع آسیب شناسایی‌شده به کار برد. به عنوان مثال، اگر ورودی آشکارا خصمانه یا توهین‌آمیز باشد، می‌توان آن را مسدود کرد و در عوض یک پاسخ از پیش نوشته شده ارائه داد.

    نکته پیشرفته

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

  • ایجاد تمهیدات حفاظتی در برابر سوءاستفاده عمدی مانند اختصاص یک شناسه منحصر به فرد به هر کاربر و اعمال محدودیت بر حجم پرس‌وجوهای کاربر که می‌توانند در یک دوره معین ارسال شوند. یکی دیگر از تمهیدات حفاظتی، تلاش برای محافظت در برابر تزریق سریع احتمالی است. تزریق سریع، دقیقاً مانند تزریق SQL، راهی برای کاربران مخرب است تا یک اعلان ورودی طراحی کنند که خروجی مدل را دستکاری می‌کند، به عنوان مثال، با ارسال یک اعلان ورودی که به مدل دستور می‌دهد هرگونه مثال قبلی را نادیده بگیرد. برای جزئیات بیشتر در مورد سوءاستفاده عمدی، به سیاست استفاده ممنوعه از هوش مصنوعی مولد مراجعه کنید.

  • تنظیم عملکرد به چیزی که ذاتاً ریسک کمتری دارد. وظایفی که دامنه محدودتری دارند (مثلاً استخراج کلمات کلیدی از متن) یا وظایفی که نظارت انسانی بیشتری دارند (مثلاً تولید محتوای کوتاه که توسط یک انسان بررسی می‌شود)، اغلب ریسک کمتری دارند. بنابراین، برای مثال، به جای ایجاد یک برنامه برای نوشتن پاسخ ایمیل از ابتدا، می‌توانید آن را به گسترش یک طرح کلی یا پیشنهاد عبارات جایگزین محدود کنید.

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

  • با فعال کردن Grounding with Google Search، اشتباهات یا توهمات احتمالی در مورد واقعیت را کاهش دهید . به یاد داشته باشید، بسیاری از مدل‌های هوش مصنوعی آزمایشی هستند و ممکن است اطلاعات نادرستی را ارائه دهند، توهم ایجاد کنند یا خروجی‌های مشکل‌ساز تولید کنند. ویژگی Grounding with Google Search، مدل Gemini را به محتوای وب در زمان واقعی متصل می‌کند و با تمام زبان‌های موجود کار می‌کند. این به Gemini اجازه می‌دهد تا پاسخ‌های دقیق‌تری ارائه دهد و منابع قابل تأییدی را فراتر از محدودیت دانش مدل‌ها ذکر کند.

انجام آزمایش‌های ایمنی متناسب با مورد استفاده شما

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

حتی برای برنامه‌هایی که ریسک نسبتاً کمی دارند، انجام چندین مرحله‌ی ایجاد تغییرات و آزمایش قبل از اطمینان از آماده بودن برای راه‌اندازی، غیرمعمول نیست. دو نوع آزمایش به ویژه برای برنامه‌های هوش مصنوعی مفید هستند:

  • معیارسنجی ایمنی شامل طراحی معیارهای ایمنی است که منعکس‌کننده‌ی راه‌هایی هستند که برنامه شما می‌تواند در چارچوب نحوه‌ی استفاده‌ی احتمالی از آن، ناامن باشد، و سپس آزمایش عملکرد برنامه‌ی شما بر اساس این معیارها با استفاده از مجموعه داده‌های ارزیابی. خوب است که قبل از آزمایش، در مورد حداقل سطوح قابل قبول معیارهای ایمنی فکر کنید تا ۱) بتوانید نتایج آزمایش را در برابر آن انتظارات ارزیابی کنید و ۲) بتوانید مجموعه داده‌های ارزیابی را بر اساس آزمایش‌هایی که معیارهای مورد نظر شما را ارزیابی می‌کنند، جمع‌آوری کنید.

    نکات پیشرفته

    • از تکیه بیش از حد بر رویکردهای «آماده» برحذر باشید، زیرا احتمالاً باید مجموعه داده‌های آزمایشی خود را با استفاده از ارزیاب‌های انسانی بسازید تا کاملاً با زمینه برنامه شما مطابقت داشته باشد.
    • اگر بیش از یک معیار دارید، باید تصمیم بگیرید که اگر تغییری منجر به بهبود یک معیار به ضرر معیار دیگر شود، چگونه آن را متعادل می‌کنید. مانند سایر مهندسی عملکرد، ممکن است بخواهید به جای عملکرد متوسط، روی بدترین حالت عملکرد در مجموعه ارزیابی خود تمرکز کنید.
  • تست تخاصمی شامل تلاش پیشگیرانه برای شکستن برنامه شما است. هدف، شناسایی نقاط ضعف است تا بتوانید در صورت لزوم اقداماتی را برای رفع آنها انجام دهید. تست تخاصمی می‌تواند زمان/تلاش قابل توجهی را از ارزیابان متخصص در برنامه شما بگیرد - اما هر چه بیشتر این کار را انجام دهید، شانس شما برای تشخیص مشکلات، به ویژه مواردی که به ندرت یا فقط پس از اجرای مکرر برنامه رخ می‌دهند، بیشتر می‌شود.

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

      نکات پیشرفته

      • به جای روش سنتی استخدام افراد در «تیم‌های قرمز» برای تلاش جهت شکستن برنامه‌تان، از تست خودکار استفاده کنید. در تست خودکار، «تیم قرمز» مدل زبانی دیگری است که متن ورودی را پیدا می‌کند که خروجی‌های مضری را از مدل مورد آزمایش استخراج می‌کند.

نظارت بر مشکلات

مهم نیست چقدر آزمایش و رفع اشکال کنید، هرگز نمی‌توانید کمال را تضمین کنید، بنابراین از قبل برنامه‌ریزی کنید که چگونه مشکلات پیش آمده را شناسایی و با آنها برخورد خواهید کرد. رویکردهای رایج شامل راه‌اندازی یک کانال نظارت‌شده برای کاربران جهت به اشتراک گذاشتن بازخورد (مثلاً امتیاز مثبت/منفی) و اجرای یک مطالعه کاربری برای درخواست فعال بازخورد از طیف متنوعی از کاربران است - به‌ویژه اگر الگوهای استفاده با انتظارات متفاوت باشند، ارزشمند است.

نکات پیشرفته

  • وقتی کاربران به محصولات هوش مصنوعی بازخورد می‌دهند، این امر می‌تواند عملکرد هوش مصنوعی و تجربه کاربری را در طول زمان تا حد زیادی بهبود بخشد، به عنوان مثال، به شما کمک می‌کند تا نمونه‌های بهتری را برای تنظیم سریع انتخاب کنید. فصل «بازخورد و کنترل» در کتاب راهنمای «مردم و هوش مصنوعی» گوگل، ملاحظات کلیدی را که باید هنگام طراحی مکانیسم‌های بازخورد در نظر گرفته شوند، برجسته می‌کند.

مراحل بعدی