مینا حاجی رضایی
مینا حاجی رضایی
خواندن ۸ دقیقه·۵ ماه پیش

What is RAG (Retrieval-Augmented Generation)?

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

چرا تولید تقویت‌شده با بازیابی مهم است؟

مدل‌های زبان بزرگ یک تکنولوژی کلیدی در هوش مصنوعی (AI) هستند که به راه‌اندازی چت‌بات‌های هوشمند و دیگر برنامه‌های پردازش زبان طبیعی (NLP) کمک می‌کنند. هدف این است که چت‌بات‌هایی ساخته شوند که بتوانند به سوالات کاربران در زمینه‌های مختلف پاسخ دهند و منابع معتبر دانش را برای این کار مرجع قرار دهند. متأسفانه، ماهیت تکنولوژی مدل‌های زبان بزرگ باعث بروز پیش‌بینی‌ناپذیری در پاسخ‌های این مدل‌ها می‌شود. علاوه بر این، داده‌های آموزشی مدل‌های زبان بزرگ ایستا هستند و تاریخ برش مشخصی دارند که اطلاعات مدل در آن تاریخ متوقف می‌شود.

چالش‌های شناخته‌شده مدل‌های زبان بزرگ عبارتند از:

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

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

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

مزایای تولید تقویت‌شده با بازیابی (RAG)
تکنولوژی RAG مزایای متعددی را برای تلاش‌های هوش مصنوعی مولد سازمان‌ها به همراه دارد.

1. اجرای مقرون به صرفه

توسعه چت‌بات‌ها معمولاً با استفاده از یک مدل پایه آغاز می‌شود. مدل‌های پایه (Foundation Models - FMs) مدل‌های زبان بزرگی هستند که از طریق API در دسترس قرار دارند و روی داده‌های عمومی و بدون برچسب آموزش دیده‌اند. هزینه‌های محاسباتی و مالی برای آموزش مجدد مدل‌های پایه برای اطلاعات خاص یک سازمان یا دامنه، بسیار بالا است. RAG رویکردی مقرون به صرفه‌تر برای معرفی داده‌های جدید به مدل‌های زبان بزرگ است. این امر باعث می‌شود که تکنولوژی هوش مصنوعی مولد در دسترس و قابل استفاده‌تر باشد.

2. اطلاعات به‌روز

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

3. افزایش اعتماد کاربران

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

4. کنترل بیشتر برای توسعه‌دهندگان

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

چگونه تولید تقویت‌شده با بازیابی کار می‌کند؟

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

1. ایجاد داده‌های خارجی

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

2. بازیابی اطلاعات مرتبط

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

3. تقویت ورودی مدل زبان بزرگ

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

4. به‌روزرسانی داده‌های خارجی

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

نمودار زیر جریان مفهومی استفاده از RAG با مدل‌های زبان بزرگ را نشان می‌دهد.


تفاوت بین تولید تقویت‌شده با بازیابی (RAG) و جستجوی معنایی

جستجوی معنایی نتایج RAG را برای سازمان‌هایی که می‌خواهند منابع اطلاعاتی خارجی وسیعی را به برنامه‌های مدل زبان بزرگ (LLM) خود اضافه کنند، تقویت می‌کند. شرکت‌های مدرن مقادیر زیادی اطلاعات مانند راهنماها، سوالات متداول، گزارش‌های تحقیقاتی، راهنمای خدمات مشتری و مخازن اسناد منابع انسانی را در سیستم‌های مختلف ذخیره می‌کنند. بازیابی زمینه‌ای در مقیاس بزرگ چالش‌برانگیز است و در نتیجه کیفیت خروجی مولد کاهش می‌یابد.

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

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

چگونه AWS می‌تواند نیازهای شما در زمینه تولید تقویت‌شده با بازیابی (RAG) را پشتیبانی کند؟

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

برای سازمان‌هایی که RAG خود را مدیریت می‌کنند، Amazon Kendra یک سرویس جستجوی سازمانی با دقت بالا است که توسط یادگیری ماشین قدرت‌گیری می‌شود. این سرویس یک API بهینه‌شده برای بازیابی به نام Kendra Retrieve API ارائه می‌دهد که می‌توانید آن را با رنکینگ معنایی دقیق Amazon Kendra به‌عنوان یک بازیاب سازمانی برای گردش‌کارهای RAG خود استفاده کنید. به‌عنوان مثال، با استفاده از API بازیابی می‌توانید:

  • حداکثر 100 گزاره معنایی مرتبط با حداکثر 200 کلمه نشانه‌گذاری شده را بازیابی کرده و بر اساس ارتباط آن‌ها مرتب کنید.
  • از اتصالات پیش‌ساخته به تکنولوژی‌های داده محبوب مانند Amazon Simple Storage Service، SharePoint، Confluence و سایر وب‌سایت‌ها استفاده کنید.
  • از فرمت‌های مختلف اسناد مانند HTML، Word، PowerPoint، PDF، Excel و فایل‌های متنی پشتیبانی کنید.
  • پاسخ‌ها را بر اساس اسنادی که مجوزهای کاربر نهایی اجازه می‌دهند فیلتر کنید.

همچنین Amazon گزینه‌هایی برای سازمان‌هایی که می‌خواهند راه‌حل‌های هوش مصنوعی مولد سفارشی‌تری بسازند، ارائه می‌دهد. Amazon SageMaker JumpStart یک مرکز ML با مدل‌های پایه، الگوریتم‌های داخلی و راه‌حل‌های ML پیش‌ساخته است که می‌توانید آن‌ها را تنها با چند کلیک پیاده‌سازی کنید. شما می‌توانید با ارجاع به دفاتر و مثال‌های کد موجود در SageMaker، روند پیاده‌سازی RAG را سرعت بخشید.

با ایجاد یک حساب کاربری رایگان امروز می‌توانید کار با تولید تقویت‌شده با بازیابی (RAG) را در AWS آغاز کنید.

aws
Artificial Intelligence Engineer, Area of Expertise machine learning, Specialized field of natural language.
شاید از این پست‌ها خوشتان بیاید