Контекстные вложения за пределами золотого пассажа
Новый метод обучения, модель и бенчмарк для извлечения ответов и поддерживающего их контекста.
Введение
Контекстные вложения фиксируют смысл каждого пассажа или фрагмента в контексте всего документа. Их обучение и оценка обычно предполагают наличие одного релевантного фрагмента на запрос, известного как «золотой пассаж». Однако на практике золотой пассаж зачастую недостаточен. Он может содержать ответ, но не иметь поддерживающего контекста, необходимого для его понимания или проверки, что делает его двусмысленным изолированно.
Мы представляем pplx-embed-v2-context-9b-preview, нашу новую модель контекстных вложений. Модель обучена с использованием нового подхода, в котором модель сжатия контекста от Perplexity используется в качестве учителя. Мы агрегируем ее предсказания на уровне токенов в оценки релевантности на уровне фрагментов, обучая модель вложений извлекать как фрагменты ответов, так и поддерживающий контекст, а не единственный золотой фрагмент. Модель выдает одно вложение на фрагмент без дополнительных затрат на вывод и поддерживает вложения размерностью 1024 и int8.
Она достигает передовых результатов на context-bench, новом бенчмарке для контекстно-зависимого извлечения, созданном и удерживаемом в закрытом доступе turbopuffer, а также на ConTEB, широко используемом публичном бенчмарке. Наша модель была разработана независимо от context-bench и оценивалась как слепая отправка.
Context-bench состоит из 2099 запросов по 38 894 длинным документам в 21 домене и оценивает три возможности контекстных вложений: дисамбигуацию документов среди практически дублирующих друг друга документов, извлечение золотых фрагментов, смысл которых зависит от удаленного контекста, и извлечение подтверждающих свидетельств, необходимых для проверки ответа.
Предварительная версия модели общедоступна на Hugging Face. Бенчмарк удерживается turbopuffer в закрытом доступе для снижения риска загрязнения обучающих данных и сохранения его ценности для измерения прогресса. Чтобы запросить оценку, пожалуйста, свяжитесь с turbopuffer по адресу contextbench@turbopuffer.com.
Почему контекст важен для извлечения информации
Системы извлечения обычно делят длинные документы на более мелкие фрагменты, которые можно индексировать и искать независимо. Разбиение на фрагменты удобно на практике, но оно уничтожает контекст, в котором каждый фрагмент изначально появлялся, создавая компромисс между детализацией сжатия информации и контекстом, используемым при кодировании. Фрагмент может ссылаться на сущность, введенную ранее, унаследовать свой смысл из заголовка раздела или опираться на определения, находящиеся в других частях документа. После извлечения он может больше не содержать достаточно информации для надежного сопоставления с запросом. Кодирование всего документа как единого вектора не решает эту проблему, поскольку одно объединенное представление не может точно отразить каждый аспект длинного документа.
Модели контекстных вложений решают эту проблему, представляя каждый фрагмент в контексте окружающего его содержимого, чаще всего посредством позднего разбиения (late chunking): документ кодируется за один проход, а представления фрагментов объединяются (pooling) после этого, так что каждый вектор фрагмента вычисляется с учетом всего документа. Предыдущие работы, такие как ConTEB и наши собственные pplx-embed-context-v1, показали, что контекстуализированные представления фрагментов существенно улучшают извлечение по сравнению с независимо закодированными фрагментами, особенно на длинных документах.
Ограничения супервизии по золотым фрагментам
Обучение моделей контекстных вложений требует супервизии, которая определяет, какие части документа релевантны заданному запросу. Распространенным подходом являются аннотации золотых фрагментов: для каждого запроса аннотатор, обычно большая языковая модель (LLM), определяет фрагмент документа, который содержит ответ на него.
Обучение обычно объединяет две контрастивные функции потерь: междокументные потери (cross-document loss), которые противопоставляют золотой фрагмент фрагментам из других документов, и внутридокументные потери (within-document loss), которые противопоставляют его другим фрагментам в том же документе.
Этот подход имеет несколько ограничений:
- Релевантен только один фрагмент. Он рассматривает каждый другой фрагмент в документе как негативный, включая те, которые содержат полезную вспомогательную информацию. Супервизия на уровне документов действует в другой крайности. Она определяет документ как релевантный без указания того, какие именно фрагменты в нем имеют значение. На практике релевантность часто находится между этими крайностями. Фрагмент с ответом может зависеть от нескольких поддерживающих фрагментов, которые вводят сущность, разрешают ссылку или предоставляют дополнительный факт, в то время как остальная часть документа нерелевантна. Поэтому модель должна научиться правильному уровню избирательности: более широкому, чем один золотой фрагмент, но более сфокусированному, чем документ в целом.
- Грубая супервизия. Поскольку каждая аннотация определяет один золотой фрагмент, а не отражает степени релевантности по всему документу, она предоставляет ограниченные обучающие сигналы для объема вычислений, затраченных на ее создание.
- Дороговизна масштабирования. Каждая пара для обучения требует, чтобы LLM прочитала документ и выбрала релевантный фрагмент, поэтому стоимость аннотирования растет линейно с размером обучающего набора данных и ограничивает объем и разнообразие обучающих данных.
- Чувствительность к границам фрагментов. Метки также привязаны к границам фрагментов, используемым при аннотировании. Золотая метка, назначенная окну фиксированного размера в токенах, не указывает, какие более короткие предложения или более длинные абзацы являются релевантными. Изменение стратегии разбиения на фрагменты или обучение на нескольких вариантах разбиения для повышения устойчивости к тому, как документы разделяются во время индексирования, может потребовать повторного аннотирования корпуса.
Новый подход к контекстному обучению
Мы решаем проблемы супервизии по золотым фрагментам путем дистилляции оценок релевантности от модели сжатия контекста с учетом запроса. Эта модель выступает в роли учителя: она совместно читает запрос и документ и присваивает каждому токену документа оценку релевантности. Ее предсказания дают ряд преимуществ для обучения контекстных вложений:
- Гибкие границы фрагментов. Оценки релевантности на уровне токенов могут быть агрегированы по любым выбранным границам фрагментов, что позволяет использовать те же предсказания учителя для контроля разного разбиения на фрагменты без повторного аннотирования.
- Непрерывная релевантность. В отличие от бинарных меток золотых фрагментов, учитель предоставляет непрерывные оценки, которые фиксируют степени релевантности, естественным образом различающие фрагменты с ответом, поддерживающий контекст и нерелевантный контент.
- Более низкая стоимость аннотирования. Учитель компактен и специализирован на оценке релевантности, что делает его гораздо более дешевым для супервизии в больших масштабах по сравнению с универсальной LLM.
Мы обучаем нашу модель с использованием взвешенной суммы контрастивных потерь на уровне документов и потерь дистилляции на уровне фрагментов по батчам пар запрос-документ. Для каждого запроса парный документ служит позитивным примером, в то время как остальные документы в том же батче служат негативными.
Для каждого батча мы случайным образом выбираем стратегию разбиения на фрагменты, соответствующим образом делим документы и вставляем токены-разделители между фрагментами. Затем мы обрабатываем каждый документ за один прямой проход и выполняем среднее объединение (mean-pooling) токенных представлений внутри каждого фрагмента для получения контекстных вложений фрагментов. Запросы кодируются отдельно, со средним объединением их токенных представлений. Наконец, мы вычисляем косинусное сходство между каждым вложением запроса и каждым вложением фрагмента в батче.
Функция потерь
Контрастивные потери на уровне документов
Хотя наша модель вложений выдает только сходства на уровне фрагментов, мы можем естественным образом получить из них сходства на уровне документов. Мы считаем документ d настолько же релевантным запросу q, насколько релевантен его самый релевантный фрагмент. Это правило оценки вдохновлено операцией MaxSim из ColBERT, применяемой здесь к фрагментам вместо токенов.
В частности, учитывая запрос q с вложением q и документ d как упорядоченный список фрагментов c с вложениями c, мы определяем сходство на уровне документов как:
Учитывая эти сходства на уровне документов, мы можем сформулировать целевую функцию InfoNCE на уровне документов по негативам внутри батча.
Для запроса q пусть d⁺ обозначает его релевантный документ, а 𝒟 — документы в батче. Контрастивные потери выглядят следующим образом (температуры опущены для удобочитаемости):
Потери дистилляции на уровне фрагментов
Контрастивные потери учат модель тому, какой документ релевантен запросу. Потери дистилляции учат ее тому, где именно в этом документе находится релевантность, что крайне важно для контекстной модели.
Во время обучения мы передаем каждую позитивную пару запрос-документ нашей модели сжатия контекста, которая присваивает оценку релевантности каждому токену в документе. Как и в случае оценки на уровне документов, мы выводим релевантность каждого фрагмента из его наиболее релевантного содержимого. Чтобы снизить чувствительность к выбросам токенов, включая находящиеся на границах фрагментов, мы определяем релевантность на уровне фрагментов как среднее значение топ-n оценок токенов внутри фрагмента.
Для каждого запроса мы применяем к оценкам релевантности фрагментов учителя внутри позитивного документа масштабированное по температуре преобразование softmax для получения целевого распределения. Фрагменты в остальных документах батча получают нулевую целевую вероятность. Мы обучаем модель вложений соответствовать этой цели путем минимизации прямого расхождения Кульбара — Лейблера (KL divergence) между целевым распределением и его предсказанным распределением по всем фрагментам в батче:
Здесь верхние индексы T и S обозначают учителя и ученика, а rⱼ — это оценка релевантности учителя для фрагмента cⱼ в позитивном документе d⁺. Целевое распределение учителя присваивает нулевую вероятность фрагментам во всех остальных документах батча.
В отличие от единственной метки золотого фрагмента, эта цель фиксирует степени релевантности. Поддерживающие фрагменты получают веса в соответствии с оценками учителя, а не рассматриваются как негативные, что учит модель извлекать как поддерживающий контекст, так и ответ.
Комбинированные потери
Наша комбинированная цель обучения представляет собой взвешенную сумму контрастивных потерь на уровне документов и потерь дистилляции на уровне фрагментов. Мы усредняем эти взвешенные потери по батчу пар запрос-документ.
На рисунке 2 проиллюстрирован наш подход к обучению. Компрессор контекста служит учителем только во время обучения. На этапе инференса модель вложений выдает одно контекстное вложение на фрагмент без дополнительного сжатия или стадий переранжирования. Этот подход улучшает обучение контекстных вложений без увеличения объема памяти индекса и без добавления задержки модели-учителя во время извлечения.
Данные для обучения
Обучающие данные состоят примерно из 430 публичных и внутренних наборов данных с парами запрос–документ, охватывающих более 50 языков.
Мы создаем внутренние наборы пар на основе производственных данных, отфильтрованных от персональных данных (PII), и путем синтеза релевантных запросов по длинным документам. Для каждого прямого прохода мы выбираем один набор данных и берем из него всю выборку целиком, чтобы повысить сложность негативов внутри батча и избежать обучения по обходным путям. Ни один из наших обучающих наборов данных не содержит аннотаций на уровне фрагментов: вся супервизия внутри документа исходит от модели сжатия, а данные ConTEB не используются для обучения. Более того, во время разработки модели данные context-bench были недоступны.
Настройка обучения
Модель создается на базе внутренней модели извлечения ColBERT с 9 млрд параметров и генерирует 2048-мерные вложения через слой линейной проекции. Мы отмечаем границы фрагментов обученным токеном <|chunk_sep|> и формируем вложение каждого фрагмента путем усреднения его токенных вложений. Запросы кодируются той же моделью, а их токенные вложения усредняются в единый вектор.
Мы используем обучение по методу Матрешки для поддержки вложений как размерности 1024, так и 2048, а также обучение с учетом квантования для поддержки собственных int8-вложений. Во время обучения мы постепенно увеличиваем скорость обучения, поддерживаем ее постоянной, а затем уменьшаем.
Выпущенная модель представляет собой модель-усреднение (model soup), в которой усредняются веса нескольких контрольных точек из одного и того же цикла обучения.
Новый бенчмарк для извлечения на уровне фрагментов
Публичные бенчмарки контекстного извлечения, такие как ConTEB, разделяют предположение, лежащее в основе супервизии по золотым фрагментам: каждый запрос имеет один релевантный фрагмент, и модель вознаграждается только за то, что помещает этот фрагмент на первое место. Они также наследуют ограничения этого подхода.
Во-первых, ConTEB тестирует извлечение на задачах, где фрагмент является двусмысленным без окружающего его контекста. В этих задачах контекстные модели превзошли модели, которые кодируют каждый фрагмент независимо. Однако он не проверяет, выводит ли модель также остальные части документа, которые делают фрагмент понятным.
Во-вторых, он не проверяет систематически, можно ли найти правильный документ, когда практически идентичные документы в том же корпусе различаются только контекстом, окружающим в остальном идентичное предложение.
Обе возможности имеют значение, когда поисковый агент или пользователь должен понять и проверить ответ по нескольким извлеченным предложениям, а не по всему документу. Поэтому мы создали context-bench — контролируемый бенчмарк для извлечения информации из длинных документов, разработанный для того, чтобы отличать использование контекста документа от общего качества извлечения. Он проверяет, используют ли контекстные вложения информацию из других мест документа для реализации трех возможностей:
- Дисамбигуация документов: определение правильного документа среди практически идентичных альтернатив.
- Извлечение ответов: извлечение фрагментов с ответами, смысл которых зависит от деталей в других частях документа.
- Извлечение свидетельств: извлечение поддерживающих фрагментов, которые проясняют или обосновывают ответ.
Context-bench содержит 2099 запросов и 38 894 документа. Используются фрагменты размером с предложение, в результате чего получается в общей сложности 2 458 072 фрагмента. Запросы охватывают 21 домен, включая корпоративную отчетность, клинические исследования, путешествия, развлечения, образование, государственные учреждения, юридические контракты и документацию к программному обеспечению.
Каждый запрос разработан для тестирования одной из двенадцати контекстных возможностей. Основные целевые документы намеренно сделаны длинными: 1061 из 1197 уникальных основных целевых документов содержит не менее 200 предложений, при этом медианная длина составляет примерно 6100 токенов. Каждый запрос имеет ровно один правильный ответ в корпусе. Если один и тот же факт указан в золотом документе более одного раза, например в итоговом предложении и в строке таблицы, любое из этих предложений принимается в качестве ответа.
Маршрут ответа — это одна допустимая комбинация фрагмента ответа и подтверждающих свидетельств, необходимых для его интерпретации или проверки. Среди 2099 запросов маршрут ответа для основного целевого документа имеет одну группу свидетельств для 964 запросов, две группы для 735, три или более для 332 и ни одной для 68. Альтернативные допустимые маршруты ответа могут требовать других групп свидетельств.
Таблица 1: Статистика бенчмарка.
Статистика | Значение |
Запросы | 2 099 |
Документы | 38 894 |
Фрагменты-предложения | 2 458 072 |
Медианная длина основного целевого документа | 6 100 токенов |
Домены | 21 |
Группы свидетельств на запрос (маршрут ответа для основного целевого документа) | 1: 964; 2: 735; 3+: 332; нет: 68 |
Таблица 2: Двенадцать контекстных возможностей, тестируемых в context-bench, с иллюстративными примерами.
Возможность | Пример запроса | Фрагмент с ответом | Требуемый контекст документа |
1. Идентичность сущности | Сколько Northlake потратила на выкуп акций? | Компания выкупила акции на сумму 12,8 млрд долларов. | Во введении Northlake определяется как «компания». Аналогичный отчет Southlake не имеет отношения к делу. |
2. Период или версия | Картридж какого типа подходит для M40 редакции B? | Установите картридж KC-42. | В разделе применимости указано, что эти инструкции относятся к редакции B, а не к редакции C. |
3. Определения и псевдонимы | Каким был показатель выбытия у группы, получавшей 15 мг? | У группы Zeta показатель выбытия составил 12,7%. | В отчете Zeta определяется как группа, получавшая 15 мг. Без этого определения фрагмент не указывает на запрошенную группу. |
4. Структура таблицы | Какова емкость аккумулятора модели Max? | Типичная емкость: 4250 | 4700 | 5150. | В заголовке таблицы указаны Mini | Base | Max, измерения производятся в мА·ч. Следовательно, правильный ответ — 5150 мА·ч. |
5. Условия и исключения | Каков срок гарантии на аккумулятор при коммерческом использовании? | Гарантия на аккумулятор составляет 18 месяцев. | Во введении к разделу эта гарантия ограничивается коммерческими установками; для бытовых установок предусмотрена иная гарантия. |
6. Ссылки и местоимения | Когда Мара стала заместителем мэра? | Она вступила в должность в 2021 году. | Из предыдущего повествования следует, что местоимение «она» относится к Маре, а не к Элин, которая также упоминается. |
7. Порядок и положение в списке | Какая песня открывала бис? | 14. Lantern Road. | В примечании в другом месте указано, что песни 14–16 составляли бис. Следовательно, трек 14 является открывающей его песней. |
8. Область действия раздела | Какой объектив использовался для съемки фильма? | На протяжении всего фильма использовался объектив с фиксированным фокусным расстоянием 35 мм. | Этот фрагмент относится к разделу «Основные съемки», а не к отдельному разделу о рекламных фотографиях. |
9. Атрибуция говорящего | Какую дату возобновления работы пообещал мэр? | Мы возобновим работу 12 июня. | В стенограмме указано, что говорящим является мэр. Те же слова подрядчика не означали бы обещания мэра. |
10. Изменения с течением времени | Какой срок уведомления применялся после майской поправки? | Срок уведомления теперь составляет 45 дней. | История поправок устанавливает, что это изменение вступило в силу в мае, заменив прежнее правило 30 дней. |
11. Причинно-следственные связи | Почему остановился западный насос? | Причиной остановки стала эта неисправность. | В ходе расследования «эта неисправность» определяется как заклинивший подшипник в западном насосе, и это отличие отделяется от несвязанного засорения на входе. |
12. Переносный или межъязыковой смысл | Переносный смысл: Что символизирует «зимняя комната» в стихотворении? Межъязыковой: Какой компонент инструкция на французском языке предписывает снять техническому специалисту? | Переносный смысл: Это означает изгнание, а не физическую комнату. Межъязыковой: Retirez le capot. (Снимите крышку.) | Переносный смысл: В комментариях «это» определяется как повторяющийся в стихотворении образ «зимней комнаты». Межъязыковой: Глоссарий в руководстве уточняет, что «capot» означает защитный кожух двигателя, а не транспортировочную крышку. |
Документы и запросы
Запросы, документы и тестируемые возможности вдохновлены беседами с клиентами turbopuffer.
В качестве примера рассмотрим поисковые потребности управляющей компании. У таких компаний есть сотни, а иногда и тысячи договоров аренды, которые различаются только именами арендаторов, датами и несколькими другими ключевыми деталями. Типичный запрос для такого набора данных может звучать так: «когда заканчивается срок аренды по адресу 5 park avenue и какова текущая арендная плата?». Договоры аренды также могут быть длинными, а критически важные компоненты дисамбигуации, которые подтверждают, что вы извлекли правильный документ (например, дата, адрес, имя арендатора и т. д.), часто могут находиться очень далеко от ключевого предложения с ответом, содержащего сумму ежемесячной арендной платы. На практике одинаковые предложения вроде «Monthly rent is $X,XXX.» могут встречаться во многих документах корпуса.
Хорошая модель контекстных вложений должна использовать контекст со всего документа, чтобы определить правильный документ и извлечь как сам ответ, так и подтверждающие его предложения. Это позволяет пользователю или поисковому агенту быстро проверить ответ и убедиться, что он взят из правильного документа.
Метки ответов и свидетельств
Для каждого запроса мы помечаем предложения «ответа» («answer») и «свидетельств» («evidence») в целевом документе. Модель проходит наш тест на «достаточность для читателя», если она извлекает предложение с ответом вместе по крайней мере с одним предложением из каждой группы свидетельств. В совокупности эти предложения предоставляют достаточно контекста, чтобы читатель мог проверить ответ с помощью подтверждающих свидетельств.
Когда модели контекстных вложений справляются с этим хорошо, они могут значительно сократить количество токенов, которые необходимо просмотреть поисковым агентам, а также существенно упростить для человека быстрое подтверждение того, что он нашел правильный ответ на свой первоначальный запрос, без необходимости читать весь документ.
Каждая группа свидетельств должна быть восстановлена, но для ее восстановления достаточно любой из альтернатив группы. Нередко один и тот же факт излагается в нескольких местах этих длинных документов. Извлечение всего лишь одного предложения из каждой группы свидетельств удовлетворяет критериям достаточности для читателя и, следовательно, будет принято как идеальное извлечение свидетельств.
Метрики
Каждый документ разбивается на фрагменты-предложения, и для всех моделей используются одни и те же границы. Для неконтекстных моделей вложений проверяются два условия: одно, при котором каждое предложение вкладывается независимо, и другое, при котором весь документ вкладывается как единый фрагмент.
Мы используем условие на уровне предложений для измерения полноты ответов (answer recall) и полноты свидетельств (evidence recall). Оно проверяет, может ли неконтекстная модель определить правильный ответ и подтверждающие свидетельства, когда каждое предложение вкладывается без доступа к окружающему документу. Это намеренно сложная задача. Во многих запросах само по себе предложение с ответом не содержит деталей, необходимых для отличия его от похожих предложений в других частях корпуса.
Мы используем условие на уровне документов в качестве базовой линии полноты документов. Оно проверяет, обеспечивают ли мелкозернистые вложения предложений достаточные преимущества при извлечении, чтобы оправдать их дополнительные затраты на хранение по сравнению с хранением одного вектора на документ. Индекс на уровне предложений создает значительно больше векторов, чем индекс на уровне документов, поэтому он должен превосходить базовую линию «один вектор на документ», чтобы оправдать эти затраты.
Все оценки используют исчерпывающие ранжирования по всем 2 458 072 фрагментам. Различия между моделями отражают представления, а не конфигурацию индекса. Мы сосредоточимся на трех ключевых метриках:
Document@K определяется как:
где — документ с самым высоким рейтингом в .
Answer@K определяется как:
где — это верхние фрагментов по всему корпусу, а — набор принятых фрагментов ответов.
Evidence Recall@K измеряется внутри следующим образом: ранжируйте предложения по степени сходства, удалите предложение с ответом, имеющее самый высокий рейтинг, и пусть будут верхними оставшимися предложениями. Для групп свидетельств группа считается восстановленной, если какая-либо альтернатива удовлетворяет , и
Document@K проверяет, позволяет ли контекстуализация правильному документу превзойти сиблинги и отвлекающие факторы (дистракторы), которые разделяют с ним словарный запас.
Answer@K проверяет, входит ли само предложение с ответом в число лучших фрагментов.
Evidence Recall@K оценивает, какая часть поддерживающего контекста восстанавливается среди топ-K фрагментов правильного документа после исключения фрагмента с ответом, имеющего наивысший рейтинг. Удаление ответа позволяет избежать двойного учета того, что уже измеряется с помощью Answer@K, и оставляет все слоты для поддерживающего контекста. Требование того, чтобы золотой документ входил в топ-10 извлеченных документов, означает, что ни одна модель не получает кредиты за доказательства для документа, который она не вывела бы на поверхность. Мы также сообщаем All-Evidence@K — долю запросов, в которых восстановлена каждая группа.
В совокупности эти метрики позволяют разложить по полочкам проблемы, с которыми сталкиваются модели контекстных вложений: поиск правильного документа, поиск правильного ответа и восстановление минимального контекста, который показывает, почему ответ является верным.
На рисунке 3 метрики проиллюстрированы на примере управления недвижимостью.
Результаты оценки
Мы оцениваем нашу модель в сравнении с контекстными и неконтекстными моделями вложений по четырем направлениям.
Нашими контекстными базовыми линиями являются pplx-embed-context-v1-4B и voyage-context-4. Нашими неконтекстными базовыми линиями являются voyage-4-large и Nemotron-3-Embed-8B-BF16 от NVIDIA, которые кодируют фрагменты независимо. Набор базовых линий варьируется в зависимости от эксперимента, как указано на каждом рисунке.
Мы начнем с context-bench, в котором напрямую тестируются возможности, мотивирующие эту работу, а затем представим результаты по ConTEB — стандартному общедоступному бенчмарку для контекстных вложений. Чтобы убедиться, что эти приросты не достигаются за счет ухудшения общего качества извлечения, мы также оцениваем созданные нами на основе общедоступных данных доменно-специфичные бенчмарки извлечения документов и фрагментов. Наконец, мы рассмотрим два практических свойства для развертывания: качество извлечения в сравнении с затратами на хранение на вектор и чувствительность к размеру фрагмента, используемому при индексировании. Все оценки кодируют документы размером до 32 768 токенов за один проход.
Context-bench
Как показано на рисунке 1 во введении, наша предварительная версия лидирует по Answer@K и EvidenceRecall@K при каждом заявленном пороге отсечения, а также по All-Evidence@10. При K = 10 она достигает 45,5% полноты ответов, 40,6% полноты свидетельств и 31,1% полноты всех свидетельств. Она также лидирует по Document@1 и Document@10, достигая соответственно 15,2% и 61,6%. При K = 10 наша предварительная версия превосходит voyage-context-4 на 14,4 процентных пункта по полноте ответов и на 5,0 пунктов по полноте свидетельств.
ConTEB
Наша предварительная модель достигает самого высокого среднего nDCG@10 среди моделей, представленных по ConTEB на рисунке 4. Она лидирует не в каждой задаче: pplx-context-v1-4B набирает больше баллов на NarrativeQA, в то время как Nemotron-3-8B показывает лучший результат на COVID-QA. Как отмечали основные авторы в статье о ConTEB, COVID-QA включает в себя в основном сопоставления запросов и фрагментов, которые носят очень экстрактивный характер и могут быть удовлетворены с помощью простого поверхностного лексического сопоставления по техническим медицинским терминам. В результате понимание контекста менее полезно для этой задачи, и неконтекстные модели обычно превосходят контекстные.
Общее качество извлечения по доменам
Помимо бенчмарков, разработанных для контекстных вложений, мы оцениваем доменно-специфичную производительность нашей модели.
Наш набор задач «запрос-к-фрагменту» (Q2C) использует задачи MTEB, такие как LegalBench и FinanceBench, наряду с дополнительными задачами извлечения, которые мы отобрали из публичных наборов данных. Внутри каждого релевантного документа фрагмент помечается как релевантный, если он содержит точный диапазон ответа (когда задача его предоставляет), а в противном случае — на основе оценки его релевантности запросу с помощью языковой модели (LLM). Набор задач «запрос-к-документу» (Q2D) использует те же задачи и оценивает, извлечен ли релевантный документ.
Наша модель достигает наивысшего среднего балла по извлечению фрагментов на рисунке 5 и лидирует в юридическом, техническом и медицинском доменах. Она лидирует не во всех доменах: voyage-context-4 набирает больше баллов в финансах и многоязычном извлечении, а Nemotron-3-8B показывает лучший результат в извлечении диалогов. По извлечению документов на рисунке 6 наша модель в среднем набирает чуть меньше voyage-context-4, при этом лидируя в техническом домене. Базовая линия pplx-context-v1-4B набирает в среднем меньше баллов в обеих группах задач, что согласуется с тем фактом, что она обучалась только на обучающем наборе ConTEB, показывая, что супервизия, привязанная к золотым фрагментам одного бенчмарка, плохо переносится на другие домены.
Качество извлечения и затраты на хранение
Модель контекстных вложений производит один вектор на фрагмент, поэтому индекс, созданный с помощью нашей модели, содержит ровно столько же векторов, сколько и обычный индекс на уровне фрагментов с той же стратегией разбиения. Контекстуализация меняет то, что кодирует каждый вектор, а не количество сохраняемых векторов. Поэтому объем памяти для хранения определяется размером каждого вектора. Модель предлагает два способа его уменьшения: усечение вложений с 2048 до 1024 измерений и их квантование до int8.
На рисунке 7 показан выгодный компромисс между качеством извлечения и хранением векторов. При размерности 1024 наши int8-вложения используют 1 КБ на вектор, при этом немного превосходя показатель извлечения фрагментов для voyage-context-4 при размерности 2048 в float32, который использует 8 КБ на вектор. Увеличение размерности наших вложений до 2048 еще больше повышает качество извлечения при 2 КБ на вектор. Эти показатели хранения относятся только к векторам, а не к остальной части индекса.
Чувствительность к размеру фрагмента
На рисунке 8 показано лишь умеренное изменение качества извлечения при увеличении размера фрагмента с 64 до 512 токенов: средний балл падает с 81,0% до 79,9%, то есть на 1,1 процентного пункта. Это говорит о том, что модель остается эффективной при протестированных размерах фрагментов, предоставляя конвейерам индексирования гибкость в способах разбиения документов.
Релиз
turbopuffer хранит весь корпус, запросы и метки context-bench в конфиденциальном режиме и сообщает результаты для отправленных моделей. Публичный бенчмарк такого рода побуждает проводить прямое обучение на его запросах и документах, что со временем приведет к его насыщению и снижению его ценности для отслеживания прогресса. Если вы хотите, чтобы ваша модель прошла оценку на бенчмарке, пожалуйста, свяжитесь с turbopuffer по адресу contextbench@turbopuffer.com.
Предварительная версия нашей модели доступна на Hugging Face, и все результаты в этой публикации приводятся для этой предварительной версии. Мы работаем над тем сделать модель доступной через Perplexity API, а также над дальнейшим улучшением извлечения из длинных документов совместно с turbopuffer.
Цитирование
@online{perplexity2026ContextualEmbeddingBeyondTheGoldPassage,
author = {{Perplexity} and Sarah Eslami and William Barber and Markus Krimmel and Antoine Chaffin and Bo Wang and Louis Milliken and Jarrod Bryan and Claire Beamer and Jeremy Yang},
title = {{Contextual embedding beyond the gold passage}},
date = {2026-09-30},
url = {https://www.perplexity.ai/hub/blog/contextual-embedding-beyond-the-gold-passage}
}