Alireza Kholghi
4 یادداشت منتشر شدهبازیابی تقویت شده با تولید (RAG): چگونه مدل های زبانی را به منابع خودمان وصل کنیم؟
مقدمه: مسئله ای آشنا برای همه کاربران مدل های زبانی
مدل های زبانی بزرگ می توانند متنی روان، منسجم و قانع کننده بنویسند، اما گاهی با همان اعتمادبه نفس، اطلاعاتی نادرست یا غیرقابل اثبات ارائه می دهند. این پدیده که در ادبیات فنی «توهم» یا «ساختگی گویی» نامیده می شود، برای کاربر عادی آزاردهنده است و برای تولیدکننده محتوا، پژوهشگر یا کسب وکار، یک ریسک واقعی به شمار می آید: یک عدد اشتباه، یک نقل قول ساختگی یا یک ادعای بی پشتوانه می تواند اعتبار یک متن را از بین ببرد. پرسش اصلی این یادداشت همین است: آیا می توان مدل زبانی را وادار کرد که به جای تکیه صرف بر آنچه در آموزش آموخته است، نخست به منابع مشخص مراجعه کند و سپس بر اساس همان منابع بنویسد؟ رویکرد «بازیابی تقویت شده با تولید»، که به اختصار RAG نامیده می شود، پاسخی عملی به همین پرسش است.
ایده اصلی: دو نوع حافظه
در مقاله بنیادین این حوزه، لوئیس و همکارانش (۲۰۲۰) مدلی را معرفی کردند که دو نوع حافظه را با هم ترکیب می کند: حافظه پارامتری و حافظه غیرپارامتری. حافظه پارامتری همان دانشی است که در وزن های مدل و در جریان آموزش ذخیره شده است؛ دانشی گسترده اما ایستا، که به روزرسانی آن پرهزینه است و منشا دقیق هر ادعا در آن روشن نیست. حافظه غیرپارامتری اما یک پایگاه دانش بیرونی است، مانند مجموعه ای از اسناد، مقالات یا صفحات دانشنامه، که مدل در زمان پاسخ گویی به آن مراجعه می کند. در مدل های RAG، یک بازیاب عصبی نخست مرتبط ترین بخش های اسناد را پیدا می کند و سپس مدل مولد، با در نظر گرفتن هم سوال کاربر و هم همان بخش های بازیابی شده، پاسخ را تولید می کند. نتیجه، بنا بر یافته های همان مقاله، در وظایف دانش محور دقیق تر، مشخص تر و متنوع تر از مدل های صرفا پارامتری بود و این رویکرد در سه وظیفه پرسش وپاسخ دامنه باز، در زمان انتشار مقاله، بهترین نتایج را به دست آورد.
RAG در عمل چگونه کار می کند؟
یک سامانه RAG معمولی چهار مرحله دارد. نخست، اسناد منبع به قطعه های کوچک تر تقسیم می شوند؛ این کار «تکه بندی» نام دارد و هدف آن این است که هر قطعه، یک واحد معنایی قابل فهم باشد، نه آن قدر بلند که موضوعات گوناگون را در هم بیامیزد و نه آن قدر کوتاه که معنای خود را از دست بدهد. دوم، هر قطعه به یک بردار عددی تبدیل می شود؛ برداری که معنای متن را به صورت فشرده بازنمایی می کند. سوم، این بردارها در یک پایگاه برداری ذخیره می شوند تا جست وجوی معنایی ممکن شود. چهارم، هنگامی که کاربر سوالی می پرسد، سوال نیز به بردار تبدیل می شود، نزدیک ترین قطعه ها بازیابی می شوند و همراه با سوال، به عنوان زمینه، در اختیار مدل مولد قرار می گیرند. مدل در این حالت، به جای حدس زدن از حافظه، متنی را بر اساس شواهدی می نویسد که می توان آن ها را بررسی کرد. یکی از مزیت های مهم این معماری، به روزرسانی آسان دانش است: برای افزودن اطلاعات تازه، کافی است سند جدید را به پایگاه اضافه کنیم، بی آنکه مدل از نو آموزش ببیند. همچنین می توان منبع هر پاسخ را نشان داد تا خواننده، ادعا را با سند اصلی مقایسه کند.
یک مثال ملموس: تولید محتوای دقیق برای یک برند
فرض کنید یک تیم تولید محتوا برای یک برند ایرانی می خواهد مجموعه ای از پست های آموزشی درباره محصولات و خدمات آن برند بنویسد. اگر از مدل زبانی بدون هیچ منبعی خواسته شود که درباره ویژگی های محصول بنویسد، احتمال دارد مشخصات فنی را حدس بزند یا لحن برند را نادیده بگیرد. در یک سامانه RAG، تیم نخست منابع معتبر خود را گرد می آورد: کاتالوگ محصول، راهنمای برند، پرسش های پرتکرار مشتریان و مقالات پیشین تاییدشده. سپس از مدل می خواهد که بر اساس همان منابع، متن را بنویسد و برای هر ادعای مهم، به منبع اشاره کند. خروجی در این حالت، هم به لحن برند نزدیک تر است و هم ادعاهایش قابل ردیابی اند. نکته مهم این است که این فرایند، نقش انسان را حذف نمی کند؛ ویراستار انسانی هنوز باید متن نهایی را بخواند، منبع ها را بسنجد و لحن را اصلاح کند. RAG کیفیت مواد اولیه را بالا می برد، اما مسئولیت انتشار همچنان با انسان است.
محدودیت ها: بازیابی بد، خروجی بد
RAG راه حل جادویی نیست و محدودیت های آن را باید جدی گرفت. اگر بازیاب، قطعه های نامرتبط یا قدیمی را برگرداند، مدل ممکن است بر اساس همان شواهد نادرست، پاسخی قانع کننده اما اشتباه بنویسد. اگر تکه بندی بد انجام شود، بخش مهم یک سند ممکن است نادیده گرفته شود یا زمینه لازم از دست برود. همچنین، استناد به یک منبع واقعی، به تنهایی تضمین نمی کند که ادعا دقیقا همان چیزی باشد که منبع می گوید؛ مدل گاهی منبع را بد تفسیر می کند. افزون بر این، پرسش هایی که در منابع هیچ پاسخی ندارند، باید با «نمی دانم» یا با شفافیت درباره نبود منبع پاسخ داده شوند، نه با ساختن پاسخی خیالی. به همین دلیل، ارزیابی سامانه RAG به اندازه ساختن آن مهم است: باید سنجید که چه سهمی از پاسخ ها واقعا به منابع بازیابی شده مستندند و چه سهمی از آن ها، با وجود استناد ظاهری، از منبع فاصله گرفته اند. ملاحظات حریم خصوصی نیز مهم است؛ اسنادی که وارد پایگاه برداری می شوند، باید از نظر دسترسی و محرمانگی مدیریت شوند، به ویژه هنگامی که اسناد داخلی یک سازمان در میان باشند.
نتیجه گیری
بازیابی تقویت شده با تولید، مدلی را که پیش تر فقط به حافظه آموزشی خود تکیه می کرد، به یک «خواننده با منبع» تبدیل می کند: نخست می خواند، سپس می نویسد. این رویکرد، به ویژه برای تولید محتوای تخصصی، مستندسازی و پاسخ گویی بر اساس دانش سازمانی، مسیری عملی برای کاهش خطا و افزایش شفافیت فراهم می آورد، بی آنکه نیاز به آموزش دوباره مدل باشد. با این حال، RAG نه جایگزین دقت انسانی است و نه تضمینی برای بی خطایی؛ کیفیت آن به کیفیت منابع، دقت بازیابی و ارزیابی مستمر وابسته است. برای تولیدکنندگان محتوا و پژوهشگران، پیام روشن است: به جای پرسیدن «مدل چه می داند؟»، بپرسیم «مدل بر اساس کدام منابع می نویسد؟» و همان منابع را با دقت انتخاب و نگهداری کنیم.
منابع
۱. Lewis, P. و همکاران (۲۰۲۰). «Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks»، کنفرانس NeurIPS 2020. https://arxiv.org/abs/2005.11401
۲. «Retrieval-augmented generation»، ویکی پدیا (مروری بر تعریف، تاریخچه و کاربردهای RAG). https://en.wikipedia.org/wiki/Retrieval-Augmented_Generation