Генерация, дополненная поискомГенерация, дополненная поиском (Retrieval-Augmented Generation, RAG) — это подход, при котором генерация ответа большой языковой модели (LLM) осуществляется на основе данных, полученных в результате поиска во внешних источниках (файлы, базы данных, Интернет и другие источники). RAG-система работает в два основных этапа: сначала происходит извлечение релевантных документов или их частей из внешней базы знаний на основе запроса пользователя, а затем полученная информация подставляется вместе со специальными подсказками, указывающими как модель должна использовать эти данные, в контекст языковой модели для генерации итогового ответа. В зависимости от указаний в подсказках, сгенерированный ответ может включать цитаты или ссылки на исходные документы, что повышает прозрачность и доверие пользователей, позволяя проверить информацию. RAG помогает устранить ограничения LLM, такие как устаревание информации, наличие неточностей или появления галлюцинаций[1][2]. RAG расширяет базу знаний LLM до неограниченных размеров, дает быстрый доступ к специализированным доменам знаний или к внутренней базе знаний организации без необходимости переобучения модели. RAG сочетает в себе сильные стороны традиционных систем поиска информации (таких как поисковые системы и базы данных) с возможностями генеративных больших языковых моделей. С появлением больших языковых моделей исследования RAG первоначально фокусировались на использовании их способности к обучению в контексте, преимущественно затрагивая этап вывода. Последующие работы углубили анализ, постепенно интегрируя методы RAG в процесс тонкой настройки LLM. Учёные также изучают возможности улучшения языковых моделей на этапе предварительного обучения[3]. Парадигмы RAGРазвитие методов генерации с дополненным поиском начинается с базовой парадигмы Naive RAG, основанной на простом цикле индексации, извлечения и генерации. Парадигма Advanced RAG внедряет этапы предварительной и последующей обработки извлекаемой информации, направленных на повышение качества и релевантности контекста. Современный этап, парадигма Modular RAG, представляет собой гибкую и адаптивную архитектуру, позволяющую интегрировать новые функциональные модули, изменять паттерны взаимодействия компонентов и сочетать RAG с другими методами, такими как тонкая настройка, что обещает дальнейшее повышение точности, надежности и универсальности генеративных моделей при работе с внешними источниками знаний[3]. Базовый подход (Naive RAG)Базовый подход к генерации с дополненным поиском представляет собой первоначальную и наиболее простую реализацию парадигмы RAG, функционирующую по принципу последовательного извлечения информации (Retrieve) и последующей генерации текста на ее основе. Включает три основных функциональных этапа:
Несмотря на простоту, Naive RAG обладает рядом ограничений:
Advanced RAGAdvanced RAG нацелен на устранение недостатков, присущих базовым реализациям. Фундаментальное отличие заключается во внедрении техник, преимущественно для повышения качества и релевантности этапа информационного поиска (retrieval). Данные усовершенствования охватывают как предварительную обработку (pre-retrieval), так и постобработку (post-retrieval) относительно основного шага извлечения информации[3]. Этап предварительной обработки (Pre-retrieval) включает оптимизацию двух ключевых компонентов: индекса данных и пользовательского запроса. Оптимизация индексации достигается за счет применения таких техник, как:
Оптимизация запроса преследует цель повышения его информативности и точности посредством техник перефразирования (query rewriting), трансформации (query transformation) и расширения (query expansion). Этап постобработки (Post-retrieval) активируется после извлечения набора потенциально релевантных контекстных фрагментов. Его задача – оптимизировать интеграцию этого контекста с исходным запросом перед подачей в генеративную языковую модель. Ключевые методы постобработки включают:
Интеграция стратегий предварительной и постобработки в рамках Advanced RAG демонстрирует более глубокое понимание сложностей, связанных с информационным обеспечением генеративных языковых моделей. Этот подход признает критическую важность как качества самой извлеченной информации, так и эффективности ее представления для достижения высокой производительности RAG-системы. Modular RAGModular RAG представляет собой наиболее продвинутую парадигму RAG, предлагающую повышенную адаптивность и универсальность за счет включения разнообразных стратегий улучшения компонентов RAG[3]. Этот подход опирается на принципы Naive и Advanced RAG, но вводит специализированные модули и паттерны взаимодействия между ними. Модули:
Паттерны взаимодействия
Гибкая оркестрация: Modular RAG обеспечивает гибкое управление процессом поиска и генерации с помощью адаптивных методов, таких как FLARE и Self-RAG. Эти методы позволяют системе самостоятельно определять необходимость поиска дополнительной информации на различных этапах генерации, что делает процесс более эффективным и контекстуально-зависимым. Преимущества RAGИспользование RAG предоставляет ряд существенных преимуществ для улучшения больших языковых моделей. Повышенная точность и надежность: RAG обеспечивает доступ LLM к самым актуальным и надежным фактам, что значительно снижает вероятность генерации неверного или вводящего в заблуждение контента. За счет обоснования ответов на внешних, проверенных источниках информации, RAG гарантирует, что LLM оперирует наиболее точными данными[4]. Уменьшение галлюцинаций: Одним из ключевых преимуществ RAG является минимизация риска "галлюцинаций" — генерации LLMs вымышленной или неточной информации. Предоставляя LLM конкретные, извлеченные факты, RAG значительно снижает вероятность создания ответов, не основанных на реальных данных[4]. Улучшение контекстуальности ответов: RAG позволяет LLM получать доступ к свежей информации в режиме реального времени, преодолевая ограничения, связанные с датой отсечения знаний, присущей их обучающим данным. Это обеспечивает LLMs возможность предоставлять ответы, основанные на самой последней доступной информации, что особенно важно в динамичных областях. Повышение доверия пользователей: RAG способствует повышению доверия пользователей к сгенерированному контенту за счет предоставления источников информации, использованных для формирования ответа. Возможность проверить источники информации позволяет пользователям убедиться в достоверности полученных сведений[5]. Экономическая эффективность: В отличие от тонкой настройки, требующей дообучения LLM на новых данных, RAG позволяет избежать этого дорогостоящего и ресурсоемкого процесса. RAG обеспечивает более экономичный способ адаптации LLMs к новым данным и доменам знаний. Интеграция с разными моделями, агентами и чат-ботами: RAG интегрируется в любую БЯМ и не зависит только от одного производителя моделей. Интегрируется с LLM-приложениями, включая чат-боты и разговорных агентов, предоставляя им доступ к внешним, свежим, частным или специализированным данным. Проблемы и ограничения RAGНесмотря на многочисленные преимущества, применение RAG в больших языковых моделях сопряжено с рядом потенциальных проблем и ограничений.
Применение RAGБлагодаря своей способности сочетать обширные знания больших языковых моделей с актуальной информацией из внешних источников, RAG находит широкое применение в самых разных областях. RAG находит применение во множестве контекстов, включая вопросно-ответные системы, анализ временных рядов с использованием агентных RAG-фреймворков, повышение фактичности в медицинских системах обработки изображений и языка, улучшение точности в юридических и политических приложениях, повышение качества автоматического распознавания речи (ASR), обеспечение многоязычного доступа к информации, а также в качестве инструментов помощи в написании научных работ, таких как LLM-Ref или сервисы типа OpenAI Deep Research. Вопросно-ответные и консультационные системыОдним из наиболее распространенных применений RAG является открытое вопросно-ответное взаимодействие, где системы генерируют ответы на широкий спектр вопросов, извлекая релевантную информацию и обосновывая свои ответы полученными данными. В области разговорного искусственного интеллекта RAG используется для улучшения диалоговых систем, обеспечивая связные и фактичные ответы, что особенно полезно для чат-ботов службы поддержки клиентов. Способность RAG предоставлять обоснованные ответы с цитатами и ссылками на первоисточник повышает доверие пользователей к таким системам и улучшает качество взаимодействия[6]. В критически важных областях, таких как медицина и юриспруденция, RAG демонстрирует значительный потенциал. В медицинских диагностических системах RAG может использоваться для поиска и интеграции последних исследований или специфических данных о пациентах для генерации точных диагностических предположений. Юридические консультационные системы могут применять RAG для поиска релевантных прецедентов или законодательных актов, чтобы предоставлять юридически обоснованные советы. Разработанная система Tc-Rag, представляющая собой Turing-Complete RAG, показывает превосходные результаты в медицинских вопросно-ответных задачах[9], что подчеркивает важность RAG для обеспечения точности и актуальности информации в этих областях. Персонализированные рекомендации и реферирование документовRAG также успешно применяется в системах персонализированных рекомендаций, где извлекаются предпочтения пользователей или история их взаимодействия для генерации индивидуальных предложений. В области автоматического реферирования документов RAG используется для создания кратких изложений, основанных на извлеченных знаниях, что позволяет быстро получать ключевую информацию из больших объемов текста[6]. ОценкаИнтеграция внешних данных в большие языковые модели посредством технологии RAG сталкивается с факторами, влияющими на корректность генерируемых ответов. Ключевые проблемы включают: нерелевантная или недостоверная информация, присутствующая во внешних источниках; неэффективный поиск системой RAG даже в высококачественной достоверной базе данных; непредсказуемость процесса генерации LLM, которая не гарантирует последовательного и эффективного использования релевантных сведений извлекаемых документов. Поэтому разработка и применение методов для систематического измерения качества функционирования RAG-систем приобретает особую важность. Для систематической оценки RAG разработан ряд бенчмарк-тестов и инструментов. Эти средства предоставляют количественные метрики, которые не только измеряют производительность моделей, но и способствуют детальному анализу их возможностей в различных аспектах оценки. Ключевые бенчмарки — RGB, RECALL и CRUD — ориентированы на проверку базовых характеристик RAG. Современные автоматизированные инструменты, такие как RAGAS, ARES и TruLens, используют LLM для автоматического присвоения оценок качества[3]. Современные методы оценки RAG акцентируются на трёх ключевых показателях качества и четырёх важнейших способностях, которые в совокупности характеризуют два основных направления оценки: качество извлечения информации и генерации ответов. Релевантность контекста и устойчивость к шуму важны для оценки качества извлечения данных. Достоверность ответа, уместность ответа, отказ от ответа, интеграция данных и контрфактуальная устойчивость характеризуют качество генерации[10]. Показатели качества
Проверяемые способностиУстойчивость к шуму (noise robustness) — свойство языковых моделей (LLM), позволяющее извлекать полезные данные из зашумленных документов, определяемых как релевантные вопросу, но лишённые информации об ответе (например, сообщения о лауреате Нобелевской премии по литературе 2021 года при запросе о премии 2022 года). Оценка точности LLM при различных уровнях шума (доля неинформативных документов) демонстрирует два ключевых вывода: 1) RAG существенно улучшает ответы моделей даже в условиях шума (например, ChatGPT сохраняет 96,33% точности при умеренном шуме); 2) при превышении 80% шума производительность закономерно снижается (ChatGPT — до 76%, ChatGLM2-6B — до 57,33%, p < 0,05). Анализ ошибок выявил три основные причины сбоев: трудности с идентификацией информации, разделённой в тексте значительными интервалами («длинная дистанция»), влияние спекулятивных данных, маркированных как неопределённые (например, перед анонсами Apple или «Оскара»), и концептуальная путаница из-за семантической близости терминов. Для повышения эффективности RAG требуется усовершенствование методов обработки объёмных документов и распознавания тонких различий в понятиях[10]. Отказ от ответа (negative rejection) — оценивает способность воздерживаться от генерации при отсутствии достаточной или необходимой информации, предоставленной RAG. В реальных ситуациях поисковые системы часто не могут найти документы, содержащие ответы. В таких случаях важно, чтобы модель могла отклонить запрос и избежать генерации вводящего в заблуждение контента. Модели склонны к формулированию выводов, основанных на неполных или неоднозначных данных, присутствующих в анализируемых документах, что может приводить к недостаточной обоснованности генерируемых утверждений. Другой распространённой неточностью является смешение семантически близких, но различных по значению понятий, встречающихся как в запросе пользователя, так и в исходных текстовых материалах[10]. Интеграция данных (information integration) — анализирует умение интегрировать информацию из множества источников для сложных вопросов. Во многих случаях ответ на вопрос может содержаться в нескольких документах. Например, для вопроса "Кто чемпионы US Open 2022 в мужском и женском одиночном разряде?", два чемпиона могут упоминаться в разных документах. Для предоставления лучших ответов на сложные вопросы необходимо, чтобы большие языковые модели (LLM) обладали способностью интегрировать информацию. Языковые модели часто не следуют строго инструкциям и генерируют непредсказуемые ответы[10]. Контрфактуальная устойчивость (counterfactual robustness) — определяет распознавание и игнорирование заведомо ложных данных. Оценке подлежит ситуация, при которой LLM предоставляются инструкции с предупреждениями о потенциальных рисках в полученных данных. Даже когда языковые модели содержат необходимые знания и получают такие предупреждения о рисках, они склонны доверять и отдавать приоритет извлеченной информации над своими существующими знаниями. Тестовый набор бенчмарка RGB для включает примеры, на которые модели могут ответить напрямую, но внешние документы содержат фактические ошибки. Метрики: уровень обнаружения ошибок (Error detection rate) и уровень исправления ошибок (Error correction rate). По данным RGB бенчмарка: cложные вопросы более уязвимы к помехам от шума. Значительное снижение производительности наблюдается при коэффициенте шума 0,4, в то время как для простых проблем значительное снижение происходит только при коэффициенте шума 0,8. Анализ ошибок ChatGLM2-6B показал три типа уникальных ошибок при интеграции информации: ошибки слияния (28%), ошибки игнорирования (28%) и ошибки несоответствия (6%)[10]. Примечания
|
Portal di Ensiklopedia Dunia