RAG та генерація з доповненням вилученням
Стаття також доступна російською (перейти до перегляду).
Світовий досвід підготовки та впровадження систем штучного інтелекту (ШІ) показав, що найбільш «вузьким» місцем цього процесу є етап навчання мовних моделей LLM (Large Language Model), котрий забирає левову частку ресурсів та визначає ефективність подальшого використання системи. Впровадження технології RAG (Retrieval-Augmented Generation) згладжує недоліки класичних схем підготовки LLM та дозволяє отримати більш точну та надійну схему формування відповідей систем ШІ на запити користувачів. Розглянемо концепцію використання RAG та її взаємодію із системами ШІ.
Недоліки використання класичних схем LLM
Якість роботи діалогових систем ШІ визначається рівнем підготовки їх основного елементу – мовної моделі або LLM. Під рівнем підготовки тут розуміється запас або рівень знань, котрим «володіє» модель. Саме на його підґрунті формуються відповіді на запити користувачів. Поповнення цього запасу здійснюється шляхом поступового навчання моделі із використанням різних методик, що може зайняти декілька місяців. Це у свою чергу означає, що своєчасне оновлення наявних у моделі знань може стати проблемою з-за надмірно великих часових витрат. Система ШІ стає інерційною і її відповіді можуть не відповідати критеріям надійності та безпомилковості.
Виходячи із зазначеного вище, сформуємо основні недоліки використання класичних схем LLM:
-
Надання користувачу застарілої інформації без врахування поточного стану речей;
-
Надання відповіді із використанням ненадійних джерел даних;
-
Формування неточних відповідей з-за використання застарілої або невірної термінології.
Для виправлення зазначених проблем слід зробити модель більш динамічною та адаптувати для роботи із різними типами зовнішніх джерел даних.
Що таке генерація з доповненою вибіркою та які її переваги
Впровадження підходу на основі RAG дозволяє вирішити більшість з вказаних проблем використання класичної схеми LLM. Механізм генерації з доповненою вибіркою спрямовує модель LLM на наперед визначені надійні джерела знань та забезпечує корекцію наданих даних за допомогою підказок.
Переваги використання вказаного підходу:
-
Актуальність наданої інформації;
-
Економний підхід до введення нової інформації у LLM;
-
Підвищує довіру користувачів до вірності отриманої інформації;
-
Надання більших можливостей для розробників – адаптація LLM, тестування тощо.
RAG розширює базу знань LLM майже до нескінченності, надаючи швидкий доступ до актуальної інформації без необхідності перенавчання моделі.
Як працює модуль RAG
З декотрим наближенням модуль RAG подібний до вдосконаленої пошукової системи, орієнтованої на роботу з базами даних. Відповідно до цього підготовка до його практичного використання також буде подібною.
Спочатку здійснюється підготовка зовнішніх джерел інформації шляхом їх індексації. Вибираються всі текстові дані, очищуються та сегментуються на окремі інформаційні блоки або чанки. Кожен такий блок із текстового перетворюється у векторний формат представлення, індексується та зберігається у векторній базі для організації швидкого пошуку за подібністю.
Схема роботи усієї системи ШІ, побудованої на основі RAG представлена на Малюнку 1.

Малюнок 1. Схема роботи діалогової системи ШІ із використанням модулю RAG.
Схема взаємодії системи ШІ із користувачем відбувається наступним чином:
- Активація. Формується вхідний контекст (Prompt), об’єднаний із запитом користувача (Query) котрі передаються на LLM.
- Релевантний пошук. Система відправляє запит до пошукового блоку RAG на отримання релевантної інформації стосовно запиту користувача.
- Релевантна інформація + підказка від RAG. На підставі отриманих результатів від зовнішніх джерел знань модуль передає релевантну відповідь та уточнюючу підказку до неї для LLM.
- Запит до Центру прийняття рішень. Система відправляє усі наявні по запиту дані (Prompt + Query + Розширений контекст від RAG) на EndPoint LLM для прийняття остаточного рішення.
- Готова відповідь. EndPoint LLM на підставі отриманих даних генерує остаточну відповідь по запиту, котра передається на вихід системи.
Ми розглянули лише один із базових підходів, котрий використовується у RAG. На практиці підходи до обробки запиту та механізми надання відповіді можуть різнитися в залежності від рівня складності системи ШІ. Наприклад, у деяких випадках модуль може виконувати функції тонкого налаштування або навчання для LLM, замінюючи собою цілий комплекс засобів, передбачених для підготовки класичної схеми LLM.
Практичне використання RAG для систем ШІ
При експлуатації систем ШІ на базі RAG слід враховувати деякі аспекти. Зокрема, це стосується підтримки актуальності зовнішніх джерел даних. Наприклад, це може бути періодичне асинхронне оновлення документів та їх внутрішнього представлення. Таке оновлення можна виконувати в реальному режимі часу за допомогою періодичної пакетної обробки або запуску автоматизованих процесів.
Дата-центр FREEhost.UA надає послугу оренди сервера з відеокартою. На базі цього серверу можно створити власну RAG модель, для навчання, або бізнесу.


