Оценка и улучшение производительности RAG-пайплайна с использованием синтетических данных

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

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

Чтобы гарантировать эффективную работу системы RAG с вашими конкретными данными, вам необходимо оценить, хорошо ли заранее обученные модели встраивания работают на вашем корпусе данных. Эта оценка требует аннотированных данных, которые близки к типам запросов, которые будут подаваться конечными пользователями. Например, образец аннотированного набора данных может включать следующее:

Вопрос: Как мне сбросить пароль VPN компании?

Текст: Чтобы сбросить пароль VPN, посетите портал технической поддержки, выберите «Сбросить пароль» и следуйте инструкциям на экране.

Ответ: Посетите портал технической поддержки и выберите 'Сбросить пароль'

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

В этом посте мы обсудим, как создать синтетические данные для оценки и настройки ваших моделей встраивания с использованием новых пайплайнов NVIDIA генерации синтетических данных (SDG). Генерируя качественные синтетические аннотации, вы можете повысить производительность ваших моделей встраивания и оптимизировать точность извлечения для конкретных случаев использования вашей компании.

Настройка и оценка моделей встраивания

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

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

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

Например, рассмотрим слово pitch в различных контекстах:

  • Спорт: “Подача в бейсболе была идеальной.” Здесь “подача” относится к броску.
  • Бизнес: “Стартап представил замечательную презентацию инвесторам.” В этом случае “презентация” означает выступление.

Если модель встраивания обучалась преимущественно на спортивных данных, вектор слова “pitch” будет склоняться к спортивному контексту. Это может привести к неточным извлечениям при использовании для бизнес-запросов. 

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

Создание данных для оценки и настройки моделей встраивания вызывает трудности

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

В результате использование публичных наборов данных для оценки или настройки системы RAG может привести к неточным оценкам производительности и неоптимальной настройке модели.

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

Генерация высококачественных синтетических данных с помощью NVIDIA NeMo Curator

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

Пайплайн SDG для генерации данных оценки RAG специально разработан для генерации высококачественных пар вопрос-ответ (QA), которые оценивают, насколько хорошо работает модель встраивания. Он состоит из трех ключевых компонентов, каждый из которых гарантирует, что сгенерированные данные имеют контекст, соответствующий заданному уровню сложности и основаны на исходном материале:

  • LLM, генерирующий пары QA
  • Модель встраивания как судья для оценки сложности вопросов
  • Фильтр ответов для обоснования

NVIDIA NeMo Retriever, ключевой компонент платформы NVIDIA NeMo, также улучшает приложения RAG благодаря более быстрой, точной многомодальной извлечении данных с оптимизированными моделями, упакованными как микросервисы NVIDIA NIM. После настройки ваших моделей встраивания под вашу область применяйте их с помощью NeMo Retriever для оценки и масштабирования в производственном пайплайне. 

LLM, генерирующий пары QA

Этот компонент использует любую NVIDIA NIM LLM для генерации пар QA из исходных документов. Мы предоставили оптимизированные системные подсказки, которые направляют LLM на создание более осознанных и актуальных вопросов.

Пример ввода:
Исходный документ:
"Наша компания предлагает облачные решения в области кибербезопасности для предотвращения утечек данных."

Пример вывода:
Вопрос: "Какого рода решения предлагает компания?"
Ответ: "Облачные решения в области кибербезопасности."

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

Модель встраивания как судья для легкости вопросов

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

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

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

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

Фильтр ответов для обоснования

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

NeMo Curator также предоставляет пайплайн для генерации данных настройки для моделей встраивания. Помимо компонентов в пайплайне оценки, он добавляет модуль тяжелого негатива.

Понимание тяжелого негатива

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

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

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

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

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

Вы можете использовать тяжелые негативные документы следующими способами:

  • Выбор Top-K: Система определяет топ K негативных документов, имеющих наивысшее косинусное сходство с вопросом. Выбирая такие негативы, модель учится лучше отделять релевантные и нерелевантные документы, которые находятся близко в векторном пространстве. Это один из самых простых методов. 
  • Выбор на основе порогов: Альтернативный подход заключается в установлении минимальных и максимальных порогов для косинусного сходства между негативами и вопросом и выборе топ K негативных документов, которые попадают в эти пределы. Это гарантирует использование только наиболее сложных негативов во время обучения, дополнительно уточняя границу принятия решений модели. 
  • Обогащение положительными данными: Метод использует положительную оценку релевантности как якорь для более эффективного удаления ложных негативов. Этот подход направлен на решение проблемы выбора качественных тяжелых негативных отрывков для контрастного обучения. Мы определяем максимальный порог отрицательного сходства в процентах от положительной оценки. Этот метод показывает отличные результаты, если порог установлен на уровне 95% от положительного показателя. Для получения дополнительной информации о проведенном исследовании, смотрите NV-Retriever: Улучшение моделей встраивания текста с помощью эффективного выбора тяжелых негативов.

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

Резюме

В этом посте мы обсудили, как пайплайны SDG от NeMo Curator упрощают создание качественных наборов данных, позволяя точно оценивать и настраивать модели встраивания текста.

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

Для получения дополнительной информации о том, как начать, смотрите следующие ресурсы:

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

Перейти к источнику
AI Daily

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *