یکی از مسائلی که هنگام مکالمه و تعامل با ابزارهایی همچون GPT-4، جمنای، Llama 2 یا سایر مدل‌های زبانی ممکن است با آن رو به رو شویم، قدیمی، غیر مرتبط یا ناقص بودن پاسخ‌هایی است که برای پرامپت‌های ما تولید می‌کنند. برای حل این مشکل، تکنیکی به‌نام «RAG» مطرح شده است که از طریق بازیابی اطلاعات از منبع اطلاعاتی بیرونی و دخیل کردن آن در فرایند تولید پاسخ، نتایج بهتر و دقیق‌تری را در اختیارمان قرار می‌دهد. در این نوشتار از مجله فرادرس، قصد داریم تا به زبان ساده به شما بگوییم که RAG چیست و چه جایگاهی در هوش مصنوعی دارد. ضمن اینکه انواع، کاربردها و نحوه پیاده‌سازی آن را نیز بیان می‌کنیم.

فهرست مطالب این نوشته
997696

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

فرایند عملکرد سیستم RAG چیست

RAG چیست؟

«تولید تقویت شده با بازیابی» (Retrieval-Augmented Generation) یا به اختصار «RAG»، روشی پیشرفته در هوش مصنوعی و حوزه «پردازش زبان طبیعی» (NLP) محسوب می‌شود. این روش به مدل‌های زبانی بزرگ یا همان «LLM-ها»  کمک می‌کند تا با استفاده از «منابع اطلاعاتی بیرونی» عملکرد بهتری در تولید پاسخ داشته باشند.

بنابراین، RAG تکنیکی است که با بهره‌مندی از مزیت هر ۲ نوع مدل هوش مصنوعی «مولد» و «مبتنی بر بازیابی»، تغییرات شگفت‌انگیزی را در فرایند تولید محتوا و بهبود دقت پاسخ‌های تولید شده توسط سیستم‌های AI، ایجاد می‌کند.

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

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

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

دلیل استفاده از RAG چیست؟

پیش از اینکه اهمیت رویکرد RAG را به شما توضیح دهیم، لازم است با LLM-ها یا همان «مدل‌های زبانی بزرگ» به‌عنوان یکی از مهم‌ترین فناوری‌های AI آشنا شوید. این مدل‌ها در پشت‌صحنه چت‌بات‌ها و سایر اپلیکیشن‌های پردازش زبان طبیعی قرار دارند و کمک می‌کنند تا ابزارهای این چنینی بتوانند به پرسش‌ها و درخواست‌ها متنوع ما در موضوعات گوناگون پاسخ دهند. با این وجود، مدل‌های زبانی بزرگ با محدودیت‌هایی نیز مواجه هستند. نخست اینکه اطلاعات این ابزارها به‌طور معمول به‌روز نیست و تا تاریخ مشخصی را شامل می‌شود. مورد بعد اینکه با توجه به ماهیت این مدل‌ها ممکن است با پاسخ‌های غیرقابل پیش‌بینی از سوی آن‌ها مواجه شویم.

در ادامه برخی از چالش‌های مدل‌های زبانی بزرگ را فهرست کرده‌ایم.

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

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

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

طرز کار RAG چگونه است؟

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

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

تصویری که در ادامه آورده شده، مراحل موجود در فرایند RAG را به‌خوبی نشان می‌دهد.

ساختار و نحوه کار RAG چیست
طرز کار RAG

ْدر ادامه، این مراحل را توضیح داده‌ایم.

  • مرحله ۱ – ورود درخواست کاربر به سیستم: در گام نخست، کاربر پرامپت یا درخواست خود را به سیستم می‌دهد.
  • مرحله ۲ – جست و جوی اطلاعات از منبع داده توسط مدل بازیابی: در این گام، مدل بازیابی RAG، پایگاه دانش را برای داده‌های مرتبط و مفید با درخواست ورودی جست و جو می‌کند.
  • مرحله ۳ – واکشی داده‌‌های مرتبط: داده‌هایی که مرتبط با درخواست کاربر هستند از پایگاه دانش به بخش ترکیب داده‌ها ارسال می‌شود.
  • مرحله ۴ – تقویت پرامپت با داده‌های دریافتی از منبع داده: در این گام، پرامپت یا ورودی سیستم با اطلاعات دریافتی تقویت شده و به مدل زبانی بزرگ منتقل می‌شود.
  • مرحله ۵ – تولید پاسخ: در گام پایانی، مدل زبانی بزرگ خروجی را تولید می‌کند و به کاربر ارائه می‌دهد.

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

مهم ترین اجزای RAG چیست؟

تکنیک RAG از چند بخش بسیار مهم شامل «پایگاه دانش»، «بازیابی کننده»، «بخش ادغام» و «مولد» تشکیل شده است که هر یک از این‌ها وظیفه مشخصی را بر عهده دارند. هر یک از این بخش‌ها و عملکرد آن‌ها را در ادامه بیشتر توضیح داده‌ایم.

اجزای سیستم RAG
  • «پایگاه دانش» (Knowledge Base): این بخش در واقع همان منبع اطلاعاتی بیرونی یا اکسترنال است که داده‌های مورد نیاز RAG را در خود جای داده است.
  • «بازیابی کننده» (Retriever): مدل هوش مصنوعی بازیابی کننده، بخشی است که داد‌‌های مرتبط با ورودی را از درون پایگاه دانش پیدا می‌کند.
  • «بخش ادغام» (Integration Layer): این بخش از سیستم RAG، عملکرد کلی آن را مدیریت می‌کند.
  • «مولد» (Generator): مدل هوش مصنوعی مولد با استفاده از اطلاعات بازیابی شده، پاسخ نهایی را برای کاربر تولید می‌کند.

۲ مؤلفه ادغام و مولد وظیفه «تقویت و تولید» (Augmentation and Generation) پاسخ‌های را بر عهده دارند. البته سیستم RAG می‌تواند شامل قسمت‌‌های دیگری نظیر موارد زیر نیز باشد.

  • Ranker: بخشی است که داده‌های بازیابی شده توسط مؤلفه بازیابی کننده را با توجه به میزان ارتباط و نزدیکی آن‌ها با ورودی سیستم، رتبه‌بندی می‌کند.
  • «مدیر خروجی» (Output Handler): شکل دادن به خروجی برای ارائه به کاربر، توسط این بخش انجام می‌شود.

پایگاه دانش در RAG چیست؟

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

متن های تبدیل شده به بردارهای داده - RAG چیست

در RAG با فرایندی به نام «امبدینگ» (Embedding) رو به رو هستیم که داده‌ها را به شکل عددی تبدیل می‌کند و به آن‌ها «بردار یا وکتور» گفته می‌شود. با انجام این تبدیل، داده‌ها در فضای ریاضیاتی چندبعدی قرار گرفته و بر مبنای شباهتی که دارند، مرتب می‌شوند. به بیان ساده‌تر، داد‌ه‌هایی که ارتباط بیشتری با هم دارند، در این نوع بازنمایی نزدیک‌ به هم قرار می‌گیرند.

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

قطعه بندی در RAG چیست؟

در مدل‌های زبانی بزرگ با اصطلاحی به نام «پنجره زمینه» (Context Window) رو به رو هستیم و بیان‌گر میزان داده‌هایی است که مدل می‌تواند به‌طور همزمان پردازش کند. عمل «قطعه‌بندی» (Chunking) در RAG با این هدف انجام می‌شود که اسناد به بخش‌های کوچکتری تقسیم شوند تا مشکلی از بابت نتایج امبدینگ و «Context Window» وجود نداشته باشد.

نکته بسیار حائز اهمیت در اینجا، اندازه‌ای است که برای قطعات تعیین می‌کنیم و به بیان دیگر، هایپرپارامتری است که با نام «اندازه قطعه» (Chunk size) شناخته می‌شود. در اینجا دو حالت ممکن است رخ دهد که در ادامه فهرست کرده‌ایم.

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

فرایند بازیابی در RAG چیست؟

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

بخش «بازیابی» (Retrieval) به‌طور کلی عمل بازیابی اطلاعات از منبع اطلاعاتی بیرونی را انجام می‌دهد. یعنی، هنگامی‌که پرسش یا درخواستی از سوی کاربر دریافت شد، سیستم به جست و جوی پایگاه داده یا مجموعه اسناد مرتبط با آن که حاوی اطلاعات گوناگون و به‌روز است می‌پردازد. بدین ترتیب، اطلاعات جدید و به‌روز برای تولید پاسخ کاربر استفاده خواهد شد.

کاربر در مقابل اپلیکیشن هوش مصنوعی در مانیتوری بزرگ

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

تقویت LLM با اطلاعات بیرونی در RAG و تولید پاسخ

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

بخش «تقویت و تولید» (Augmentation and Generation) نیز از اطلاعات فراهم شده در مرحله قبل استفاده می‌کند تا LLM پاسخی مناسب و تا حد ممکن به‌روز و مرتبط را به عنوان خروجی تولید کند.

مؤلفه‌های «بازیابی» و «تقویت و تولید» در کنار هم می‌توانند سیستم‌های AI قدرتمندی را شکل دهند که توانایی تولید محتوا و پاسخ‌های منسجم و بسیار مناسبی را داشته باشد. به‌طور کلی، LLM-ها به‌لطف RAG و استفاده از پایگاه داده‌های بیرونی که قابلیت به‌روزرسانی‌های دائمی را دارند،‌ می‌توانند پاسخ‌هایی به مراتب دقیق‌تر و به‌روزتری را ارائه دهند.

کاربردهای RAG چیست؟

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

برخی از کاربردهای RAG

در ادامه برخی از کاربردهای RAG را بیشتر توضیح داده‌ایم.

سیستم‌ پشتیبانی از مشتریان

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

برنامه های پرسش و پاسخ

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

اپلیکیشن چت بات هوش مصنوعی و مانیتور و داده‌های دیتابیس - RAG چیست

تولید و خلاصه سازی محتوا

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

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

نمونه سیستم RAG برای تولید و محتوا

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

  1. ورودی درخواست کاربر از طریق جست و جو یا چت‌بات
  2. دریافت اطلاعات مرتبط با ورودی از پایگاه دانش
  3. ارسال پرامپت تقویت شده به مدل زبانی بزرگ که شامل زمینه محتوایی و نتایج جست و جو است.
  4. پاسخ تولید شده برای پرامپت مرحله قبل به عنوان خروجی سیستم به کاربر تحویل داده می‌شود.

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

کدنویسی

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

در صورتی‌که قصد آشنایی و استفاده از ابزارهای هوش مصنوعی برای ساخت و اصلاح کد را دارید، مشاهده فیلم آموزش ابزارهای هوش مصنوعی در برنامه‌نویسی به همراه ۳ ابزار AI برای برنامه‌نویسان از فرادرس می‌تواند برای شما مفید باشد که لینک آن را نیز درادامه آورده‌ایم.

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

یادگیری ماشین لرنینگ با فرادرس

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

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

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

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

مزایا و معایب RAG چیست؟

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

«مزایا و معایب RAG»

نقاط قوت RAG چیست؟

مزیت‌های تکنیک «تولید تقویت شده با بازیابی» را در ادامه فهرست کرده‌ایم.

  • پاسخ‌های دقیق‌تر و مرتبط با درخواست کاربر: یکی از مهم‌ترین مزایای تکنیک RAG در مدل‌های زبانی بزرگ این است که دقت و صحت محتوای تولید شده با AI را افزایش می‌دهد. استفاده از اطلاعات به‌روز که از منابع اطلاعاتی بیرونی به دست آمده است، به این سیستم‌ها امکان می‌دهد تا پاسخ‌هایی را برای درخواست‌ها تولید کنند که هم به لحاظ مفهومی درست باشند و هم به واقعیت نیز نزدیک‌تر باشند.
  • آگاهی بهتر از موضوع مدنظر کاربر: مدل‌های زبانی بزرگ که از تکنیک RAG استفاده می‌کنند نسبت به LLM‌-های قدیمی‌تر آگاهی بهتری از موضوع مدنظر کاربر دارند. چون RAG می‌تواند به اطلاعات موجود در پایگاه داده و منبع بیرونی نیز دسترسی داشته باشد.
  • اشتباهات کمتر در پاسخ‌های هوش مصنوعی: یکی از مشکلاتی که در مدل‌های زبانی بزرگ ممکن است با آن رو به رو شویم، «توهم | Hallucinations» یا حالتی است که سیستم AI اطلاعات نادرست یا غیرمربوط به ما تحویل می‌دهد. هنگامی‌که با استفاده از تکنیک RAG فرایند تولید پاسخ را با اطلاعات بیرونی و واقعی‌تر همراه کنیم، احتمال وقوع این مشکل نیز کاهش می‌‌یابد. این مورد باعث می‌شود تا برنامه ما برای اپلیکیشن‌های مهم و حیاتی انتخاب بهتری باشد.
  • کاربردهای گوناگون: تکنیک RAG علاوه بر اینکه در اپلیکیشن‌های مکالمه‌ای یا به اصطلاح چت‌بات‌های هوش مصنوعی استفاده می‌شود، با انجام بهینه‌سازی می‌تواند کاربردهای خاص دیگری همچون سیستم‌های گفت و گو و خلاصه‌سازی متن نیز داشته باشد.
  • آموزش ساده‌تر: RAG از اطلاعات بازیابی شده از منابع بیرونی استفاده می‌کند. همین ويژگی باعث می‌شود تا نیاز به آموزش LLM روی دیتاست‌های بسیار بزرگ کمتر شود.
  • تولید پاسخ با ترکیب اطلاعات: با وجود این تکنیک، پاسخ‌های هوش مصنوعی برای پرسش شما با تلفیق اطلاعات به دست آمده از منابع بیرونی مانند پایگاه داده‌ها و همچنین اطلاعات تولید شده توسط هوش مصنوعی، ایجاد می‌شوند.
  • کاهش هزینه‌های مالی و پردازشی: با ساز و کاری که RAG برای تولید اطلاعات و ارائه پاسخ‌ها دارد، دیگر لازم نیست تا به‌طور مداوم مدل‌های خود را با داده‌های جدید آموزش دهیم و از صرف زمان و منابع برای انجام این کار تا حد زیادی جلوگیری می‌شود.
دانشمندان هوش مصنوعی در محل کار خود

نقاط ضعف RAG چیست؟

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

  • کیفیت و صحت داده‌ها: هنگام استفاده از روش RAG در فرایند تولید پاسخ، داده‌ها از منابع اطلاعاتی بیرونی بازیابی می‌شوند و RAG نمی‌تواند صحت و کیفیت آن‌ها را ارزیابی کند. به بیان دیگر، کیفیت پاسخ‌هایی که این سیستم تولید می‌کند تا حد زیادی به کیفیت اطلاعات بازیابی شده از منابع بیرونی بستگی دارد.
  • بار محاسباتی: هما‌ن‌طور که اشاره شد، در تکنیک RAG با یک بخش بازیابی برای دریافت و یکپارچه‌سازی اطلاعات از منبع بیرونی رو به رو هستیم که می‌تواند به پردازش‌های سنگینی نیاز داشته باشد.
  • تأخیر: با در نظر گرفتن اینکه در روش RAG، مرحله «بازیابی اطلاعات از منبع بیرونی» به مدل زبانی بزرگ اضافه می‌شود، ایجاد مقداری تأخیر در ارائه پاسخ دور از انتظار نیست. به‌همین ترتیب اگر فرایند بازیابی شامل جست و جو در پایگاه داده‌های بزرگ‌تری باشد، میزان تأخیر نیز بیشتر خواهد شد.
  • شفافیت: یکی از نقاط ضعفی که در مورد سیستم‌های RAG می‌توان بیان کرد، مشکلی است که در زمینه شفافیت و توضیح‌پذیری دارند و می‌‌تواند روی اعتماد کاربر تأثیر منفی داشته باشد. یعنی ممکن است شما به عنوان کاربر ندانید که اطلاعات ارائه شده از چه منبعی آمده است.
کدهای برنامه در حال بازیابی اطلاعات از دیتابیس - RAG چیست

انواع RAG

«تولید تقویت شده با بازیابی» یا RAG یکی از تکنیک‌های بسیار قدرتمند در برنامه‌های هوش مصنوعی محسوب می‌شود و در اینجا می‌‌خواهیم برخی از رویکردهای این تکنیک را به شما معرفی کنیم.

انواع RAG به لحاظ منبع اطلاعاتی

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

منابع اطلاعاتی برای RAG را می‌توان در قالب ۲ دسته زیر تقسیم کرد.

  • داده‌های ساختارمند
  • داده‌های بدون ساختار مشخص

انواع RAG به لحاظ پیاده سازی

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

  • RAG ساده
  • RAG ساده مجهز به حافظه
  • RAG منشعب
  • HyDe
  • RAG تطبیقی
  • RAG اصلاحی (CRAG)
  • Self-RAG
  • Agentic RAG
انواع RAG

در ادامه، هر یک از این رویکردها را بیشتر توضیح داده‌ایم.

۱. RAG ساده چیست؟

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

پروفسور در حال توضیح اینکه RAG چیست به دانشجویان

۲. RAG ساده مجهز به حافظه چیست؟

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

۳. RAG منشعب چیست؟

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

۴. HyDe چیست؟

پس از اینکه ورودی و درخواست کاربر توسط سیستم «امبدینگ سند فرضی» (Hypothetical Document Embedding | HyDE) دریافت شد، مدل زبانی بزرگ، پاسخ فرضی مرتبط با آن را ایجاد می‌کند. در گام بعدی با استفاده از همین پاسخ، اطلاعات مرتبط از پایگاه داده برداری دریافت می‌شود. در ادامه نیز پرامپتی بر مبنای همین داده‌ها تولید شده که پاسخ کاربر را ایجاد می‌کند.

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

۵. RGA تطبیقی چیست؟

رویکرد «Adaptive RAG»، روش‌هایی مانند «تحلیل درخواست» و «Active/Self-Corrective RAG» را با هم تلفیق می‌کند. در این سیستم، با در نظر گرفتن نوع ورودی، استراتژی‌های مختلفی برای تولید پاسخ به‌کار گرفته می‌شود.

فرایند پیاده‌سازی این نوع از RAG شامل ۲ مؤلفه اصلی زیر است.

  • تحلیل درخواست: تعیین استراتژی مناسب برای بازیابی از جمله «Single-Shot RAG» ،«Iterative RAG» یا سایر روش‌‌ها
  • اجرای استراتژی: اجرای استراتژی تعیین شده و اِعمال تنظیمات مورد نیاز برای رسیدن به دقت مناسب

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

متخصص هوش مصنوعی در حال اجرای الگوریتم در کامپیوتر خود

۶. Self-RAG چیست؟

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

«Self-RAG»، هم برای اطلاعات بازیابی شده و هم برای پاسخ‌های تولید شده، ۲ ویژگی Self-Reflection و Self-Grading را به‌کار می‌گیرد.

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

۷. RAG عامل محور چیست؟

«Agentic RAG»، روش دیگری است که بر مبنای عامل‌ها عمل کرده و با در نظر گرفتن چند سند، به‌طور منسجم به پرسش‌ها پاسخ می‌دهد.

در ادامه، با ۲ مؤلفه اصلی در معماری این روش آشنا خواهید شد.

  • «عامل‌های مربوط به اسناد» (Document Agents): هر سند عامل مخصوص به خود را دارد که می‌تواند کارهای مرتبط با همان سند همچون پاسخ به پرسش‌ها و خلاصه‌سازی را انجام دهد.
  • «عامل متا» (Meta-Agent): تعاملات مربوط به عامل‌های اسناد توسط یک عامل اصلی که متا نام دارد مدیریت می‌شوند. متا همچنین خروجی‌های این عامل‌ها را با هم ترکیب می‌کند تا پاسخ کامل و منسجمی تولید شود.

۸. RAG اصلاحی چیست؟

در رویکرد «Corrective RAG» که با نام «CRAG» هم شناخته می‌شود، از ۲ فرایند «Self-Reflection» و «Self-Grading» با هدف بهبود دقت بازیابی استفاده می‌شود.

منظور از Self-Reflection یا خوداندیشی این است که هوش مصنوعی می‌تواند عملکرد خود را تحلیل کند و بسنجد. سپس در همین راستا، فرصت‌هایی برای بهبود خود پیدا کند. Self-Grading نیز بیان‌گر این است که سیستم می‌تواند خروجی خود را ارزیابی و رتبه‌بندی کند.

طرز کار RAG اصلاحی بدین شکل است که ابتدا با در نظر گرفتن ورودی سیستم، اسناد و اطلاعات مرتبط را بازیابی می‌کند. این مرحله به‌عنوان بازیابی اولیه در نظر گرفته می‌شود.

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

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

نمودار زیر یک نمونه RAG اصلاحی را نشان می‌دهد.

RAG اصلاحی

این نوع از RAG مناسب شرایط حساس همچون کاربردهای پزشکی یا حقوقی است که دقت زیادی می‌بایست در آن‌ها خرج شود.

مقایسه سریع انواع RAG

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

تکنیک RAG طرز کار کاربرد
RAG ساده بازیابی اسناد مناسب طبق ورودی و تولید پاسخ کارهایی مانند پرسش و پاسخ
RAG ساده حافظه‌دار RAG ساده + قابلیت حفظ اطلاعات زمینه‌ای هوش مصنوعی مکالمه‌ای
Branched RAG بهبود جست و جو با پاسخ‌های دریافتی درخواست‌های پیچیده و نیازمند استدلال‌های مختلف
HyDE ایجاد سند فرضی مناسب قبل از انجام بازیابی هناگم موجود نبودن پاسخ دقیق برای پرسش‌ها در پایگاه دانش
Adaptive RAG تنظیم استراتژی‌های بازیابی و تولید هنگام داشتن پایگاه‌های دانش و پرسش‌های متنوع
Corrective RAG (CRAG) بهبود مکرر پاسخ‌ها با بررسی صحت آن‌ها موقعیت‌های حساس و نیازمند دقت بالا و صحت اطلاعات
Self-RAG ارزیابی و بهبود پاسخ‌های مدل کارهای نیازمند دقت زیاد و امکان بهبود چندمرحله‌ای
Agentic RAG افزودن ویژگی چند عاملی به RGA کارهای پیچیده و نیازمند برنامه‌ریزی و تصمیم‌گیری

پیاده سازی تکنیک RAG

اکنون که با تکنیک RAG، مزیت‌ها و طرز کار آن آشنا شده‌اید، می‌خواهیم نحوه پیاده‌سازی آن را نیز برایتان شرح دهیم تا دانش شما در این مورد عمیق‌تر شود. در این پیاده‌سازی از «SingleStore» به عنوان پایگاه داده برای نگهداری داده‌های برداری استفاده کرده‌ایم.

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

نمونه سیستم RAG

ثبت نام و ورود به سایت SingleStore

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

  • لینک وب‌سایت پایگاه داده SingleStore: «+»

ایجاد فضای کاری و دیتابیس در SingleStore

همان‌طور که در تصویر زیر نیز نشان داده شده، لازم است تا یک فضای کاری یا «Workspace» جدید برای خود بسازید.

ایجاد فضای کاری

پس از اینکه Workspace خود را ایجاد کردید، می‌توانید به سادگی، یک دیتابیس با نام دلخواه بسازید. برای این کار همان‌طور که در تصویر زیر نشان داده شده، کافی است به سربرگ «Create Database» در سمت راست صفحه بروید.

برای مشاهده تصویر در اندازه اصلی، روی آن کلیک کنید.

ایجاد Notebook و کدنویسی

اکنون می‌توانیم به سراغ توسعه اپلیکیشن خود برویم. برای این منظور به ناحیه «Develop» می‌رویم تا به Notebook-ها برای کدنویسی، دسترسی پیدا کنیم.

بخش develop برای ایجاد نوت‌بوک

یک Notebook جدید با نام دلخواه می‌سازیم.

ایجاد نوت‌بوک جدید

قبل از ادامه کار لازم است تا Workspace و دیتابیس خود را از یست کشویی Notebook انتخاب کنیم. تصویر زیر این مورد را نشان داده است.

انتخاب دیتابیس در نوت‌بوک - RAG چیست

اکنون، زمان کدنویسی فرا رسیده است. پس کد‌های آورده شده در ادامه را مطابق تصویر زیر در Notebook خود وارد کنید.

«برای مشاهده تصویر در اندازه اصلی، روی آن کلیک کنید.»

کدهای لازم برای نصب کتابخانه‌های مورد نیاز را در ادامه آورده‌ایم.

!pip install openai numpy pandas singlestoredb langchain==0.1.8 langchain-community==0.0.21 langchain-core==0.1.25 langchain-openai==0.0.6

در ادامه می‌خواهیم کدهای مربوط به عمل امبدینگ و یافتن شباهت ۲ بردار را بیان کنیم. کدهایی که در ادامه آورده شده، بیان‌گر  نمونه تابعی است که کلمه‌ای را دریافت کرده و به وکتور تبدیل می‌کند. به بیان دیگر عمل امبدینگ را انجام می‌دهد.

برای یافتن شباهت کسینوسی ۲ بردار نیز می‌توان از تابعی استفاده کرد که کدهای آن را در ادامه آورده‌ایم.

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

اکنون نوبت به ایجاد پایگاه داده برداری با SingleStoreDB می‌رسد. در توسعه این اپلیکیشن، از فریمورک «LangChain»، پایگاه داده برداری SingleStore برای نگهداری امبدینگ‌ها و لینک یک فایل متنی «.txt » شامل متون مشخص استفاده کرده‌ایم.

در ادامه، با استفاده از کدهایی که آورده شده، کلید API مربوط به OpenAI را به‌صورت یک متغیر محلی اضافه می‌کنیم.

در ادامه، لازم است کارهایی مانند موارد فهرست شده در زیر را انجام دهید.

  • ایمپورت کردن کتابخانه‌هایی که پیش از این نصب کردیم.
  • فراخوانی و بارگذاری فایل مورد نظر که می‌خواهیم در این پروژه از آن استفاده کنیم.
  • فایل را به قطعات کوچکتر، تقسیم‌بندی و آن را در پایگاه داده SingleStore ذخیره می‌کنیم.
  • در آخر نیز می‌توانید پرسشی مرتبط با محتوای منبع داده مطرح کنید.

در ادامه کدهای مربوط به کارهای اشاره شده را آورده‌ایم.

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

در این پروژه، اپلیکیشنی را توسعه داده‌ایم که می‌تواند پاسخ‌های مناسب و دقیقی را برای درخواست یا پرسش ورودی تولید کند. در واقع، فایل خود را به شکل بردارهای عددی تبدیل و در پایگاه داده SingleStore ذخیره کردیم تا قابل بازیابی باشد. پس از ورود درخواست، اطلاعات مرتبط از محتوایی که به عنوان منبع در اختیارش قرار داده‌ایم بازیابی شده و در فرایند تولید پاسخ مورد استفاده قرار می‌گیرد. به همین دلیل پاسخ‌های مناسبی تولید می‌شود.

فرق Fine Tuning با تکنیک RAG چیست؟

برای اینکه مدل‌های زبانی بزرگ بتوانند در حوزه‌های تخصصی نیز به‌خوبی پاسخ‌گوی نیازها و درخواست‌های کاربران باشند، تکنیک‌های گوناگونی از جمله RAG، «تنظیم دقیق» (Fine Tuning) و غیره برای آن‌ها معرفی شده است. این روش‌ها با اینکه هدف مشابهی را دنبال می‌کنند اما ممکن است طرز کار و فرایند متفاوتی داشته باشند. به‌طور مثال، در فاین‌تیونینگ، مدل زبانی بزرگ با استفاده از داده‌های تخصصی آموزش می‌بیند. اما در روش RAG، امکان دسترسی و بازیابی اطلاعات از منبع بیرونی فراهم شده است تا به هدف اشاره شده دست پیدا کند.

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

فرق GenAI با RAG چیست؟

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

ویژگی تکنیک RAG GenAI
منبع دانش اطلاعات منابع بیرونی + داده‌های آموزشی داده‌های آموزشی مدل
به‌روز بودن اطلاعات امکان بازیابی اطلاعات به‌روز به‌روز بودن محدود اطلاعات
دقت اشتباه کمتر در پاسخ‌ها احتمال بیشتر بروز خطا در پاسخ‌ها
دانش قابل توسعه امکان کار با دیتاست‌های بسیار بزرگ محدود به اندازه حافظه مدل
کاربردها مناسب برای کاربردهای تخصصی خلاصه‌سازی یا سایر وظایف عمومی

پیشینه تکنیک RAG

هوش مصنوعی RAG، رویکردی است که به‌وسیله آن، مدل‌های هوش مصنوعی می‌توانند به دیتاست‌ها و اطلاعاتی دسترسی داشته باشند که به لحاظ محتوا غنی‌تر و مطمئن‌تر باشند و در همین راستا، خروجی‌های شخصی‌سازی‌شده و دقیق‌تری را ارائه دهند.

در ادامه، با پیشینه این تکنیک به‌طور خلاصه آشنا خواهید شد.

  • دهه ۷۰ میلادی: بررسی و توسعه سیستم‌های پرسش-پاسخ با قابلیت دسترسی به متون تخصصی با متن‌کاوی
  • دهه ۹۰ میلادی: توسعه سیستم «Ask Jeeves» یا «Ask.com» کنونی
  • سال ۲۰۱۷ میلادی: معرفی معماری ترنسفورمر در مقاله‌ای از گوگل و انتشار GPT در سال بعد از آن
  • سال ۲۰۲۰ میلادی: معرفی فریمورک RAG با هدف ترکیب LLM با بازیابی داده‌ها، توسط تیمی از محققان شرکت فیسبوک

تأثیرگزاری RAG در کاربردهای هوش مصنوعی

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

هوش مصنوعی و شهر هوشمند - RAG چیست

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

یادگیری پردازش زبان طبیعی و دیپ لرنینگ با فرادرس

تا اینجا با تکنیک RAG در مدل‌های زبانی بزرگ آشنا شده‌اید. حالا قصد داریم فیلم‌های آموزشی را معرفی کنیم که تماشای آن‌ها می‌تواند به شما در برداشتن گام‌های بعدی و تقویت مهارت‌هایتان کمک کند.

مهندس یادگیری ماشین در حال ارزیابی مدل - RAG چیست

جمع‌بندی

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

در این مطلب از مجله فرادرس، مبحث «تولید تقویت شده با بازیابی» یا RAG را مورد بررسی قرار دادیم که در واقع یکی از تکنیک‌های پردازش زبان طبیعی در ساخت LLM-ها محسوب می‌شود و چالش اشاره شده را رفع می‌کند. این روش باعث می‌شود تا LLM-ها بتوانند اطلاعات بازیابی شده از منابع بیرونی و به‌روز را نیز در تولید پاسخ‌های خود دخیل کنند. بر همین مبنا، محتوای تولیدی دقت و صحت بیشتری خواهد داشت.

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

source

توسط expressjs.ir