newsmode
search
Меню
arrow_back Назад

P3: Optimizing Retrieval with Reasoning Models – Hamel’s Blog - Hamel Husain

auto_awesomeКраткое саммари

В рамках курса LLM Evals Хэмел Хусейн принимал Ориона Веллера из Университета Джонса Хопкинса, который рассказал об интеграции instruction-following и reasoning напрямую в процесс поиска документов для RAG. Орион утверждает, что хотя LLM улучшили генеративную часть RAG, сам этап ретривала остался статичным — LLM используется лишь как обёртка поверх классического поиска. Он представил две модели: Promptriever — bi-encoder, обученный на специальном датасете с instruction negatives, позволяющий встраивать инструкции прямо в эмбеддинг запроса; и Rank1 — cross-encoder реранкер, обученный путём дистилляции цепочек рассуждений из Deepseek R1. На бенчмарках BRIGHT, NevIR и mFollowIR модель Rank1 (7B параметров) более чем вдвое превосходит базовый RankLLaMA, несмотря на обучение на в 10 раз меньшем объёме данных. Промптинг через естественный язык позволяет управлять поведением ретривера (например, повышать recall) без настройки числовых гиперпараметров, а все модели и данные доступны в open-source.

В рамках нашего курса LLM Evals я принимал Ориона Веллера из Университета Джонса Хопкинса в нашей мини-серии из 5 частей по оценке и оптимизации RAG. Исследования Ориона посвящены встраиванию возможностей следования инструкциям и рассуждения современных Large Language Models (LLM) непосредственно в процесс ретривала.

В своём докладе Орион утверждает, что хотя LLM улучшили RAG, основной шаг ретривала остался статичным. Он представляет парадигму, в которой следование инструкциям и рассуждение встроены непосредственно в модели поиска — это фундаментальный сдвиг от использования LLM для переписывания запросов или в качестве универсальных реранкеров.

Его подход демонстрируется на двух моделях:

Promptriever (bi-encoder): Создаёт «осведомлённые об инструкциях» эмбеддинги, обучаясь на новом датасете, содержащем instruction negatives. Это примеры, где документ релевантен запросу, но не его конкретной инструкции (например, «найти документ, использующий метафору»). Это заставляет модель кодировать абстрактные инструкции непосредственно в эмбеддинг запроса, позволяя ей находить в огромном корпусе документы, которые стандартный ретривер пропустил бы. Rank1 (реранкер): Меньшая модель, дообученная путём дистилляции цепочек рассуждений более крупной модели. Она генерирует явную, проверяемую цепочку рассуждений для оценки релевантности. Такое специализированное обучение делает её исключительно хорошей в рассуждениях, позволяя обнаруживать новые релевантные документы, невидимые для предыдущих систем.

Ниже — аннотированная версия его презентации со ссылками с тайм-кодами.


👉 Подобные вещи мы рассматриваем на нашем курсе AI Evals. Узнать больше о курсе можно здесь. 👈


Аннотированная презентация

Титульный слайд доклада Ориона Веллера об интеграции следования инструкциям и рассуждения в information retrieval (IR).

Доклад начинается с того, что современные LLM, такие как ChatGPT, задали новые ожидания относительно того, как мы взаимодействуем с ИИ. Одна из ключевых возможностей LLM — следование инструкциям: выполнение сложных, состоящих из нескольких частей инструкций на естественном языке с высокой точностью.

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

Вторая ключевая возможность — рассуждение, также известное как test-time compute или «мышление». На слайде показано, как модель проговаривает свой мыслительный процесс для решения задачи, генерируя промежуточные «токены мышления», которые описывают её пошаговую логику перед выдачей окончательного ответа. Эта способность разбивать и анализировать задачу — одна из основных тем в сообществе LLM.

Установив эти возможности LLM, Орион ставит центральный вопрос доклада: как мы можем интегрировать эти способности к следованию инструкциям и рассуждению непосредственно в процесс ретривала, выходя за рамки простого использования LLM для суммаризации результатов поиска?

Чтобы проиллюстрировать, насколько мало изменилась парадигма поиска, Орион показывает интерфейс Google 1999 года.

Он сопоставляет его с современной строкой поиска Google. Несмотря на 26 лет развития, фундаментальное взаимодействие остаётся тем же: пользователь вводит ключевые слова, а система сопоставляет их и возвращает список ссылок.

На этом слайде показан современный интерфейс в стиле «SearchGPT», который предоставляет сгенерированный, разговорный ответ.

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

Чтобы проиллюстрировать текущие ограничения, Орион начинает с поиска по ключевым словам (Keyword Search), который опирается на точное лексическое совпадение. По запросу и трём документам поиск по ключевым словам сопоставляет «Data Encryption Standards» и «Wolves Outside Your Data», потому что они содержат ключевое слово «data».

Он не может извлечь «Digital Protection», потому что там отсутствует ключевое слово «data», хотя «digital» семантически близко, что подчёркивает хрупкость подходов, основанных только на ключевых словах.

Следующая эволюция — семантический поиск (Semantic Search), который сопоставляет документы на основе смысла, часто представляя запросы и документы в виде векторов в общем семантическом пространстве. Хорошая модель семантического поиска извлекла бы все три документа, поскольку понимает связь между «data» и «digital», а также «privacy» и «protection». Это улучшение по сравнению с поиском по ключевым словам, но всё же недостаточно для настоящего следования инструкциям.

Орион вводит следующую парадигму: поиск на основе инструкций (Instruction-based Search), где запрос представляет собой нюансированную команду. Пользователь хочет найти документы о приватности данных, которые также используют «развёрнутые метафоры».

Система поиска на основе инструкций должна понимать это мета-уровневое ограничение и извлекать только документ «Wolves Outside Your Data», в названии которого используется метафора. Она правильно определяет, что два других документа, хотя и релевантны по теме, не соответствуют стилистической инструкции.

Этот пример иллюстрирует ограничение реранкинга результатов стандартного семантического поиска (популярного подхода в RAG). Такой подход здесь потерпит неудачу, потому что модель семантического поиска не имеет способа понять ограничение «использует развёрнутую метафору». Она будет ранжировать документы только по их релевантности «приватности данных», а значит, документ «Wolves» может не получить достаточно высокий ранг, чтобы вообще попасть на рассмотрение реранкеру. Чтобы решить это, инструкция должна влиять на исходный ретривал, изменяя то, какие документы вообще считаются релевантными.

Орион доводит концепцию до крайности с помощью поиска на основе промптов и рассуждений (Prompt and Reasoning-based Search). Запрос теперь содержит инструкции о желаемом поведении поисковой системы, например, «Обеспечь действительно высокий recall, иначе я потеряю работу».

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

Что такое инструкция в контексте IR? Орион разбивает это понятие на несколько категорий.

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

Пространство возможных инструкций отражает сложность естественного языка.

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

Орион представляет две модели из своего исследования, воплощающие эти принципы. Первая — Promptriever, быстрая embedding-модель для следования инструкциям на этапе исходного ретривала.

Вторая — Rank1, мощный, но более медленный реранкер, использующий рассуждения и test-time compute для нюансированных оценок релевантности.

Сначала мы погрузимся в Promptriever. Соответствующая статья называется «Instruction-Trained Retrievers Can Be Prompted Like Language Models» — это совместная работа Johns Hopkins и Samaya AI.

Орион объясняет две основные архитектуры ретривала. Bi-Encoder (плотный ретривер) создаёт отдельные эмбеддинги запроса и документа для быстрого сравнения, что делает его хорошо масштабируемым. Cross-Encoder (реранкер) обрабатывает запрос и документ совместно для более глубокого взаимодействия за счёт более высокой вычислительной стоимости. Promptriever — это bi-encoder.

Основной исследовательский вопрос состоял в том, как сделать быстрые масштабируемые bi-encoder'ы способными понимать сложные инструкции.

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

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

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

Для обеспечения честного сравнения они начали с обучающего рецепта RepLLaMA — существующей модели, дообученной из LLaMA-2 для ретривала, и добавили только свои новые обучающие данные на основе инструкций. Оценка была всесторонней: тестирование на in-domain данных (MSMARCO), на новых датасетах для следования инструкциям и на out-of-domain датасетах для измерения обобщающей способности.

Этот слайд представляет два ключевых датасета для оценки следования инструкциям.

Первый — FollowIR, где запросы модифицируются уточняющими инструкциями. Метрика p-MRR измеряет способность адаптироваться: положительные значения означают успешное следование инструкциям.

Второй — InstructIR, который связывает запросы с пользовательскими персонами (например, студент, профессионал). Модель должна понимать неявные потребности персоны, чтобы извлекать подходящие документы.

Этот слайд представляет результаты экспериментов.

На FollowIR базовая модель RepLLaMA (и все предшествующие embedding-модели) получили отрицательный результат, показывая худшие результаты при наличии инструкции. Promptriever — первая модель, получившая положительный результат, демонстрируя, что bi-encoder'ы могут научиться следовать инструкциям.

На InstructIR Promptriever снова значительно превосходит базовую модель, понимая нюансированные потребности разных пользовательских персон.

Как эти модели работают на стандартных датасетах без заранее заданных инструкций?

При оценке на стандартных данных какой промпт следует использовать?

Первый вариант — не использовать промпт; это стандарт для оценки существующих моделей ретривала.

Второй вариант, уникальный для моделей с поддержкой инструкций, — экспериментировать с обобщёнными промптами (например, «Найди наиболее релевантный документ») и использовать самый эффективный, что является своего рода prompt engineering для ретривала.

Этот слайд показывает обобщённые промпты, созданные для поощрения более тщательного ретривала, например: «Будь осторожен при назначении релевантности, твоя работа на кону».

Этот слайд представляет бенчмарк BEIR для оценки out-of-domain (OOD) обобщения.

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

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

Статья о Promptriever называет это zero-shot оптимизацией гиперпараметров через промптинг. Вместо подстройки числовых параметров, таких как порог релевантности, можно изменить поведение модели, изменив естественно-языковой промпт. Инструкция вроде «найди документы с высоким recall» заставляет модель скорректировать свою внутреннюю стратегию для извлечения более широкого набора результатов, поскольку она была обучена понимать намерение за такими командами.

Чтобы проверить, понимает ли модель смысл промптов, было измерено стандартное отклонение производительности на 10 перефразированных версиях одного и того же промпта. Promptriever показывает значительно меньшую дисперсию, чем модели на основе ключевых слов (BM25) или стандартные семантические модели (RepLLaMA). Это указывает на то, что она устойчива к изменениям формулировки и понимает основное намерение, а не просто сопоставляет ключевые слова.

Этот слайд резюмирует выводы исследования Promptriever:

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

Теперь фокус смещается на Rank1, модель на основе рассуждений. Соответствующая статья называется «Rank1: Test-Time Compute for Information Retrieval», подчёркивая её фокус на рассуждении на этапе реранкинга.

Rank1 — это Cross-Encoder, обрабатывающий запрос и документ совместно для мощной, но более медленной оценки релевантности.

Rank1 использует Test-Time Compute, при котором модель генерирует цепочку рассуждений, чтобы прийти к решению.

График справа (из модели o1 от OpenAI) показывает, что при увеличении объёма вычислений (длины цепочки рассуждений) точность модели на сложных задачах резко возрастает.

Этот слайд показывает, как выглядит процесс рассуждения в information retrieval. По запросу и документу модель должна определить релевантность. Модель генерирует подробную цепочку рассуждений, выявляя ключевые фразы, анализируя связь между запросом и документом и подвергая сомнению собственные интерпретации («But wait…»). Она использует это пошаговое рассуждение, чтобы прийти к окончательному вердикту false.

Доклад переходит к данным для оценки Rank1.

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

Этот слайд показывает рассуждение Rank1 на задаче LeetCode. На просьбу найти похожую задачу модель правильно определяет ключевой алгоритм «two-pointer approach» в предоставленном документе и распознаёт, что документ-кандидат также использует ту же технику, демонстрируя глубокий, алгоритмический уровень понимания.

Этот слайд представляет результаты экспериментов Rank1.

Оценка охватывает задачи на тестирование рассуждений (BRIGHT), отрицаний (NevIR) и следования инструкциям (mFollowIR). Базовая модель RankLLaMA была обучена на в 10 раз большем объёме данных, чем Rank1. Несмотря на обучение на гораздо меньшем количестве данных, Rank1 почти удваивает производительность базовой модели на бенчмарке BRIGHT.

На задаче отрицания NevIR прирост ещё более внушительный — Rank1 более чем удваивает результат базовой модели.

Тенденция продолжается на задаче следования инструкциям mFollowIR, где Rank1 снова более чем удваивает производительность базовой модели.

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

Орион делится историей об оценке на более старых, широко используемых датасетах.

Они были удивлены низкими результатами на датасетах DL19/DL20, обнаружив, что их модель находит множество документов, которые никогда не оценивались разметчиками, потому что более старые системы их никогда не извлекали. Начальные оценки показали, что Rank1 работает хуже ожидаемого, уступая моделям вроде RankLLaMA и MonoT5.

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

Модели на основе рассуждений не просто улучшают результаты на старых бенчмарках — они находят новые релевантные документы, которые предыдущие системы пропустили. Это также наводит на мысль, что IR-сообществу пора отказаться от более старых датасетов для оценки (DL19 был создан до BERT), поскольку они могут быть не приспособлены для измерения возможностей современных моделей.

Вывод в том, что test-time compute (рассуждение) позволяет создавать промптируемые и рассуждающие реранкеры с помощью простого supervised fine-tuning, без сложного обучения с подкреплением. Эти рассуждающие реранкеры медленнее традиционных методов, но значительно мощнее. Показанный прирост производительности был достигнут при обучении только на общих веб-данных. Дообучение на in-domain данных, вероятно, открыло бы ещё более значительные улучшения.

Этот слайд резюмирует две модели: Promptriever — быстрая, Rank1 — мощная, но медленная.

Орион заключает, что общая цель — создать IR-системы, работающие как LLM, способные обрабатывать запросы, сочетающие тему, стиль и поведенческие инструкции.

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

Орион завершает доклад, подчёркивая, что все модели и данные из его исследования являются open-source и общедоступны.


Сессия вопросов и ответов

Как Promptriever работает с запросами в сравнении с документами? (Тайм-код: 23:45) Инструкция применяется только к запросу во время инференса. Документы предварительно обрабатываются в эмбеддинги без каких-либо инструкций. Таким образом, можно один раз пакетно обработать весь корпус, а затем во время запроса добавлять инструкцию пользователя к его запросу, чтобы сгенерировать единый, осведомлённый об инструкции эмбеддинг запроса для поиска. Можно ли применять подход на основе инструкций к cross-encoder'ам (реранкерам)? (Тайм-код: 26:04) Да, безусловно. Орион упоминает, что у них есть другие работы, исследующие это, и концепции применимы и к реранкерам. Статья о бенчмарке FollowIR, например, включает работу о реранкерах на основе инструкций. Кто предоставляет мета-инструкции для поиска? Люди или LLM? (Тайм-код: 26:32) Оба варианта возможны и интересны. Для системы «глубокого исследования» LLM-агент мог бы генерировать точные, подробные инструкции, направляющие процесс ретривала. Для пользовательских приложений «опытный пользователь» мог бы вводить эти сложные инструкции напрямую, чтобы получить более детальный контроль над результатами поиска. Как Rank1 сравнивается с frontier-моделями рассуждений, такими как у OpenAI? (Тайм-код: 28:04) Разрыв в производительности всё ещё есть. На некоторых бенчмарках модель вроде o3 от OpenAI может получать около 75 баллов, в то время как 7B-параметрическая Rank1 — около 69. Однако Rank1 значительно меньше (7B против гораздо более крупной frontier-модели), быстрее и полностью open-source, что делает её идеальной для приложений с приватными данными или там, где важны стоимость и латентность. Насколько легко обучить Rank1 на пользовательском датасете? (Тайм-код: 30:30) Удивительно легко. Процесс обучения использует стандартный подход supervised fine-tuning (loss предсказания следующего токена) на цепочках рассуждений. В статье о Rank1 отмечается, что модель замечательно хорошо обобщается даже без in-domain обучения, но дообучение на конкретном датасете несложно и, вероятно, приведёт к большим приростам производительности. Почему supervised fine-tuning (SFT) работает для модели рассуждений вместо обучения с подкреплением (RL)? (Тайм-код: 31:32) Модель учится эффективно рассуждать через дистилляцию — процесс, при котором она обучается на цепочках рассуждений, сгенерированных более мощной моделью (в данном случае R1 от Deepseek). Учась имитировать пошаговый «мыслительный процесс» более сильной модели, она приобретает способности к рассуждению с помощью простой и стабильной цели supervised fine-tuning. Это настолько эффективно, что устраняет необходимость в более сложных RL-техниках. Орион предполагает, что именно поэтому крупные компании перестали раскрывать полные цепочки рассуждений своих моделей, поскольку они невероятно ценны как обучающие данные.


👉 Подобные вещи мы рассматриваем на нашем курсе AI Evals. Узнать больше о курсе можно здесь. 👈


Видео

Полное видео: