Новая технология делает системы RAG намного лучше при поиске нужных документов.

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


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

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

Ограничения биэнкодеров

Наиболее распространенным подходом к поиску документов в RAG является использование «бикодеров», где модель внедрения создает фиксированное представление каждого документа и сохраняет его в векторной базе данных. Во время вывода вычисляется внедрение запроса и сравнивается с сохраненными внедрениями, чтобы найти наиболее релевантные документы.

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

«Наш проект начался с изучения BM25, алгоритма старой школы для поиска текста», — рассказал VentureBeat Джон (Джек) Моррис, аспирант Корнеллского технологического института и соавтор статьи. «Мы провели небольшой анализ и увидели, что чем более нестандартным является набор данных, тем больше BM25 превосходит нейронные сети».

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

«Традиционные модели плотного поиска на основе нейронных сетей не могут этого сделать, потому что они просто устанавливают веса один раз на основе обучающих данных», — сказал Моррис. «Мы попытались разработать подход, который мог бы это исправить».

Контекстные внедрения документов

Контекстные внедрения документов
Встраивание контекстных документов. Автор: arXiv.

Исследователи из Корнелла предлагают два взаимодополняющих метода повышения производительности бикодеров путем добавления понятия контекста к встраиванию документов.

«Если вы думаете о поиске как о «конкуренции» между документами, чтобы определить, какой из них наиболее соответствует данному поисковому запросу, мы используем «контекст», чтобы информировать кодировщика о других документах, которые будут участвовать в соревновании», — сказал Моррис.

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

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

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

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

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

Влияние встраивания контекстных документов

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

«Наша модель должна быть полезна для любой области, которая существенно отличается от обучающих данных, и ее можно рассматривать как дешевую замену точной настройки моделей внедрения для конкретной области», — сказал Моррис.

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

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

Исследователи выпустили небольшую версию своей модели встраивания контекстных документов (cde-small-v1). Его можно использовать в качестве замены популярных инструментов с открытым исходным кодом, таких как HuggingFace и SentenceTransformers, для создания пользовательских вложений для различных приложений.

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

Основатель более 10 стартапов в области ИТ и ИИ. Серийный предприниматель. Профессиональный управленец.