ReAct: همافزایی استدلال و عمل در مدلهای زبانی
ReAct (Yao و همکاران، ICLR 2023) مقالهای است که در پشت حلقه «استدلال-سپس-عمل» قرار دارد که اکثر عاملهای مالی مدرن اکنون به عنوان یک چارچوب پیشفرض از آن استفاده میکنند. من بررسی آن را به تعویق انداخته بودم چون به نظر زیرساختی میآمد — از آن دست چیزهایی که همه از قبل میدانند — اما پس از صرف زمان با ثبت خودکار در دفترکل (ledger write-back)، میخواستم حالتهای شکست را از منبع اصلی درک کنم، نه از شنیدههای دستدوم.
مقاله
Shunyu Yao، Jeffrey Zhao، Dian Yu، Nan Du، Izhak Shafran، Karthik Narasimhan و Yuan Cao ایدهای بهظاهر سا ده را پیشنهاد میکنند: به جای اینکه از یک مدل زبانی بخواهیم یا استدلال کند (زنجیره اندیشه) یا عمل کند (فراخوانی ابزارها)، اجازه دهیم هر دو را در یک جریان درهمتنیده انجام دهد. هر مرحله در این مسیر یا یک اندیشه (Thought - استدلال آزاد در مورد آنچه باید بعداً انجام شود) است یا یک جفت عمل/مشاهده (Act/Obs - یک اقدام و مشاهده آن از محیط). ادعا این است که این درهمتنیدگی همافزا است — استدلال شکل میدهد که چه اقداماتی انجام شود و مشاهدات استدلال را بازتعریف میکنند.
آنها این ایده را روی چهار بنچمارک آزمایش میکنند: HotpotQA و Fever (پرسش و پاسخ متکی بر دانش و تأیید واقعیت، با استفاده از API جستجوی ویکیپدیا به عنوان فضای عمل)، و ALFWorld و WebShop (محیطهای تجسمیافته و تجارت الکترونیک شبیهسازی شده که نیاز به تصمیمگیری چندمرحلهای دارند). تمام آزمایشها از PaLM-540B و GPT-3 (text-davinci-002) تحت پرامپتنویسی چند-نمونهای (few-shot) با تعداد محدودی مثال در متن (حتی یک یا دو مثال) استفاده میکنند.
ایدههای کلیدی
- در ALFWorld، ReAct از خطبیسهای یادگیری تقلیدی و یادگیری تقویتی با ا ختلاف ۳۴ درصد مطلق در نرخ موفقیت وظیفه پیشی میگیرد؛ در WebShop، این افزایش ۱۰ درصد مطلق است.
- در Fever (تأیید واقعیت)، ReAct از زنجیره اندیشه بهتر عمل میکند. در HotpotQA (پرسش و پاسخ چندمرحلهای)، CoT در واقع از ReAct پیشی میگیرد — مقاله مستقیماً به این موضوع اذعان میکند به جای اینکه آن را پنهان کند.
- حالات شکست به دو نوع تقسیم میشوند: خطاهای استدلال (مدل به اشتباه قضاوت میکند که چه اطلاعاتی در اختیار دارد) و خطاهای جستجو (یک نتیجه غیرآموزنده از ویکیپدیا، زنجیره استدلال بعدی را منحرف میکند). اینها از نظر کیفی متفاوت هستند و نیاز به راهکارهای متفاوتی دارند.
- خود قالب قابل تفسیر است: یک انسان میتواند ردپای اندیشه (Thought trace) را بخواند، اشتباه را پیدا کند و با ویرایش یک خط آن را اصلاح کند. این صراحتاً به عنوان یک ویژگی امنیتی ذکر شده است.
- تنظیم دقیق (Fine-tuning) مدلهای کوچکتر روی مسیرهای ReAct به آنها اجازه میدهد تا از مدلهای بزرگتر با پرامپتنویسی پیشی بگیرند — که نشان میدهد قالب درهمتنیده یادگیریکردنی است و فقط یک ترفند پرامپتنویسی نیست.
چه چیزی پابرجا میماند — و چه چیزی نه
نتایج تصمیمگیری تعاملی (ALFWorld، WebShop) قویترین بخش مقاله هستند. شکاف نسبت به یادگیری تقلیدی خالص به قدری بزرگ است که دشوار است آن را به شانس هایپرپارامترها نسبت داد. ردپای استدلال واقعاً خوانا است و تحلیل خطا که شکستهای جستجو را از شکستهای استدلال متمایز میکند، صادقانه و مفید است.
نتایج پرسش و پاسخ متکی بر دانش ضعیفتر هستند و مقاله هم به این موضوع واقف است. شکست ReAct به CoT در HotpotQA یک داده واقعی است: زمانی که پاسخ میتواند با زنجیر کردن دانش داخلی مدل به دست آید، اصطکاک فراخوانی ابزار در واقع آسیب میزند. مدل گاهی اوقات بخشی از ویکیپدیا را بازیابی میکند که ارتباط حاشیهای دارد، به آن تکیه میکند و سپس استدلالی ضعیفتر از زمانی تولید میکند که فقط در ذهن خودش میماند. مقاله این را «حواسپرتی ناشی از جستجو» مینامد و این مشکلی نیست که با معماری حل شود — این یک مشکل کیفیت بازیابی (retrieval) است که در لباس یک مشکل عاملی ظاهر شده است.
همچنین یک مشکل ارزیابی اساسی وجود دارد که مقاله از خود بنچمارکها به ارث برده است: هر دو محیط ALFWorld و WebShop در مقایسه با آنچه یک عامل دنیای واقعی نیاز دارد، فضاهای عملیاتی نسبتاً محدودی دارند. بهبود ۳۴ درصدی در ALFWorld در داخل بازی چشمگیر است، اما ALFWorld یک محیط خانگی شبیهسازی شده با دایره واژگان ثابت و کوچکی از اقدامات است. تعمیم دادن از آن به، مثلاً، یک دفترکل Beancount با یک طرحواره (schema) تراکنش باز، مستلزم تعمیمی است که مقاله آن را توجیه نمیکند.
راهاندازی چند-نمونهای (few-shot) هم نقطه قوت و هم نقطه ضعف است. یک یا دو مثال در متن چشمگیر است، اما به این معنی است که نتایج به شدت به مثالهای انتخاب شده حساس هستند. من در مقاله مطالعهای روی نحوه انتخاب مثالها ندیدم که میتوانست مفید باشد.
چرا این برای هوش مصنوعی مالی اهمیت دارد
مشکل امنیت ثبت مجدد (write-back safety) برای عاملهای خودمختار Beancount دقیقاً همان وضعیت شکستی است که ReAct روشن میکند. اگر عاملی در حال استدلال برای دستهبندی یک تراکنش باشد و یک ورودی مبهم از دفترکل بازیابی کند — ورودیای که میتواند به Expenses:Food یا Expenses:Entertainment نگاشت شود — الگوی ReAct استدلالهای بعدی را بر اساس هر تفسیری که اولین ورودی بازیابی شده پیشنهاد میدهد، استوار میکند. این معادل مالی «حواسپرتی ناشی از جستجو» است و با پرامپتنویسی دقیقتر از بین نمیرود.
استدلال قابلیت تفسیر در اینجا بیش از آنچه احتمالاً مد نظر مقاله بوده، اهمیت دارد. در حسابداری، یک حسابرس فقط به پاسخ صحیح نیاز ندارد — آنها به یک زنجیره استدلال قابل پیگیری نیاز دارند که بتوانند آن را تأیید کنند. ردپای اندیشه در ReAct آن زنجیره را به شما میدهد و این مشاهده که یک انسان میتواند با ویرایش یک «اندیشه»، مسیری را اصلاح کند، مستقیماً برای مرحله بررسی «انسان در چرخه» (human-in-the-loop) قبل از ثبت هر سند در دفترکل کاربرد دارد.
با این حال، حالت شکستی که من بیشتر به آن اهمیت میدهم، خطاهای انباشته در وظایف با افق طولانی است. یک عملیات تطبیق (reconciliation) که با پنجاه تراکنش سر و کار دارد، فرصتهای بسیار بیشتری برای خطا رفتن یک «اندیشه» نسبت به یک جستجوی تکمرحلهای در ویکیپدیا دارد. ReAct هیچ مکانیزم بومی برای عامل فراهم نمیکند تا تشخیص دهد که از مسیر منحرف شده است — فقط به راه خود ادامه میدهد. Reflexion (Shinn و همکاران، ۲۰۲۳) این مشکل را با افزودن یک مرحله خودارزیابی کلامی برطرف میکند و ترکیب ReAct + Reflexion، تعداد ۱۳۰ وظیفه از ۱۳۴ وظیفه ALFWorld را در مقایسه با ReAct به تنهایی، با موفقیت به پایان میرساند. این تفاوت به شما میگوید که اضافه کردن یک حلقه بازیابی (recovery loop) روی چارچوب پایه ReAct چقدر ارزش دارد.
چه چیزهایی را بعداً بخوانیم
- Reflexion: Language Agents with Verbal Reinforcement Learning (Shinn و همکاران، ۲۰۲۳، arXiv:2303.11366) — یک مرحله خوداندیشی اضافه میکند که به عامل ReAct اجازه میدهد استراتژی خود را در طول اپیزودها بازنگری کند؛ مستقیمترین افزونه برای عاملهای دفترکل که نیاز دارند از خطاهای میانی مسیر بازیابی شوند.
- FireAct: Toward Language Agent Fine-tuning (Chen و همکاران، ۲۰۲۳، arXiv:2310.05915) — مدلها را به طور خاص روی مسیرهای ReAct در چندین ابزار تنظیم دقیق میکند؛ مرتبط با آموزش یک عامل اختصاصی Beancount روی فراخوانی ابزارهای واقعی دفترکل.
- Tree of Thoughts: Deliberate Problem Solving with Large Language Models (Yao و همکاران، ۲۰۲۳، arXiv:2305.10601) — جستجو در مسیرهای استدلال را به جای محدود شدن به یک زنجیره واحد بررسی میکند؛ برای مواردی که اولین مسیر ReAct اشتباه است و نیاز به بازگشت سیستماتیک (backtracking) دارد، اهمیت دارد.
