Self-RAG: بازیابی تطبیقی و خود-انتقادی برای مدلهای زبانی بزرگ
RAG استاندارد هر بار بازیابی را انجام میدهد، چه بازیابی کمکی بکند و چه نکند. Self-RAG توسط Asai و همکاران (ارائه شفاهی ICLR 2024) پرسش متفاوتی را مطرح میکند: چه میشد اگر خود مدل تصمیم میگرفت چه زمانی به دنبال چیزی بگردد و سپس نتیجه را رتبهبندی میکرد؟ معلوم شد که این موضوع اهمیت زیادی دارد و مکانیسم آن به قدری تمیز است که ارزش مطالعه دقیق را دارد.
مقاله
شکایت اصلی از «RAG سنتی» (Vanilla RAG) این است که بدون تبعیض عمل میکند: تعداد ثابتی از قطعات را برای هر ورودی بازیابی کرده، آنها را در ابتدا قرار میدهد و تولید را انجام میدهد. این روش زمانی که بازیابی کمک میکند به اندازه کافی خوب عمل میکند، اما زمانی که قطعات نامرتبط هستند یا زمانی که مدل قبلاً پاسخ را در وزنهای خود دارد، عملاً آسیب میزند. این مقاله Self-Reflective Retrieval-Augmented Generation (Self-RAG) را معرفی میکند که توسط Akari Asai، Zeqiu Wu، Yizhong Wang، Avirup Sil و Hannaneh Hajishirzi (دانشگاه واشینگتن و IBM Research) تالیف شده است.
مکانیسم کلیدی مجموعهای از چهار توکن بازتابی ویژه است که در زمان آموزش در واژگان مدل گنجانده شدهاند. Retrieve تصمیم میگیرد که آیا اصلاً بازیاب را فراخوانی کند یا خیر. IsRel (مرتبط بودن) ارزیابی میکند که آیا یک قطعه بازیابی شده واقعاً حاوی اطلاعات مفید برای پرسوجو هست یا خیر. IsSup (پشتیبانی) بررسی میکند که آیا ادعای تولید شده به طور کامل، جزئی یا اصلاً توسط آن قطعه پشتیبانی میشود یا خیر. IsUse (مفید بودن) کیفیت کلی پاسخ را از ۱ تا ۵ امتیازدهی میکند. مدل یاد میگیرد که این توکنها را همزمان با خروجی عادی خود ساطع کند — بنابراین بازیابی و تولید خود را در یک عبور مستقیم (forward pass) نقد میکند.
آموزش دو مرحلهای است: ابتدا، یک مدل منتقد (critic) (LLaMA 2 نسخه 7B تنظیمدقیق شده) روی حدود ۴,۰۰۰ تا ۲۰,۰۰۰ نمونه برچسبگذاری شده برای هر نوع توکن آموزش میبیند و به بیش از ۹۰٪ توافق با پیشبینیهای GPT-4 میرسد. سپس آن منتقد، یک پیکره دستور-خروجی با ۱۵۰,۰۰۰ نمونه را به صورت آفلاین حاشیهنویسی میکند و مدل مولد بر روی این دادههای حاشیهنویسی شده آموزش میبیند، در حالی که با توکنهای بازتابی مانند واژگان معمولی برخورد میشود. هیچ یادگیری تقویتی مورد نیاز نیست.
ایدههای کلیدی
- چهار توکن بازتابی (Retrieve، IsRel، IsSup، IsUse) به مدل یک گفتگوی داخلی ساختاریافته در مورد اینکه آیا شواهد ارزش اعتماد دارند یا خیر میدهند — نه فقط یک تصمیم باینری بازیابی کردن/نکردن.
- Self-RAG 13B در PopQA به ۵۵.۸٪، در TriviaQA به ۶۹.۳٪، در PubHealth به ۷۴.۵٪، در ARC-Challenge به ۷۳.۱٪ و در Biography FactScore به ۸۰.۲ رسیده است — که در هر یک از این موارد از ChatGPT و Llama2-chat تقویتشده با بازیابی پیشی گرفته است.
- آزمایشهای حذف اجزا (Ablations) در PopQA نشان میدهد که حذف بازیابی در زمان تست ۲۰.۸ واحد درصد هزینه دارد، در حالی که حذف صرفاً منتقد تنها ۲.۹ واحد درصد هزینه دارد — بازیاب بار اصلی را بر د وش دارد؛ نقد کردن کالیبراسیون را به آن اضافه میکند.
- در زمان استنتاج، وزنهای توکنهای نقد را میتوان برای ایجاد توازن بین دقت ارجاع و روانی کلام بدون نیاز به آموزش مجدد تنظیم کرد. این امر رفتار مدل را برای کاربردهای مختلف پاییندستی قابل پیکربندی میکند.
- کمیته برنامه ICLR 2024 به Self-RAG وضعیت ارائه شفاهی (۱٪ برتر) داد که نشاندهنده تایید واقعی همتایان از مشارکت فنی آن است.
چه چیزی پابرجا میماند — و چه چیزی نه
نتایج حذف اجزا متقاعدکننده هستند. شکاف بین «همیشه بازیابی» و «بدون بازیابی» بزرگ است (۲۰.۸ واحد درصد)؛ مدل به وضوح یاد گرفته است که بازیابی مفید را از نویز تشخیص دهد. توکنهای IsRel و IsSup ارزش قابل اندازهگیری را فراتر از بازیابی تطبیقی به تنهایی اضافه میکنند. این یک نتیجه معنادار است، نه فقط یک تغییر چارچوب ساده.
چیزی که من کمتر در مورد آن متقاعد شدهام، ادعای تعمیمپذیری است. هر پنج وظیفه ارزیابی (PopQA، TriviaQA، PubHealth، ARC-Challenge، ASQA) پرسش و پاسخ های کوتاه یا چندگزینهای هستند — یعنی دقیقاً همان شرایطی که یک قطعه بازیابی شده واحد میتواند سیگنال تعیینکنندهای ارائه دهد. تولید متنهای طولانی در زمینههای چند-سندی، جایی که وظایف مالی در آن قرار دارند، کمتر مورد بررسی قرار گرفته است. Biography FactScore (۸۰.۲) نزدیکترین تقریب است، اما بیوگرافیها در مقایسه با یک دفترکل هزینههای پراکنده چندساله، نسبتاً ساختاریافته هستند.
یک نکته در مورد بازتولیدپذیری نیز وجود دارد: برچسبهای آموزشی مدل منتقد از GPT-4 میآیند. این باعث میشود کیفیت برچسبها به یک سیستم انحصاری وابسته باشد و هزینههای API را معرفی میکند که گزارش نشدهاند. CRAG (arXiv:2401.15884) بعداً نشان داد که یک ارزیاب بازیابی ۰.۷۷B — بسیار سبکتر از منتقد 7B در Self-RAG — میتواند کیفیت بازیابی را اصلاح کرده و ۱۹.۰ واحد درصد نسبت به RAG استاندارد در PopQA بهبود ایجاد کند، که نشان میدهد منتقد سنگین تنظیمدقیق شده ممکن است ضروری نباشد. این یک چالش معنادار برای این طراحی است، حتی اگر ایده اصلی در مورد بازیابی انتخابی پابرجا بماند.
در نهایت، خط پایه مقایسه اهمیت دارد. شکست دادن ChatGPT (احتمالاً GPT-3.5-turbo، اواخر ۲۰۲۳) و Llama2-chat یک معیار معقول برای یک مدل متنباز 13B است، اما مدلهای پیشرو از آن زمان تاکنون پیشرفت قابل توجهی دا شتهاند. اینکه آیا بازیابی تطبیقی Self-RAG میتواند یک GPT-4o با پرامپتنویسی خوب و ساختار ساده «همیشه بازیابی» را در همین معیارها شکست دهد، بیپاسخ مانده است.
چرا این موضوع برای هوش مصنوعی مالی مهم است
ایجنتهای مالی که روی دفترکلهای Beancount کار میکنند، دقیقاً با همان مشکل تبعیض در بازیابی مواجه هستند که Self-RAG به آن میپردازد. وقتی کاربری میپرسد «درآمد خالص من در این ماه چقدر است؟»، ایجنت میتواند از زمینه بارگذاری شده خود محاسبات را انجام دهد — بازیابی ممکن است فقط نویز اضافه کند. وقتی همان کاربر میپرسد «آیا فاکتور پیمانکار سه ماهه سوم را ثبت کردم؟»، ایجنت نیاز دارد تا ورودیهای احتمالی چندین سال را اسکن کند. «همیشه بازیابی» باعث اتلاف بافتار و خطر تزریق تراکنشهای قدیمی نامرتبط میشود؛ «هرگز بازیابی نکردن» باعث از دست دادن جستجو میشود.
توکنهای IsRel و IsSup به طور تمیزی با منطق اعتبارسنجی دفترکل مطابقت دارند. IsRel: آیا تراکنش بازیابی شد ه واقعاً با پرسوجو مرتبط است؟ IsSup: آیا زمینه بازیابی شده واقعاً از رقم تراز تولید شده پشتیبانی میکند یا عدد توهم است؟ امتیاز مفید بودن (۱ تا ۵) میتواند به اطمینان در ثبت مجدد کمک کند: تنها زمانی یک ورودی دفتر روزنامه پیشنهادی را تایید کنید که مدل به استدلال خود امتیاز ۴ یا ۵ بدهد و بقیه را برای بررسی انسانی علامتگذاری کند.
دغدغه بازتولیدپذیری در اینجا نیز مهم است. برای یک ایجنت حسابداری عملیاتی، وابستگی به GPT-4 برای تولید برچسبهای آموزشی یک محدودیت عملیاتی است. اگر یک ارزیاب سبکتر (مانند CRAG) بتواند به بازیابی انتخابی مشابهی دست یابد، این مسیر قابل استقرارتر است. اصول طراحی Self-RAG — تصمیمگیری قبل از بازیابی، نقد کردن بعد از بازیابی — ارزشمند باقی میمانند، حتی اگر دستورالعمل خاص آموزش توکن تغییر کند.
برای مطالعه بیشتر
- CRAG: Corrective Retrieval Augmented Generation (arXiv:2401.15884) — بر اساس ایده بازیابی تطبیقی Self-RAG با یک ارزیاب سبکتر و جایگزین جستجوی وب در زمان شکست بازیابی محلی ساخته شده است؛ ارزش مقایسه مستقیم با Self-RAG در معیارهای مشترک را دارد.
- RQ-RAG: Learning to Refine Queries for Retrieval Augmented Generation (arXiv:2404.00610) — به طور خاص بر تجزیه پرسوجو برای پرسش و پاسخهای پیچیده چند-مرحلهای تمرکز دارد، که سناریویی است که Self-RAG در آن کمتر از همه ظرافت دارد.
- FRAMES: Retrieval and Augmentation for Multi-Hop Evaluation (arXiv:2409.12941) — معیار گوگل دیپمایند برای RAG چند-سندی که نیاز به زنجیرهسازی چندین فکت بازیابی شده دارد؛ یک تست دشوارتر طبیعی برای مدلهای سبک Self-RAG.
