آیا مدل های زبان بزرگ می توانند اشتباهات خود را شناسایی و اصلاح کنند؟ – وبلاگ تحقیقاتی گوگل

آیا مدل های زبان بزرگ می توانند اشتباهات خود را شناسایی و اصلاح کنند؟  – وبلاگ تحقیقاتی گوگل

LLM ها به طور فزاینده ای برای کارهای استدلالی مانند QA چند نوبتی، تکمیل کار، تولید کد یا ریاضیات محبوب هستند. با این حال، مانند مردم، آنها همیشه در اولین تلاش مشکلات را به درستی حل نمی کنند، به ویژه در مورد کارهایی که برای آنها آموزش ندیده اند. بنابراین، برای اینکه چنین سیستم‌هایی بیشترین کاربرد را داشته باشند، باید بتوانند 1) شناسایی کنند که استدلالشان در کجا اشتباه بوده است و 2) برای یافتن راه‌حل دیگری به عقب برگردند.

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

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

  1. آیا LLM ها می توانند اشتباهات منطقی را در استدلال سبک زنجیره ای از فکر (CoT) پیدا کنند؟
  2. آیا می توان از اشتباه یابی به عنوان نماینده ای برای صحت استفاده کرد؟
  3. با دانستن اینکه اشتباه کجاست، آیا می‌توان از LLM‌ها خواسته شود که به عقب برگردند و به پاسخ صحیح برسند؟
  4. آیا یافتن اشتباه به عنوان یک مهارت می تواند به وظایفی که LLM ها هرگز ندیده اند تعمیم دهد؟

درباره مجموعه داده ما

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

برای ارزیابی توانایی LLM ها در استدلال درباره اشتباهات خارج از حوزه ریاضی، مجموعه داده جدیدی را برای استفاده توسط جامعه تحقیقاتی تولید می کنیم، به نام اشتباه بزرگ. این مجموعه داده شامل ردیابی زنجیره‌ای از فکر است که با استفاده از PalM 2 در پنج کار در BIG-Bench ایجاد شده است. هر ردیابی با محل اولین اشتباه منطقی حاشیه نویسی می شود.

برای به حداکثر رساندن تعداد اشتباهات در مجموعه داده ما، 255 ردیابی را در جایی که پاسخ نادرست است (بنابراین می دانیم که قطعاً یک اشتباه وجود دارد) و 45 ردیابی را که در آن پاسخ صحیح است (بنابراین ممکن است اشتباه باشد یا ممکن است وجود نداشته باشد) نمونه برداری می کنیم. سپس از برچسب‌زنان انسانی می‌خواهیم که از هر ردیابی عبور کرده و اولین مرحله اشتباه را شناسایی کنند. هر ردیابی توسط حداقل سه برچسب‌گذار حاشیه‌نویسی شده است که پاسخ‌های آنها دارای سطوح پایایی بین ارزیاب‌های >0.98 (با استفاده از α کریپندورف) بودند. برچسب‌گذاری برای همه وظایف به جز وظیفه Dyck Languages ​​انجام شد، که شامل پیش‌بینی ترتیب بسته شدن پرانتز برای یک دنباله ورودی معین است. این کار را به صورت الگوریتمی برچسب گذاری کردیم.

خطاهای منطقی ایجاد شده در این مجموعه داده ساده و بدون ابهام هستند و معیار خوبی برای آزمایش توانایی LLM برای یافتن اشتباهات خود قبل از استفاده از آنها در کارهای سخت تر و مبهم تر است.

سوالات اصلی در مورد شناسایی اشتباه

1. آیا LLM ها می توانند اشتباهات منطقی را در استدلال سبک زنجیره ای از فکر بیابند؟

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

به طور کلی، ما متوجه شدیم که این مدل های پیشرفته عملکرد ضعیفی دارند و بهترین مدل به طور کلی 52.9٪ دقت را به دست می آورد. از این رو، نیاز به بهبود توانایی LLM در این زمینه استدلال وجود دارد.

در آزمایش‌های خود، سه روش مختلف را امتحان می‌کنیم: مستقیم (ردیابی)، مستقیم (گام) و CoT (گام). در دایرکت (trace) ردیابی را در اختیار LLM قرار می دهیم و مرحله مکان اشتباه یا را می خواهیم بدون اشتباه. به صورت مستقیم (مرحله ای)، از LLM می خواهیم که این سوال را برای هر مرحله از خود بپرسد. در CoT (مرحله)، از LLM می‌خواهیم تا دلیل خود را برای اشتباه بودن یا نبودن هر مرحله بیان کند.

نموداری که سه روش تحریک مستقیم (ردیابی)، مستقیم (گام) و CoT (گام) را نشان می‌دهد.

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

2. آیا می توان از اشتباه یابی به عنوان نماینده صحت پاسخ استفاده کرد؟

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

در حالی که ما فرض کردیم که این برای LLM ها به طور مشابه کار می کند، متوجه شدیم که این یک استراتژی ضعیف است. در مجموعه داده ما از 85٪ ردیابی نادرست و 15٪ ردیابی صحیح، استفاده از این روش خیلی بهتر از استراتژی ساده و ساده برچسب زدن همیشه ردیابی ها به عنوان نادرست نیست، که میانگین وزنی F1 78 را به دست می دهد.

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

3. آیا LLM ها می توانند با دانستن اینکه خطا در کجاست به عقب برگردند؟

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

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

ما روش عقب نشینی زیر را پیشنهاد می کنیم:

  1. ردیابی CoT را طبق معمول، در دمای = 0 ایجاد کنید. (دما پارامتری است که تصادفی بودن پاسخ‌های تولید شده را کنترل می‌کند، با مقادیر بالاتر خروجی‌های متنوع‌تر و خلاقانه‌تر تولید می‌کند، معمولاً به قیمت کیفیت.)
  2. محل اولین اشتباه منطقی را شناسایی کنید (مثلاً با یک طبقه‌بندی کننده، یا در اینجا فقط از برچسب‌هایی از مجموعه داده خود استفاده می‌کنیم).
  3. مرحله اشتباه را در دمای = 1 دوباره تولید کنید و مجموعه ای از هشت خروجی را تولید کنید. از آنجایی که خروجی اصلی منجر به نتایج نادرست می شود، هدف یافتن یک نسل جایگزین در این مرحله است که به طور قابل توجهی با نسخه اصلی متفاوت است.
  4. از بین این هشت خروجی، یکی را انتخاب کنید که با مرحله اشتباه اصلی متفاوت باشد. (ما در اینجا فقط از تطبیق دقیق استفاده می کنیم، اما در آینده این می تواند چیزی پیچیده تر باشد.)
  5. با استفاده از مرحله جدید، بقیه ردیابی را به طور معمول در دمای = 0 ایجاد کنید.

این یک روش بسیار ساده است که نیازی به ساخت سریع اضافی ندارد و از ایجاد مجدد کل ردیابی جلوگیری می کند. ما آن را با استفاده از داده های مکان اشتباه از BIG-Bench Mistake آزمایش می کنیم و متوجه می شویم که می تواند خطاهای CoT را اصلاح کند.

کار اخیر نشان داد که روش‌های تصحیح خود، مانند Reflexion و RCI، باعث بدتر شدن نمرات دقت می‌شوند، زیرا پاسخ‌های صحیح بیشتری نسبت به نادرست شدن پاسخ‌های صحیح وجود دارد. روش ما، از سوی دیگر، سود بیشتری (با تصحیح پاسخ‌های اشتباه) نسبت به ضرر (با تغییر پاسخ‌های درست به پاسخ‌های غلط) ایجاد می‌کند.

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

نموداری که سود و زیان را در دقت روش ما و همچنین یک پایه تصادفی در هر مجموعه داده را نشان می دهد.

4. آیا اشتباه یافتن می تواند به وظایفی که LLM ها هرگز ندیده اند تعمیم دهد؟

برای پاسخ به این سوال، ما یک مدل کوچک را روی چهار مورد از وظایف BIG-Bench تنظیم کردیم و آن را در پنجمین کار نگه‌داشته‌شده آزمایش کردیم. ما این کار را برای هر کار انجام می دهیم و در مجموع پنج مدل با تنظیم دقیق تولید می کنیم. سپس نتایج را فقط با درخواست صفر شات PaLM 2-L-Unicorn، یک مدل بسیار بزرگتر مقایسه می کنیم.

نمودار میله ای که بهبود دقت مدل کوچک تنظیم شده را در مقایسه با درخواست صفر شات با PalM 2-L-Unicorn نشان می دهد.

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

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

تصویری که نشان می دهد روش عقب نشینی ما چگونه کار می کند.

نتیجه

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

سپاسگزاریها

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