Генерация с дополненной выборкой
RAG — это технология, которая делает ответ большой языковой модели на запрос пользователя более точным на основе информации из надёжных источников. Чтобы реализовать её, создаётся собственная база знаний, которая никак не соотносится с источниками данных для обучения модели. Генерируя ответы на запросы пользователей, ИИ опирается на её контекст.
Зачем нужна RAG
Генерация с дополненной выборкой способна эффективно решать сразу несколько трудностей, возникающих при стандартном использовании больших языковых моделей:
- Если корректной информации для ответа на вопрос нет, модель может «придумать» её сама.
- Возможности БЯМ при ответах на узкие вопросы, относящиеся к конкретной отрасли, ограничены из-за недостатка данных для обучения.
- Модель может активно использовать ненадёжные источники для генерации ответов на запросы пользователя.
- Путаница в терминах и понятиях в сгенерированных ИИ ответах возникает из-за того, что в источниках они могут трактоваться по-разному.
Принцип работы RAG
В стандартную схему, в которой, получив запрос пользователя, языковая модель обращается к источникам для формирования ответа, добавляется ещё один шаг. Сначала происходит обращение ИИ к заранее сформированной базе знаний или другому надёжному источнику. На основе содержащейся там информации БЯМ «настраивается» на запрос пользователя и даёт более точный ответ. То есть эта обособленная база дополняет стандартные источники обучения модели. Именно этим механизмом и объясняется название «генерация с дополненной выборкой».
Как работает RAG — пошаговая схема
При создании базы, которая служит основой для RAG, выполняются следующие шаги:
- Чанкинг исходных данных. Так называют процесс их разбиения на единицы определённого размера. Данные приводятся к единому формату, структурируются и только после этого могут использоваться для RAG.
- Векторизация получившихся чанков, то есть их перевод в определённую последовательность чисел с сохранением семантического смысла текста, а также размещение готовых векторов в векторной базе.
При отправке пользователем запроса к большой языковой модели осуществляются эти действия:
- Преобразование текста запроса в вектор для более точного сопоставления с уже имеющимися данными.
- Поиск в базе документов с максимальным соответствием тексту запроса.
- Формирование контекста для запроса на основе имеющихся в базе данных.
- Передача запроса и сформированного контекста в большую языковую модель.
- Поиск моделью наиболее релевантной информации с учётом полученного контекста и выдача ответа.
Чем RAG полезна для бизнеса
- Избавляет от необходимости переобучать модель при каждом изменении значимых данных. Добавить новые вектора в базу будет дешевле и быстрее.
- Позволяет получать более точные и достоверные ответы, уменьшает количество ИИ-галлюцинаций.
- RAG можно развернуть локально в случаях, когда нельзя передавать используемые данные во внешние ИИ-сервисы.
Важным минусом генерации с дополненной выборкой является увеличение времени, которое проходит от момента отправки запроса до получения ответа. Дополнительное звено в цепи также немного увеличивает риск возникновения сбоев.