SWE-Prime نشان می‌دهد که آموزش بر روی ۱۰٪ از اجراهای «pass» که با دقت انتخاب شده‌اند، منجر به تولید عامل‌های هوش مصنوعی قدرتمندتری می‌شود تا زمانی که تمام مسیرهای (trajectories) موفق به مدل داده شوند؛ این موضوع عادت دیرینه به استفاده از برچسب «pass» به عنوان یک فیلتر کیفی قابل اعتماد را زیر سوال می‌برد.

این نتیجه برای هر کسی که در حال ساخت عامل‌های تولید کد یا عیب‌یابی خودکار است، اهمیت دارد: داده‌های بیشتر لزوماً به معنای عملکرد بهتر نیست، و اتکای ساده‌لوحانه به یک پرچم باینری pass/fail می‌تواند در واقع به مدل‌ها بیاموزد که سردرگم شوند، فراخوانی‌های ابزار بی‌فایده را تکرار کنند و به جای استدلال، به شانس وابسته باشند.

چرا به پرچم «pass» اعتماد شده است

در اکثر خط‌لوله‌های یادگیری تقویتی از بازخورد انسانی (RLHF)، مهندسان یک مسیر (trajectory) — یعنی توالی کاملی از مشاهدات، اقدامات و فراخوانی‌های ابزار — را زمانی که نتیجه نهایی با معیارهای تست مطابقت دارد، به عنوان «pass» برچسب‌گذاری می‌کنند. فرض ساده است: اگر عامل موفق شده باشد، کل آن اپیزود باید حاوی رفتار مفید باشد. بنابراین، آن‌ها هر اجرای موفق را در مجموعه آموزشی می‌ریزند، با این امید که مدل الگوهایی را که منجر به موفقیت شده‌اند، جذب کند.

این فرض ماه‌هاست که هدایت‌گر جمع‌آوری داده‌های در مقیاس بزرگ برای عامل‌های مهندسی نرم‌افزار (SWE) بوده است. منطق آن محکم به نظر می‌رسد: یک pass نشان می‌دهد که عامل مسئله را حل کرده است، بنابراین اپیزود باید سیاست‌هایی (policies) را که باعث آن شده‌اند، تقویت کند.

تفاوت رویکرد SWE-Prime

مطالعه SWE-Prime بازی را عوض کرد. محققان یک بنچمارک استاندارد از وظایف کدنویسی را گرفتند و اجراهای موفق را به دو گروه تقسیم کردند:

  1. تمام مسیرهای pass – مجموعه آموزشی متداول، شامل هر اپیزودی که با تست مطابقت داشته است.
  2. یک زیرمجموعه منتخب ۱۰ درصدی – که از کل مجموعه با دقت انتخاب شده است.

هر دو گروه، معماری‌های مدل یکسانی را بازتنظیم (fine-tune) کردند. هنگام ارزیابی روی مسائل نگه داشته شده (held-out)، مدلی که روی زیرمجموعه منتخب آموزش دیده بود، از همتای خود که روی مجموعه کامل pass آموزش دیده بود، عملکرد بهتری داشت.

الگوهایی که برچسب «pass» را مخدوش می‌کنند

این مطالعه چندین حالت شکست مکرر را که پشت پرچم pass پنهان شده بودند، فهرست کرد:

  • تکرار بی‌رویه فراخوانی ابزار (tool spamming) – یک عامل ممکن است ده‌ها بار یک کامپایلر یا لینتر (linter) یکسان را فراخوانی کند تا در نهایت به خروجی صحیح برسد. موفقیت نهایی، ناکارآمدی را پنهان می‌کند.
  • مراحل طولانی و سردرگم‌کننده – عامل‌ها گاهی اوقات قبل از رسیدن به راه حل درست، پنج مرحله یا بیشتر را با گام‌های بی‌ربط طی می‌کنند. اپیزود همچنان با یک pass پایان می‌یابد، اما بیشتر مسیر هیچ ارزش آموزشی ندارد.
  • تست‌های بدیهی – برخی بنچمارک‌ها آنقدر آسان هستند که یک عامل می‌تواند تنها با یک حدس یا با سوءاستفاده از یک حفره (loophole) موفق شود. برچسب pass تفاوتی بین استدلال واقعی و شانس قائل نمی‌شود.

وقتی چنین اپیزودهایی دوباره وارد حلقه آموزش می‌شوند، مدل یاد می‌گیرد که سردرگمی‌های تصادفی و استفاده بیش از حد از ابزار را با موفقیت مرتبط بداند. در واقع، عامل یک روش میان‌بر (heuristic) با عنوان «به تلاش ادامه بده تا زمانی که چیزی کار کند» را درونی می‌کند که برای سیستم‌های سطح تولید (production-grade) که به کارایی و تفسیرپذیری نیاز دارند، نامطلوب است.

کیفیت در سطح بخش (segment) در مقابل نتیجه در سطح مسیر (trajectory)

یک بینش کلیدی از SWE-Prime، تمایز بین نتیجه کلی یک مسیر و کیفیت بخش‌های تشکیل‌دهنده آن است. یک مسیر (trajectory) یک برچسب کلی است: به شما می‌گوید که آیا پاسخ نهایی درست بوده است یا خیر، اما فرآیند تصمیم‌گیری داخلی را پنهان می‌کند. این مطالعه مشاهده کرد:

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

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

مزایای هزینه و سرعت

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

چالش انتخاب و سازماندهی (curation)

بزرگترین مانع برای پذیرش این رویکرد، تعریف این است که چه چیزی به عنوان یک «بخش خوب» محسوب می‌شود. تیم SWE-Prime خاطرنشان کرد که امتیازدهی به بخش‌ها بدون یک مدل پاداش (reward model) گران‌قیمت دشوار است و به یک معیار هوشمندانه و سبک نیاز دارد.

نتیجه‌گیری

SWE-Prime نشان می‌دهد که یک پرچم باینری «آزمون را با موفقیت گذراند»، فیلتر غیرقابل‌اعتمادی برای داده‌های آموزشی است. توسعه‌دهندگان می‌توانند با حذف اپیزودهای پراکنده، فراخوانی‌های زائد ابزار و اجراهای بسیار ساده، عامل‌های توانمندتر و کارآمدتری را آموزش دهند و در عین حال هزینه‌های محاسباتی را کاهش دهند. درس روشن است: کیفیت مهم‌تر از حجم است و مسیر رسیدن به عامل‌های AI هوشمندتر در ارزیابی دقیقِ آنچه هر مرحله واقعاً به فرآیند اضافه می‌کند، نهفته است.