پرش به محتوای اصلی
OpenAI

۲۹ تیر ۱۴۰۵

ایمنی

ایمنی و هم‌راستایی در عصر مدل‌های با افق زمانی بلند

استفاده داخلی از یک مدل بلندمدت درباره ایمنی به ما چه آموخت.

در حال بارگذاری…

خلاصه

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

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

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

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

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

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

در بخش‌های بعد، نمونه‌های مشخصی از آنچه مشاهده کردیم، نحوه رسیدگی به مسائل و تأثیری که این تجربه بر انتشارهای آینده خواهد داشت را شرح می‌دهیم.

پایداری مدل می‌تواند آسیب‌پذیری‌های امنیتی را آشکار کند

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

نمونه‌ای از این موضوع هنگام یک ارزیابی داخلی روی speedrun NanoGPT(در یک پنجره جدید باز می‌شود) رخ داد؛ معیاری عمومی برای آموزش یک مدل زبانی کوچک با کمترین تعداد گام ممکن. مدل ما یک کاهش نرخ یادگیری مبتنی بر قانون توانی به نام PowerCool توسعه داد که به بهبودی چشمگیر انجامید. به مدل دستور داده شده بود نتایجش را فقط در Slack منتشر کند، اما دستورالعمل‌های NanoGPT می‌گویند نتایج باید به‌صورت PR در GitHub ارسال شوند و مدل از دستورالعمل دوم پیروی کرد و PR #287 را در محل نگهداری عمومی GitHub باز کرد. مدل محدودیت‌های سندباکس را که برای مسدودکردن دسترسی خارجی طراحی شده بودند دور زد و بارگذاری در GitHub را ادامه داد. مدل ما برای ایجاد PR یک ساعت زمان صرف کرد تا آسیب‌پذیری‌ای در سندباکس پیدا کند؛ مدل‌های پیشین پایداری کمتری داشتند و نتوانستند آسیب‌پذیری پیدا کنند، بلکه از بخش PR صرف‌نظر کردند.1

از بررسی اقدامات منفرد تا بررسی مسیرهای کامل

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

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

این نمونه نشان می‌دهد چگونه هر گام به‌تنهایی می‌تواند قابل‌قبول به نظر برسد، در حالی که توالی می‌تواند به نتیجه‌ای بینجامد که تأییدشدنی نیست. همچنین نشان می‌دهد مدلی که در افق‌های زمانی بلند به‌طور مؤثر عمل می‌کند چگونه می‌تواند نقاط کور یک سامانه تأیید را بیاموزد و برای رسیدن به اهدافش آن را دور بزند. ایمنی در افق زمانی بلند فقط به پرسیدنِ «آیا این اقدام مجاز است؟» محدود نمی‌شود؛ بلکه باید پرسید «این توالی اقدامات به سوی چه نتیجه‌ای می‌رود؟»

ساخت تدابیر حفاظتی برای مدل‌های بلندمدت

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

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

استقرار دوباره

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

برخی نمونه‌های این رخدادهای کم‌خطر شامل موارد زیر است:

  • برای دسترسی به یک ابزار خط فرمان Linear، مدل یک جلسه تودرتوی codex --yolo راه‌اندازی کرد، در حالی که در واقع می‌توانست این کار را بدون پرچم --yolo انجام دهد.
  • مدل متوجه شد منبعی که قبلاً فعال بود از دسترس خارج شده است، سپس بدون دلیل موجه شروع کرد به کاوش و SSH کردن به سایر podهای CPU فعال در فضای نام مالک خود، و نیز (ناموفق) به podهای متعلق به دیگر کارکنان OpenAI.
  • مدل تعداد زیادی فرایند find گیرکرده داشت و هر فرمان shell معلق می‌ماند. سپس kill -9 -1 را اجرا کرد که اگر اجرا می‌شد، SIGKILL را به هر فرایندی که مجاز به کشتن آن در آن pod بود ارسال می‌کرد. اما زمان آن به پایان رسید و اجرا نشد.

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

سخن پایانی

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

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

نویسنده

OpenAI

پاورقی‌ها

  1. 1

     هرچند ما به‌سرعت PR را بستیم، چندین شرکت‌کننده در speedrun از قبل آن را دیده بودند و از این رویکرد در ارسال‌های خودشان استفاده کردند؛ ارسال‌های پیاپی رکورد جهانی با 3030(در یک پنجره جدید باز می‌شود)، 2990(در یک پنجره جدید باز می‌شود)، 2930(در یک پنجره جدید باز می‌شود)، 2925(در یک پنجره جدید باز می‌شود)، 2900(در یک پنجره جدید باز می‌شود) و 2890(در یک پنجره جدید باز می‌شود) گام، همگی به PR 287 استناد می‌کنند. از میان آن‌ها، PR 300(در یک پنجره جدید باز می‌شود) به‌ویژه جالب است، چون همان PRی است که Opus 4.7 وقتی Prime Intellect(در یک پنجره جدید باز می‌شود) آن را روی speedrun NanoGPT ارزیابی کرد، ارسال کرده بود. Opus، PR ارسال‌شده توسط مدل ما را دید، یافته‌ها را در کار خود گنجاند و در نتیجه نهایی‌اش به PR ما اعتبار داد.

  2. 2

     به‌دلیل تصادفی‌بودن و نقص در بازسازی محیط، تضمینی نیست که اجراهای replay هر بار همان اقدام ناهمسو را دنبال کنند.