Что такое Retrieval-Augmented Generation?

Что такое Retrieval-Augmented Generation современное направление в генерации информации?

Чтобы понять последний прогресс в области генеративного ИИ, представьте себе судебный зал.

Судьи выслушивают и принимают решения по делам на основе своего общего понимания закона. Иногда дело – например, иск о медицинской ошибке или трудовой спор – требует специальных знаний, поэтому судьи отправляют судебных помощников в правовую библиотеку, ищут прецеденты и конкретные дела, на которые они могут ссылаться.

Подобно хорошему судье, большие языковые модели (LLMs) могут отвечать на широкий спектр вопросов от людей. Но чтобы давать авторитетные ответы, ссылаясь на источники, модели нужны помощники, которые проводят исследования.

Судебными помощниками ИИ являются процесс, называемый увеличением сведений при генерации (RAG – retrieval-augmented generation).

История названия

Патрик Льюис, ведущий автор статьи 2020 года, придумавшей термин, извинился за негативный акроним, который сейчас описывает растущую семью методов в сотнях статей и десятках коммерческих сервисов, которые, по его мнению, представляют будущее генеративного ИИ.

Изображение Патрика Льюиса, ведущего автора статьи о RAG
Патрик Льюис

“Мы определенно задумались над названием, если бы знали, насколько широко распространится наша работа”, сказал Льюис в интервью из Сингапура, где он делился своими идеями на региональной конференции разработчиков баз данных.

“У нас всегда был план найти более привлекательное название, но когда пришло время писать статью, никто не придумал ничего лучше”, – сказал Льюис, который сейчас руководит командой RAG в стартапе Cohere.

Итак, что такое увеличение сведений при генерации?

Увеличение сведений при генерации – это техника, которая улучшает точность и надежность генеративных ИИ-моделей, добавляя факты из внешних источников.

Другими словами, она заполняет пробел в работе LLMs. Внутриектовые языковые модели – это нейронные сети, обычно оценивающиеся по количеству их параметров. Параметры LLMs в основном представляют общие шаблоны того, как люди используют слова, чтобы составлять предложения.

Такое глубокое понимание, иногда называемое параметризованными знаниями, делает LLMs полезными при ответе на общие запросы с быстрой скоростью. Однако они не помогают пользователям, которые хотят более глубокого погружения в текущую или более конкретную тему.

Совмещение внутренних и внешних ресурсов

Льюис и его коллеги разработали увеличение сведений при генерации для связи генеративных ИИ-сервисов с внешними ресурсами, особенно богатыми последними техническими деталями.

В статье, авторами которой являются сотрудники бывшего отдела Facebook AI Research (теперь Meta AI), University College London и New York University, RAG называется “универсальным рецептом тонкой настройки”, потому что он может быть использован практически любыми LLM для связи с практически любым внешним ресурсом.

Повышение доверия пользователей

Увеличение сведений при генерации предоставляет моделям источники, на которые они могут ссылаться, подобно сноскам в исследовательской статье, чтобы пользователи могли проверить любые утверждения. Это повышает доверие.

Более того, эта техника может помочь моделям разрешить неоднозначность в запросе пользователя. Она также снижает возможность ошибочного угадывания моделью, явление, иногда называемое галлюцинацией.

Еще одним великим преимуществом RAG является его относительная простота. По блогу Льюиса и трех соавторов статьи, разработчики могут реализовать этот процесс всего лишь с помощью пяти строк кода.

Такой подход делает этот метод быстрее и менее затратным, чем повторное обучение модели с использованием дополнительных наборов данных. Он также позволяет пользователям оперативно менять источники.

Как люди используют увеличение сведений при генерации?

С помощью увеличения сведений при генерации пользователи могут вести разговор с репозиториями данных, открывая новые виды опыта. Это означает, что применение RAG может быть в несколько раз многообразнее количества доступных наборов данных.

Например, генеративная модель искусственного интеллекта, дополненная медицинским индексом, может стать отличным помощником для врача или медсестры. Финансовым аналитикам было бы полезно иметь помощника, связанного с рыночными данными.

Фактически, практически любой бизнес может превратить свои технические или политические инструкции, видео или журналы в ресурсы, называемые базами знаний, которые могут усилить LLM. Эти источники могут создавать случаи использования, такие как поддержка клиентов или полевая поддержка, обучение сотрудников и продуктивность разработчика.

Широкий потенциал – вот почему компании, включая AWS, IBM, Glean, Google, Microsoft, NVIDIA, Oracle и Pinecone, приходят к принятию RAG.

Начало работы с Retrieval-Augmented Generation

Чтобы помочь пользователям начать работу, NVIDIA разработала эталонную архитектуру для retrieval-augmented generation. Она включает образец чат-бота и элементы, необходимые пользователям для создания собственных приложений с помощью этого нового метода.

Для работы используются NVIDIA NeMo, фреймворк для разработки и настройки генеративных моделей искусственного интеллекта, а также программное обеспечение, такое как NVIDIA Triton Inference Server и NVIDIA TensorRT-LLM для запуска генеративных моделей искусственного интеллекта в производственной среде.

Компоненты программного обеспечения являются частью NVIDIA AI Enterprise, платформы, ускоряющей разработку и внедрение готовых к производству систем искусственного интеллекта с необходимой безопасностью, поддержкой и стабильностью для бизнеса.

Для получения наилучшей производительности в рабочих процессах RAG требуется большое количество памяти и вычислительных ресурсов для перемещения и обработки данных. NVIDIA GH200 Grace Hopper Superchip с его 288 ГБ быстрой памяти HBM3e и 8 петафлопс вычислений – идеальное решение, которое может обеспечивать ускорение в 150 раз по сравнению с использованием ЦП.

После того, как компании познакомятся с RAG, они могут сочетать различные готовые или настраиваемые LLM с внутренними или внешними базами знаний, чтобы создать широкий спектр помощников, которые помогают их сотрудникам и клиентам.

Для RAG не требуется центр обработки данных. LLM дебютирует на ПК под управлением Windows благодаря программному обеспечению NVIDIA, позволяющему получать доступ ко всем видам приложений, даже на ноутбуках пользователей.

Диаграмма показывает запуск RAG на ПК
Пример приложения RAG на ПК.

ПК, оснащенные GPU NVIDIA RTX, теперь могут локально запускать некоторые модели искусственного интеллекта. Используя RAG на ПК, пользователи могут ссылаться на личные источники знаний – будь это электронные письма, заметки или статьи – чтобы улучшить ответы. Пользователь может быть уверен, что его источник данных, указания и ответы остаются конфиденциальными и защищенными.

Недавний блог предоставляет пример RAG, ускоренного с помощью TensorRT-LLM для Windows, чтобы получить быстрые и лучшие результаты.

История Retrieval-Augmented Generation

Корни этой техники уходят как минимум в начало 1970-х годов. Именно тогда исследователи по информационному поиску создали прототипы систем вопросно-ответного типа, приложений, использующих обработку естественного языка (NLP), для доступа к текстам, изначально в узком контексте, таком как бейсбол.

Суть этой разновидности текстового анализа осталась неизменной на протяжении многих лет. Однако машинное обучение, которое приводит их в движение, значительно развилось, повышая их полезность и популярность.

В середине 1990-х годов сервис Ask Jeeves, теперь Ask.com, популяризировал системы ответов на вопросы с помощью своего маскота – наряженного слуги. В 2011 году IBM Watson стал телезвездой, одержав победу над двумя человеческими чемпионами на игровом шоу Jeopardy!

Изображение Ask Jeeves, первого социального веб-сервиса

Сегодня LLM-ы достигают совершенно нового уровня в системах ответов на вопросы.

Инсайты из лондонской лаборатории

Набирая степень доктора в NLP в University College London и работая в Мета в новой лондонской лаборатории искусственного интеллекта, Льюис впервые сталкивается с основополагающей статьей 2020 года. Команда искала способы упаковки большего количества знаний в параметры LLM и использовала разработанный бенчмарк для измерения своего прогресса.

Продолжая работу над предыдущими методами и вдохновленные статьей от исследователей Google, группа “представляла себе обученную систему с индексом извлечения в середине, чтобы она могла учиться и генерировать любой текстовый вывод, который вам понадобится”, – вспоминает Льюис.

Изображение победы IBM Watson на шоу "Jeopardy", которое популяризировало сервис AI, напоминающий RAG
Система ответов на вопросы IBM Watson стала звездой, когда победила в телевизионном игровом шоу Jeopardy!

Когда Льюис впервые подключил перспективную систему извлечения, разрабатываемую другой командой Meta, первые результаты оказались неожиданно впечатляющими.

«Я показал это своему научному руководителю, и он сказал: “Вау, засчитай это как победу. Такое происходит нечасто», потому что настройка этих процессов может быть сложной в первый раз», – сказал он.

Льюис также отмечает значительный вклад участников команды – Итана Переса и Дауэ Киелы, тогда представителей Нью-Йоркского Университета и исследовательского центра Facebook AI.

Конечный результат этой работы, выполняемой на кластере GPU NVIDIA, показал, как сделать модели искусственного интеллекта более авторитетными и надежными. С тех пор она была процитирована сотнями статей, которые расширили и развили концепции в этой активной области исследований.

Как работает увеличение вывода с использованием извлечения

На высоком уровне процесс RAG описывается в технической брошюре NVIDIA следующим образом.

Когда пользователи задают вопрос LLM, модель ИИ отправляет запрос в другую модель, которая преобразует его в числовой формат, чтобы машины могли его прочитать. Числовая версия запроса иногда называется вектором или встроенным представлением.

Диаграмма NVIDIA, показывающая работу RAG с LLM-моделями
Улучшение вывода с использованием извлечения объединяет LLM-модели с моделями векторизации и векторными базами данных.

Затем модель векторизации сравнивает эти числовые значения с векторами в машинном индексе доступной базы знаний. Когда она находит совпадение или несколько совпадений, она извлекает связанные данные, преобразует их в понятные слова и передает результат обратно LLM.

Наконец, LLM объединяет найденные слова и свой собственный ответ на запрос, формируя окончательный ответ, который он представляет пользователю, возможно, указывая источники, найденные моделью векторизации.

Следить за актуальностью источников

Фоновая векторизационная модель непрерывно создает и обновляет машинно-читаемые индексы, иногда называемые векторными базами данных, для новых и обновленных баз знаний по мере их появления.

Диаграмма процесса RAG, описываемая LangChain
Улучшение вывода с использованием извлечения объединяет LLM-модели с моделями векторизации и векторными базами данных.

Многие разработчики находят библиотеку с открытым исходным кодом LangChain особенно полезной для объединения LLM, встраивания моделей и баз знаний. NVIDIA использует LangChain в своей базовой архитектуре для извлекаемого поколения.

Сообщество LangChain предоставляет свое собственное описание процесса RAG.

В будущем будущее генеративного искусственного интеллекта заключается в творческом объединении различных LLM и баз знаний для создания новых видов помощников, которые предоставляют пользователю авторитетные результаты, которые можно проверить.

Потренируйтесь использовать извлекаемое поколение с помощью чат-бота на искусственном интеллекте в этой лаборатории NVIDIA LaunchPad.