Внедрение знаний в LLM: дообучение и RAG
Большие языковые модели (LLM) впечатляют своей способностью хранить и генерировать огромные объемы знаний. Во время предварительного обучения они опираются на массивные наборы данных, что делает их экспертами по различным темам. Но у них есть свои ограничения. Во-первых, их знания статичны, поскольку они не обновляются с течением времени. Кроме того, хотя они превосходно справляются с общими знаниями, им часто не хватает глубокой экспертизы, необходимой для специализированных областей, таких как здравоохранение, финансы или право.
Методы внедрения знаний, такие как тонкая настройка и генерация, дополненная извлечением (RAG), используются для устранения этих ограничений. Тонкая настройка предполагает корректировку весов модели с помощью данных, специфичных для задачи, тогда как RAG привлекает внешние знания во время вывода, позволяя модели при необходимости получать релевантную информацию. В этом исследовании эти два подхода сравниваются в различных задачах, требующих интенсивного использования знаний, чтобы оценить их эффективность в расширении и уточнении фактических знаний LLM.
RAG стабильно превосходил тонкую настройку в задачах, требующих интенсивного использования знаний, демонстрируя более высокую способность интегрировать внешнюю информацию. Хотя тонкая настройка улучшила производительность по сравнению с базовой моделью, она не была столь конкурентоспособной, как RAG. Кроме того, дополнение данных оказалось полезным для тонкой настройки, поскольку знакомство моделей с несколькими вариациями одного и того же факта во время обучения улучшало сохранение знаний.
Методологический конвейер тонкой настройки и RAG
Давайте подробнее рассмотрим эти два метода и изучим, как они соотносятся друг с другом, когда речь идет об улучшении знаний LLM. Чтобы представить это в перспективе, вообразите трех студентов, сдающих тест по теме, которую они не изучали. У одного учебник был только во время теста, другой занимался перед тестом, а у третьего не было доступа к материалам после начала теста. Как вы думаете, кто справился бы лучше всего?
Давайте выясним!
Для подробного понимания обратитесь к следующей статье.
Почему LLM генерируют фактические ошибки?
Несмотря на свою впечатляющую беглость и универсальность, LLM по своей природе склонны к фактическим ошибкам из-за нескольких критически важных факторов, включая дефицит предметных знаний, устаревшие обучающие данные и ограничения в рассуждении.
- Дефицит предметных знаний: LLM могут не обладать глубокой экспертизой в конкретных областях, которые были недостаточно представлены во время обучения. Например, модель, обученная преимущественно на общих новостных источниках, может испытывать трудности с узкоспециализированными областями, такими как медицина или право, если она не была тонко настроена на предметно-специфичных данных.
- Устаревшая информация: LLM ограничены датой отсечения своих обучающих наборов данных. Любые события, научные достижения или культурные сдвиги, происходящие после этой даты отсечения, не будут включены, что приводит к устаревшим ответам. Это особенно проблематично в динамичных областях, таких как здравоохранение, где модель, обученная до пандемии COVID-19, не будет располагать информацией о протоколах здравоохранения, связанных с пандемией, и разработках вакцин.
- Незапоминание: Некоторые знания, усвоенные моделью во время обучения, могут не сохраняться, особенно когда речь идет о редких фактах или менее часто встречающихся шаблонах в обучающих данных. Эта проблема может препятствовать способности модели последовательно вспоминать менее распространенную информацию в разных задачах или при разных входных данных.
- Забывание: Катастрофическое забывание происходит во время тонкой настройки, когда модель забывает ранее усвоенную информацию, особенно менее акцентированные факты из исходного обучения. Это распространенная проблема LLM, которая может влиять на долгосрочное сохранение знаний.
- Ошибки рассуждения: LLM иногда не удаётся корректно применять свои знания, особенно в сложных, многоэтапных задачах на рассуждение. Например, LLM могут выдавать неверные или неполные ответы, когда их просят решить сложные математические задачи или выполнить многоступенчатые логические выводы. Эти ошибки часто связаны с трудностью модели поддерживать логическую связность на более длинных последовательностях рассуждений.
Эти проблемы в основном возникают на этапе обучения модели, за заметным исключением катастрофического забывания, которое появляется после обучения во время дообучения.
Внедрение знаний в языковые модели
Фактические ошибки в больших языковых моделях (LLM) часто являются результатом пробелов в базе знаний модели. Для решения этой проблемы внедрение знаний является важной техникой, которая помогает уточнить и расширить способность модели давать точные ответы.
Внедрение знаний относится к процессу модификации или дополнения языковой модели дополнительной информацией. Вместо того чтобы изучать совершенно новые факты, оно смещает предсказания модели в сторону конкретной области знаний, улучшая её производительность в задачах, требующих большого объёма знаний.
Математическая формулировка
Теперь рассмотрим математическую формулировку, лежащую в основе внедрения знаний, и то, как оно приводит к повышению точности модели.
Задача
Исследование сосредоточено на фактических знаниях. Если модель что-то знает, она может последовательно правильно отвечать на связанные вопросы и отличать истинные утверждения от ложных.
Вот как это работает математически:
Q = {qn}n=1N — множество из N фактических вопросов
Каждый вопрос qn имеет L возможных ответов, а C = {cn}n=1N — множество правильных ответов на эти вопросы.
M представляет модель, которая предсказывает ответ на каждый вопрос. Предсказанный моделью ответ на вопрос qn обозначается как M(qn) ∈ {an1 , . . . , anL } , и он принадлежит множеству возможных ответов.
Мы можем оценить знания модели, вычислив её показатель знаний (точность), то есть процент правильных ответов, которые модель даёт среди всех вопросов:
LM,Q := #{qn| M(qn) = cn} N .
В этом уравнении:
LM,Q — показатель знаний модели.
Числитель подсчитывает, сколько раз ответ модели M(qn) совпадает с правильным ответом cn для каждого вопроса qn.
Знаменатель — общее количество вопросов N.
Внедрение знаний
Одного общего предобучения недостаточно для многих задач, требующих большого объёма знаний. Чтобы повысить производительность, нам необходимо внедрение знаний.
Это можно математически представить следующим образом: при заданных предобученной модели M, множестве вопросов Q и вспомогательной базе знаний BQ мы стремимся найти функцию внедрения знаний F такую, что:
M′ := F(M, BQ) s.t. LM',Q > LM,Q.
Проще говоря, мы стремимся создать новую модель M′, применяя F, которая включает базу знаний BQ в исходную модель M. Цель состоит в том, чтобы новая модель работала лучше, отвечая правильно на большее число вопросов.
Прирост точности
Чтобы увидеть, насколько внедрение знаний (например, дообучение или RAG) улучшило модель, мы сравниваем точность до и после добавления дополнительных знаний. Улучшение рассчитывается по этой формуле:
(LM`,Q-LM,Q) / LM,Q
Где:
LM,Q — точность модели до добавления новых знаний.
LM`,Qis — точность модели после добавления новых знаний.
Эта формула показывает относительный прирост точности и то, насколько лучше стала модель после включения новой информации.
Фреймворки для внедрения знаний
Два распространённых фреймворка для внедрения знаний — это дообучение (FT) и генерация с дополнением извлечением (RAG). Дообучение адаптирует модель, обучая её на данных, специфичных для предметной области, тогда как RAG улучшает модель, извлекая релевантную информацию из внешней базы знаний во время инференса.
Дообучение
Дообучение — широко используемая техника для внедрения знаний. В этой технике предварительно обученная LLM дополнительно обучается на специализированном наборе данных, чтобы усвоить конкретные знания или улучшить свою производительность в определённых задачах. Этот процесс позволяет модели «адаптировать» ранее изученные знания для включения новых фактов, предметно-специфических терминов и паттернов рассуждения.
Типы дообучения
- Обучение с учителем: Обучение с учителем (SFT) требует наборов размеченных пар входных и выходных данных. Один из распространённых методов SFT — настройка по инструкциям, где входные данные представляют собой описание задачи на естественном языке, а выходные — пример желаемого поведения. Многие современные LLM проходят настройку по инструкциям после этапа предварительного обучения. Настройка по инструкциям улучшает общее качество модели, уделяя особое внимание возможностям zero-shot и рассуждения. Однако настройка по инструкциям не обучает модель новым знаниям и сама по себе недостаточна для внедрения знаний.
Дообучение с подкреплением: Методы дообучения на основе обучения с подкреплением (RL) оптимизируют модели, вознаграждая правильные ответы и штрафуя неправильные. Примеры включают обучение с подкреплением на основе обратной связи от человека (RLHF), прямую оптимизацию предпочтений (DPO) и проксимальную оптимизацию политики (PPO). Эти методы полезны для улучшения общего качества ответов и поведения. Однако, как и настройка по инструкциям, RL-дообучение не обязательно охватывает широту знаний, необходимую для внедрения знаний.
Дообучение без учителя: Дообучение без учителя не требует размеченных данных. Распространённый метод — продолженное предварительное обучение или неструктурированное дообучение, при котором процесс рассматривается как продолжение предварительного обучения. Модель обучается каузальным авторегрессионным способом, предсказывая следующий токен. Обычно используется более низкая скорость обучения, чтобы предотвратить катастрофическое забывание. Этот подход эффективен для внедрения новых знаний в модель, поскольку он опирается на знания, сохранённые на этапе предварительного обучения. В этой работе используется дообучение без учителя для повышения способности модели усваивать новую информацию.
Генерация с дополнением извлечением (RAG)
Генерация с дополнением извлечением (RAG) — это форма обучения в контексте, которая выходит за пределы статических знаний, встроенных в LLM, позволяя моделям извлекать релевантную информацию из внешних источников перед генерацией ответа. В отличие от традиционного дообучения, которое изменяет внутренние веса модели, RAG опирается на внешние базы знаний, чтобы привязывать выходные данные модели к данным в реальном времени. Этот подход имеет преимущество предоставления доступа к актуальной, предметно-специфической и авторитетной информации, гарантируя, что сгенерированный текст остаётся точным и релевантным.
Модели RAG состоят из двух основных компонентов:
- Компонент извлечения: Эта часть модели отвечает за поиск релевантной информации во внешних базах данных, репозиториях документов или даже в интернете на основе пользовательского запроса. Перед извлечением документы преобразуются в векторные эмбеддинги с использованием моделей эмбеддингов и сохраняются в векторной базе данных. Во время извлечения запрос преобразуется в эмбеддинг и сопоставляется с сохранёнными эмбеддингами в векторной базе данных, чтобы извлечь наиболее релевантную информацию. Распространённые векторные базы данных, такие как Milvus, обеспечивают эффективный поиск по большим наборам данных.
- Компонент генерации: После извлечения релевантных документов или знаний компонент генерации синтезирует извлечённую информацию в связный, контекстуально подходящий ответ. Это позволяет модели интегрировать информацию в реальном времени и отвечать на вопросы с большей точностью, особенно по темам, которые требуют самых свежих знаний.
Экспериментальная настройка
В этом разделе описывается постановка эксперимента, включая базу знаний, выбор моделей, настройку обучения и методы оценки, используемые для оценки производительности моделей.
База знаний
Оценка основана на трех ключевых компонентах: бенчмарке MMLU, задаче по текущим событиям и задачах генерации парафраз.
Бенчмарк MMLU
Для оценки возможностей LLM в задачах, требующих большого объема знаний, были выбраны четыре задачи из бенчмарка Massively Multilingual Language Understanding (MMLU). Эти задачи охватывают такие предметные области, как анатомия, астрономия, биология, химия и доисторический период. Выбор был основан на их акценте на фактических знаниях при минимальной зависимости от рассуждений.
MMLU был выбран в качестве бенчмарка благодаря широкому охвату фактических вопросов с несколькими вариантами ответа в различных областях, что обеспечивает разнообразную и объективную проверку фактического понимания модели. Задачи по доисторическому периоду были включены для оценки способности модели обрабатывать фактическую информацию из немодерной истории. Такой подход проверяет способность модели понимать и манипулировать знаниями в отрыве от процессов рассуждения.
Задача по текущим событиям
Новый набор данных был создан с фокусом на вопросах с несколькими вариантами ответа о событиях, произошедших после даты отсечения обучающих данных моделей. В частности, задача была сосредоточена на "текущих событиях" в США за период с августа по ноябрь 2023 года и была составлена на основе соответствующих индексов Wikipedia.
Такой подход гарантирует, что модели не были знакомы с этими фактами во время обучения, что позволяет напрямую проверить их возможности по внедрению знаний и способность работать с актуальной фактической информацией.
Генерация парафраз
GPT-4 использовался для генерации аугментаций путем создания перефразированных версий входных данных после создания набора данных. Модели было поручено сохранять исходный смысл, переформулируя предложения. В каждой итерации перефразирования использовался другой seed, чтобы обеспечить разнообразие сгенерированных версий.
Для каждой задачи MMLU случайным образом выбирались 240 фрагментов, и для каждого фрагмента создавались два парафраза, которые откладывались для валидации во время настройки гиперпараметров. Для каждого фрагмента, использованного в процессе дообучения для набора данных по текущим событиям, генерировалось десять парафразов.
Выбор моделей
Llama2-7B, Mistral-7B и Orca2-7B были выбраны для оценки производительности инференса при различных подходах к моделированию. Этот набор включает сочетание широко используемых базовых моделей с открытым исходным кодом и модели, дообученной на инструкциях, обеспечивая сбалансированную основу для сравнения.
Кроме того, bge-large-en был выбран в качестве модели эмбеддингов для компонента RAG. Согласно лидерборду Hugging Face MTEB, эта модель эмбеддингов была state-of-the-art среди вариантов с открытым исходным кодом.
Настройка обучения
Процесс обучения включает следующие ключевые компоненты:
- Процедура: Все модели были дообучены с использованием неконтролируемого метода обучения. Обучающий набор данных был разделен на фрагменты, при этом каждый фрагмент не превышал размер 256 токенов. Специальные токены
и использовались для обозначения начала и конца каждого фрагмента.
- Аппаратное обеспечение: Модели обучались на 4 GPU NVIDIA A-100, что обеспечило наличие необходимых вычислительных ресурсов для масштабного дообучения.
Гиперпараметры:
Скорости обучения тестировались в следующем диапазоне: от 1 × 10-6до 5 × 10-5.
Модели обучались максимум 5 эпох с размером батча 64, выбранным на основе оптимизации гиперпараметров.
Оценка
Оценка проводилась с использованием фреймворка LM-Evaluation-Harness, популярного инструмента для оценки производительности LLM. Этот фреймворк предоставляет стандартизированный подход к оценке моделей, обеспечивая согласованность между задачами и методами. Модели оценивались с точки зрения их способности предсказывать правильные ответы на фактические вопросы.
Для эксперимента эти подходы к оценке следующие:
- Базовая модель: Исходная производительность модели без какой-либо дополнительной инъекции знаний.
- Дообучение (FT): Модель дообучается на данных, специфичных для задачи, чтобы улучшить ее производительность при ответах на вопросы, основанные на фактических знаниях.
- Генерация с дополнением извлечением (RAG): Этот метод использует внешнюю базу знаний и извлекает релевантную информацию для дополнения ответов модели.
- Дообучение + RAG (FT+RAG): Гибридный подход, который сочетает дообучение с генерацией, дополненной извлечением, с целью повысить производительность за счет использования как адаптации знаний, так и извлечения.
Помимо сравнения этих четырех подходов, производительность оценивалась в двух различных режимах:
- 0-shot: Модель тестируется без каких-либо предварительных примеров, полагаясь исключительно на знания, полученные во время предварительного обучения, и любую инъекцию знаний (дообучение или RAG).
- 5-shot: Модели предоставляется пять примеров для каждой задачи, что дает контекст для формирования прогнозов. Этот режим проверяет способность модели обобщать на основе примеров в более практичном, реальном сценарии.
Сравнение точности и производительности моделей в рамках этих четырех подходов выявило влияние инъекции знаний, дообучения и генерации, дополненной извлечением, на способность LLM справляться с задачами, требующими интенсивного использования знаний.
Результаты эксперимента
Теперь давайте перейдем к экспериментальным результатам по различным базам знаний, т. е. бенчмарку MMLU и данным о текущих событиях, и рассмотрим, как каждый подход справился с задачами, требующими интенсивного использования знаний
Результаты MMLU
Во всех задачах RAG стабильно превосходил базовые модели, что видно по точности логарифмического правдоподобия для всех задач и режимов.
Результаты для наборов данных MMLU с точки зрения точности логарифмического правдоподобия | Источник
Использование RAG с базовой моделью в качестве генератора оказалось более эффективным, чем одно только дообучение. В некоторых случаях замена базовой модели на дообученную модель в пайплайне RAG дополнительно улучшала результаты. Однако эффект был непоследовательным и подчеркнул присущую дообучению нестабильность. Кроме того, prompting с пятью примерами давал небольшое, но стабильное улучшение во всех методах.
Относительный прирост точности для каждого метода инъекции знаний, усредненный (по столбцам) по всем экспериментам на наборе данных MMLU | Источник
Результаты по текущим событиям
RAG показал исключительную производительность в задаче по текущим событиям благодаря точному соответствию между вопросами и вспомогательным набором данных. Хотя дообучение оказалось полезным, оно уступило эффективности RAG. Однако дополнение дообучения (FT-par) несколькими перефразировками значительно улучшило результаты по сравнению с базовым подходом (FT-reg).
Результаты по текущим событиям. Модели, которые были дообучены на исходном наборе данных, обозначены как FT-reg, тогда как модели, обученные на наборе данных с несколькими перефразировками, обозначены как FT-par | Источник
Дообучение против RAG
Результаты задач MMLU и Current Events подтверждают превосходство RAG над дообучением. Хотя дообучение повысило точность по сравнению с базовой моделью, оно не смогло сравниться с приростом производительности от извлечения.
Этой тенденции способствуют несколько факторов:
- Доступ к контекстным знаниям: В отличие от дообучения, RAG динамически извлекает релевантную информацию, гарантируя, что ответы опираются на контекст.
- Катастрофическое забывание: Дообучение несет риск перезаписи ранее усвоенных знаний, потенциально снижая общие возможности модели.
- Проблемы согласования: дообученные модели могут требовать дополнительного контролируемого дообучения или обучения с подкреплением (RLHF) для достижения оптимальной производительности
Ключевые выводы
- RAG превосходит базовые модели: RAG (Retrieval Augmented Generation) стабильно превосходил базовые модели, значительно повышая точность, особенно в задачах, требующих обширных знаний, за счёт дополнения модели внешними данными.
- RAG против дообучения (FT): RAG стабильно превосходил Fine-Tuning (FT). Сочетание RAG и FT показало некоторое улучшение при использовании дообученной модели в качестве генератора в конвейере RAG. Тем не менее результаты были непоследовательными, что указывает на присущую дообучению нестабильность по сравнению с RAG.
- Улучшение при 5-shot: Переход от 0-shot к 5-shot дал небольшое, но стабильное повышение производительности, при этом RAG получил наибольшую пользу от добавленного контекста.
- Аугментация данных улучшает удержание знаний: Эксперименты показывают, что аугментация данных на основе перефразирования приводит к монотонному увеличению точности модели в задачах внедрения знаний. Модели лучше понимают и обобщают новые знания, если информация переформулируется несколькими способами. По мере увеличения количества перефразирований точность модели продолжала стабильно улучшаться.
Точность модели в задаче о текущих событиях как функция количества перефразирований | Источник
RAG и векторные базы данных
RAG (Retrieval Augmented Generation) улучшает большие языковые модели, интегрируя извлечённые данные в ответы, повышая фактическую точность и контекстуальную релевантность.
Роль векторных баз данных в RAG
Векторные базы данных играют ключевую роль в Retrieval-Augmented Generation (RAG), обеспечивая эффективное хранение и извлечение высокоразмерных эмбеддингов. В системе RAG этап извлечения зависит от определения наиболее семантически релевантной информации из обширной базы знаний, и именно здесь векторные базы данных особенно эффективны.
Эти базы данных индексируют текстовые или мультимодальные данные как плотные векторные эмбеддинги, обеспечивая быстрый и точный поиск по сходству с использованием методов вроде поиска приближённых ближайших соседей (ANN). Когда генерируется запрос, векторная база данных извлекает наиболее близкие соответствующие эмбеддинги на основе косинусного сходства или других метрик расстояния. Это гарантирует, что в модель генерации передаётся только наиболее контекстуально релевантная информация, повышая фактическую точность и снижая количество галлюцинаций.
Векторные базы данных особенно ценны для извлечения знаний в реальном времени в таких приложениях, как системы вопросов и ответов, чат-боты, корпоративный поиск и рекомендательные системы.
Milvus/Zilliz как векторная база данных/облачная платформа
Milvus, векторная база данных с открытым исходным кодом, разработанная Zilliz, является мощным решением для управления и запросов к высокоразмерным эмбеддингам в системах Retrieval-Augmented Generation (RAG). RAG опирается на эффективный поиск по сходству для извлечения релевантных знаний перед генерацией ответов, а Milvus оптимизирован для крупномасштабных задач извлечения в реальном времени.
Обогащение знаний LLM с помощью Zilliz cloud для более точных ответов | Источник
Milvus позволяет хранить и индексировать миллионы или даже миллиарды векторных эмбеддингов, позволяя моделям RAG выполнять быстрый семантический поиск по обширным базам знаний. Milvus обеспечивает извлечение с низкой задержкой благодаря поддержке нескольких алгоритмов индексирования. Это критически важно для приложений, где информация в реальном времени имеет решающее значение, таких как чат-боты, поисковые системы и корпоративные AI-системы.
Zilliz расширяет Milvus облачными решениями, упрощая предприятиям развертывание и масштабирование векторного поиска для RAG без управления инфраструктурой. Этот облачно-ориентированный подход обеспечивает бесшовную интеграцию с LLM. Он позволяет организациям улучшать свои модели с помощью динамического извлечения знаний, сохраняя при этом производительность и масштабируемость.
Потенциальные направления будущих исследований
Большие языковые модели (LLM) обладают огромными объемами знаний, но их способность адаптироваться к новой, специализированной или ранее неизвестной информации остается сложной задачей. Дообучение и генерация с дополнением извлечением (RAG) — два заметных подхода к внедрению знаний. Хотя дообучение может быть полезно для многих приложений, RAG зарекомендовала себя как более надежный выбор для интеграции внешних знаний.
Несколько ключевых областей заслуживают дальнейшего изучения, чтобы углубить наше понимание внедрения знаний в LLM:
- Гибридная интеграция знаний: Исследование комбинаций дообучения, RAG и других техник для повышения адаптивности. Понимание того, как эти подходы дополняют друг друга, может привести к более эффективному внедрению знаний.
- Сочетание методов дообучения: Будущие исследования должны изучить интеграцию instruction-tuning и дообучения на основе обучения с подкреплением (RL) с неконтролируемым дообучением. Это могло бы улучшить адаптацию и сохранение знаний.
- Оценка представления знаний в LLM: Исследование того, как LLM внутренне хранят и извлекают внедренные знания с теоретической точки зрения. Более ясное понимание могло бы привести к более интерпретируемым и эффективным моделям.
- Измерение знаний в LLM: Разработка новых оценочных фреймворков, выходящих за рамки эмпирических подходов, для лучшей оценки сохранения знаний. Создание стандартизированных бенчмарков могло бы улучшить сопоставимость различных моделей.
Дальнейшие исследования в этих областях помогут усовершенствовать стратегии внедрения знаний, повышая эффективность и надежность LLM при адаптации к новой информации.
Дополнительные ресурсы
Исследовательская статья: Дообучение или извлечение? Сравнение внедрения знаний в LLM
Читать далее

Democratizing AI: Making Vector Search Powerful and Affordable
Zilliz democratizes AI vector search with Milvus 2.6 and Zilliz Cloud for powerful, affordable scalability, cutting costs in infrastructure, operations, and development.

Vector Databases vs. Graph Databases
Use a vector database for AI-powered similarity search; use a graph database for complex relationship-based queries and network analysis.

Building RAG Pipelines for Real-Time Data with Cloudera and Milvus
explore how Cloudera can be integrated with Milvus to effectively implement some of the key functionalities of RAG pipelines.



