تولید افزوده با بازیابی

تولید افزوده با بازیابی (انگلیسی: Retrieval-Augmented Generation یا RAG) رویکردی در هوش مصنوعی است که در آن یک مدل زبانی، پیش از تولید پاسخ، اطلاعات مرتبط را از منابع خارجی بازیابی می‌کند و از این اطلاعات برای تولید پاسخ استفاده می‌کند.[۱]

برخلاف روشی که دانش مورد استفادهٔ مدل تنها در پارامترهای آن ذخیره شده است، RAG امکان استفاده از یک منبع اطلاعاتی خارجی را در زمان تولید فراهم می‌کند. به همین دلیل، این رویکرد می‌تواند برای کاربردهایی که به اطلاعات تخصصی یا قابل به‌روزرسانی نیاز دارند مورد استفاده قرار گیرد.[۱]

تاریخچه

ایدهٔ استفاده از اطلاعات بازیابی‌شده برای کمک به مدل‌های زبانی پیش از معرفی معماری RAG نیز در پژوهش‌های پردازش زبان طبیعی مطرح شده بود. مدل‌هایی مانند REALM و Dense Passage Retrieval (DPR) از جمله پژوهش‌های مهمی بودند که زمینه را برای استفاده از بازیابی اطلاعات در کنار مدل‌های زبانی فراهم کردند.[۲]

در سال ۲۰۲۰، پاتریک لوئیس و همکارانش در مقاله‌ای با عنوان «Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks» چارچوبی را معرفی کردند که به‌طور مشخص با نام Retrieval-Augmented Generation یا RAG شناخته شد. این روش یک مدل مولد از پیش آموزش‌دیده را با یک حافظهٔ غیرپارامتری مبتنی بر نمایهٔ متنی ترکیب می‌کرد و در آزمایش‌های اولیه برای مجموعه‌ای از وظایف دانش‌محور پردازش زبان طبیعی به کار گرفته شد.[۱]

مقالهٔ RAG در کنفرانس سامانه‌های پردازش اطلاعات عصبی (NeurIPS) در سال ۲۰۲۰ ارائه و منتشر شد. پژوهش‌های بعدی، ایدهٔ RAG را توسعه دادند و آن را به یکی از رویکردهای مهم برای اتصال مدل‌های زبانی به منابع اطلاعاتی خارجی تبدیل کردند.[۱]

نحوهٔ کار

فرایند RAG را می‌توان به‌طور کلی در سه مرحله توضیح داد:

  1. بازیابی اطلاعات: پرسش یا درخواست کاربر بررسی شده و سامانه، اطلاعات مرتبط با آن را از یک منبع خارجی مانند پایگاه اسناد، پایگاه دانش یا مجموعه‌ای از متون بازیابی می‌کند.
  1. افزوده‌سازی زمینه: اطلاعات بازیابی‌شده به پرسش کاربر افزوده می‌شود و به‌عنوان زمینه در اختیار مدل زبانی قرار می‌گیرد.
  1. تولید پاسخ: مدل زبانی با استفاده از پرسش و اطلاعات بازیابی‌شده، پاسخ نهایی را تولید می‌کند.[۱]

در یک سامانهٔ RAG، بخش بازیابی معمولاً به دنبال قطعاتی از اطلاعات می‌گردد که از نظر معنایی با پرسش کاربر مرتبط هستند. این اطلاعات می‌توانند پیش از ارسال درخواست به مدل زبانی، به متن ورودی آن اضافه شوند. به این ترتیب، مدل می‌تواند هنگام تولید پاسخ از اطلاعات خارجی نیز استفاده کند.[۱]

برای مثال، اگر یک سامانهٔ RAG به مجموعه‌ای از اسناد یک شرکت دسترسی داشته باشد و کاربر دربارهٔ شرایط یک خدمت پرسشی مطرح کند، سامانه ابتدا اسناد مرتبط را پیدا می‌کند و سپس بخش‌های مرتبط را همراه با پرسش در اختیار مدل زبانی قرار می‌دهد. مدل بر اساس این زمینه پاسخ را تولید می‌کند.

معماری

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

در بسیاری از سامانه‌های RAG، برای مقایسهٔ معنایی پرسش و اسناد از بردارهای تعبیه استفاده می‌شود. در این روش، متن‌ها به نمایش‌های عددی تبدیل می‌شوند تا بتوان میزان شباهت میان پرسش و بخش‌های مختلف اسناد را محاسبه کرد. برخی سامانه‌ها نیز از روش‌های دیگری مانند بازیابی واژگانی یا ترکیبی از روش‌های واژگانی و معنایی استفاده می‌کنند.[۳]

پس از بازیابی، اطلاعات مرتبط به‌عنوان زمینه به مدل زبانی داده می‌شود. مدل سپس با استفاده از پرسش کاربر و این زمینه، پاسخ نهایی را تولید می‌کند. بنابراین، معماری کلی RAG را می‌توان به‌صورت منبع اطلاعاتی ← بازیابی ← زمینه ← مدل زبانی ← پاسخ خلاصه کرد.

کاربردها

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

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

RAG به‌ویژه در کاربردهایی مفید است که اطلاعات مورد استفاده ممکن است پس از آموزش مدل تغییر کند یا در داده‌های آموزشی مدل وجود نداشته باشد.

مزایا و محدودیت‌ها

مزایا

  • استفاده از اطلاعات خارجی: RAG می‌تواند اطلاعات موجود در منابع خارجی را در اختیار مدل زبانی قرار دهد و وابستگی آن به دانش ذخیره‌شده در پارامترهای مدل را کاهش دهد.
  • امکان به‌روزرسانی اطلاعات: با تغییر یا جایگزینی منابع خارجی، می‌توان اطلاعات مورد استفادهٔ سامانه را بدون آموزش مجدد کامل مدل تغییر داد.
  • استفاده از دانش تخصصی: RAG امکان اتصال مدل‌های زبانی به مجموعه‌های اسناد و پایگاه‌های دانش تخصصی را فراهم می‌کند.
  • قابلیت ردیابی منابع: در صورت طراحی مناسب سامانه، می‌توان اطلاعات بازیابی‌شده را به‌عنوان مبنای پاسخ یا منبع آن ارائه کرد.[۱]

محدودیت‌ها

  • وابستگی به کیفیت بازیابی: اگر اطلاعات نامرتبط یا ناقص بازیابی شوند، کیفیت پاسخ نهایی نیز ممکن است کاهش یابد.
  • خطا در تولید پاسخ: وجود اطلاعات صحیح در زمینه، تولید پاسخ صحیح را تضمین نمی‌کند و مدل زبانی ممکن است همچنان پاسخ نادرست تولید کند.
  • هزینه و پیچیدگی: سامانه‌های RAG علاوه بر مدل زبانی به مؤلفه‌های دیگری برای ذخیره، نمایه‌سازی و بازیابی اطلاعات نیاز دارند.
  • وابستگی به منابع: کیفیت و به‌روز بودن پاسخ تا حد زیادی به کیفیت، پوشش و به‌روزبودن منابع مورد استفاده بستگی دارد.[۴]

بنابراین RAG را نمی‌توان راهکاری برای حذف کامل خطاهای مدل‌های زبانی دانست؛ عملکرد آن به هر دو بخش بازیابی اطلاعات و تولید پاسخ وابسته است.

بهبودها

روش‌های مختلفی برای بهبود عملکرد سامانه‌های RAG پیشنهاد شده‌اند. این روش‌ها می‌توانند کیفیت بازیابی اطلاعات، انتخاب زمینه و تولید پاسخ را بهبود دهند.

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

همچنین، نحوهٔ تقسیم اسناد به قطعات متنی می‌تواند بر کیفیت بازیابی تأثیر بگذارد. انتخاب اندازه و ساختار مناسب این قطعات به سامانه کمک می‌کند اطلاعات مرتبط‌تری را در اختیار مدل زبانی قرار دهد.

چالش‌ها

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

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

مسموم‌سازی RAG

مسموم‌سازی RAG (انگلیسی: RAG poisoning) به وضعیتی اشاره دارد که اطلاعات نادرست یا گمراه‌کننده وارد منابع مورد استفادهٔ سامانه می‌شوند و در نتیجه ممکن است توسط بخش بازیابی انتخاب شده و بر پاسخ مدل تأثیر بگذارند. این مسئله اهمیت کنترل کیفیت، اعتبارسنجی و مدیریت منابع مورد استفاده در سامانه‌های RAG را نشان می‌دهد.

جستارهای وابسته

منابع

  1. 1 2 3 4 5 6 7 8 Lewis, Patrick; Perez, Ethan; Piktus, Aleksandra; Petroni, Fabio; Karpukhin, Vladimir; Goyal, Naman; Küttler, Heinrich; Lewis, Mike; Yih, Wen-tau; Rocktäschel, Tim; Riedel, Sebastian; Kiela, Douwe (2020). "Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks". Advances in Neural Information Processing Systems. 33.
  2. ↑ Guu, Kelvin; Lee, Kenton; Tsuchiya, Ming-Wei; Latifi, Levy; Shi, Yinfei; Shi, Richard; Yih, Wen-tau (2020). "REALM: Retrieval-Augmented Language Model Pre-Training". Proceedings of the 37th International Conference on Machine Learning.
  3. 1 2 Gao, Yunfan; Xiong, Yun; Gao, Xinyu; Jia, Kangxiang; Pan, Jinliu; Bi, Yuxi; Dai, Yi; Sun, Jiawei; Meng, Wang; Wang, Haofen (2024). Retrieval-Augmented Generation for Large Language Models: A Survey. arXiv:2312.10997.
  4. 1 2 3 Yu, Hao; Gan, Aoran; Zhang, Kai; Tong, Shiwei; Liu, Qi; Liu, Zhaofeng (2024). Evaluation of Retrieval-Augmented Generation: A Survey. arXiv:2405.07437.