Команда LlamaIndex представила модель визуального поиска документов нового поколения vdr-2b-multi-v1

Новости ИИОбновлено 8 месяцев назад Круг обмена ИИ
7.3K 00

Мы запустили vdr-2b-multi-v1 Это лучшая многоязычная модель встраивания для визуального поиска документов. Мы также выпустили ее на простом английском языке vdr-2b-v1 и выложили в открытый доступ новый vdr-multilingual-train Этот набор данных является крупнейшим многоязычным синтетическим набором данных с открытым исходным кодом для визуального поиска документов. Этот набор данных содержит 500 000 высококачественных образцов и является крупнейшим многоязычным синтетическим набором данных с открытым исходным кодом для визуального поиска документов.

LlamaIndex 团队推出新一代视觉文档检索模型 vdr-2b-multi-v1

с гордостью представляем vdr-2b-multi-v1 (🤗) Это многоязычная модель встраивания, предназначенная для визуального поиска документов на разных языках и в разных доменах. Эта модель предназначена для кодирования скриншотов страниц документов в плотные однонаправленные представления, что позволит эффективно осуществлять поиск и запрос визуально насыщенных многоязычных документов без необходимости использования OCR, конвейеров извлечения данных, чанкинга...

vdr-2b-multi-v1 Модель основана на MrLight/dse-qwen2-2b-mrl-v1 и обучена на большом собственном многоязычном наборе данных пар "запрос-изображение". Эта модель была создана в сотрудничестве с LlamaIndex и является mcdse-2b-v1 Следующая итерация Следующая итерация нашего vdr-2b-multi-v1 Обучение и методы, использованные для ее подготовки, были расширены и улучшены, что позволило создать более мощную и совершенную модель.

  • На сайтах 🇮🇹 итальянский, 🇪🇸 испанский, 🇬🇧 английский, 🇫🇷 французский и 🇩🇪 немецкий для обучения: Вместе они образуют новый большой открытый многоязычный обучающий набор данных, содержащий 500 000 высококачественных образцов.
  • Малое количество видеопамяти и более быстрое мышление: В бенчмарке Synthetic Visual Document Retrieval (ViDoRe) наша модель только для английского языка с 768 блоками изображений показала лучшие результаты, чем базовая модель с 2560 блоками изображений. Это позволило в 3 раза ускорить вывод и значительно сократить расход графической памяти.
  • межъязыковой поиск: В реальных сценариях он значительно лучше. Например, вы можете искать немецкие документы с помощью итальянского запроса.
  • Матрёшка выразила обучение: Вы можете уменьшить размер векторов в 3 раза и при этом сохранить качество встраивания 98%. Это позволяет значительно увеличить скорость поиска и снизить затраты на хранение.

 

использование

🎲 Попробуйте прямо сейчас! vdr-2b-multi-v1можно найти в Обнимающееся пространство лица Найдите!

Благодаря прямой интеграции SentenceTransformers и LlamaIndex, используя vdr-2b-multi-v1 Генерировать вставки стало проще, чем когда-либо. Начните работу всего с нескольких строк кода:

Через LlamaIndex

pip install -U llama-index-embeddings-huggingface
from llama_index.embeddings.huggingface import HuggingFaceEmbedding
model = HuggingFaceEmbedding(
model_name="llamaindex/vdr-2b-multi-v1",
device="cpu",  # "mps" for mac, "cuda" for nvidia GPUs
trust_remote_code=True,
)
image_embedding = model.get_image_embedding("image.png")
query_embedding = model.get_query_embedding("Chi ha inventato Bitcoin?")

через SentenceTransformers

from sentence_transformers import SentenceTransformer

model = SentenceTransformer(
    model_name_or_path="llamaindex/vdr-2b-multi-v1",
    device="cuda",
    trust_remote_code=True,
    # These are the recommended kwargs for the model, but change them as needed if you don't have CUDA
    model_kwargs={
        "torch_dtype": torch.bfloat16, 
        "device_map": "cuda:0", 
        "attn_implementation": "flash_attention_2"
    },
)

embeddings = model.encode("image.png")

 

Набор обучающих данных

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

В результате мы потратили значительное количество времени на его создание с нуля. Исходный набор данных содержит 500 000 многоязычных образцов запросов-изображений, которые были собраны и сгенерированы с нуля с помощью общедоступных PDF-файлов в Интернете. Запрос, связанный с каждым изображением, был синтетически сгенерирован с помощью моделирования визуального языка (VLM). Для сравнения, наш набор данных намного больше, чем самый большой предыдущий синтетический набор данных с открытым исходным кодом для мультимодального визуального поиска документов (т.е. Набор обучающих данных ColPali (сгенерированные отбракованные документы) в 10 раз больше образцов.

LlamaIndex 团队推出新一代视觉文档检索模型 vdr-2b-multi-v1

Сбор данных

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

В результате просмотра было получено около 50 000 многоязычных документов. По сравнению с предыдущим mcdse-2b-v1 В отличие от подхода, используемого в модели, страницы извлекаются не случайным образом. Вместо этого каждая страница каждого PDF-файла прогоняется через модель анализа макета документа, чтобы определить, содержит ли она больше текстовых или визуальных элементов. В результате получается число, которое классифицирует страницу как только текстовую, только визуальную или смешанную. Затем с помощью этого шага разметки было отобрано около 100 000 страниц, чтобы убедиться, что они равномерно распределены по типам страниц.

синтетическое поколение

Затем с помощью gemini-1.5-pro и Qwen2-VL-72B были сформированы запросы. Их задача - задать конкретный и общий вопрос. Для обучения модели используется только конкретный вопрос, но принуждение больших языковых моделей (LLM) к различению этих двух типов вопросов обычно приводит к созданию более мощных конкретных вопросов для обучения информационному поиску.

После генерации дальнейшие шаги по очистке обеспечивают достаточность проблемы для обучения. К ним относятся:

  • Убедитесь в правильности языка
  • Исправление проблем с форматированием
  • Удалить разметку
  • Убедитесь, что задан только один вопрос
  • Удалите базовые фразы (например, "согласно рисунку 1", "данный документ", ...)

Фильтрация и поиск отрицательных примеров

Этот этап очистки гарантирует, что запрос синтаксически корректен и соответствует некоторым строгим рекомендациям. Однако он не гарантирует, что запрос достаточен для поиска информации.

Чтобы отсеять плохие вопросы, мы встроили и проиндексировали каждый широкий запрос с помощью модели встраивания voyage-3. Для каждого конкретного вопроса мы выполнили поиск по индексу. Если связанный с ним широкий вопрос появлялся в первых 100 результатах, запрос помечался как "хороший". Этот метод удаляет вопросы с низкой энтропией, дубликаты или слишком похожие. В среднем из каждого языкового набора данных было удалено 40% запросов.

Затем жесткие негативные примеры были добыты с помощью voyage-3 только для определенных задач с фиксированным порогом 0,75. Он также использовался в качестве nvidia/NV-Retriever-v1 Были проведены эксперименты по поиску отрицательных примеров с учетом положительных примеров, как описано в , но на этом наборе данных он, похоже, дает отрицательные случаи, которые слишком просты/далеки.

загрузка

(vdr-multilingual-train 🤗) Учебный набор данных теперь с открытым исходным кодом и доступен прямо на сайте Hugging Face. Учебная база данных содержит 496 167 PDF-страниц, из которых только 280 679 связаны с отфильтрованным запросом (с помощью метода, описанного выше). Оставшиеся изображения без запросов по-прежнему используются в качестве жестких отрицательных примеров.

многоязычие# Отфильтрованные запросы# Нефильтрованные запросы
Английский (язык)53,51294,225
Испанский язык58,738102,685
Итальянский (язык)54,94298,747
Немецкий (язык)58,217100,713
Французский (язык)55,27099,797
(общая) сумма280,679496,167

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

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

 

В качестве альтернативы вы можете добавить load_dataset Укажите подмножество языков, для которых необходимо загружать языки по отдельности:

from datasets import load_dataset
italian_dataset = load_dataset("llamaindex/vdr-multilingual-train", "it", split="train")
english_dataset = load_dataset("llamaindex/vdr-multilingual-train", "en", split="train")
french_dataset = load_dataset("llamaindex/vdr-multilingual-train", "fr", split="train")
german_dataset = load_dataset("llamaindex/vdr-multilingual-train", "de", split="train")
spanish_dataset = load_dataset("llamaindex/vdr-multilingual-train", "es", split="train")

 

оценка

LlamaIndex 团队推出新一代视觉文档检索模型 vdr-2b-multi-v1

Модель была оценена на бенчмарках ViDoRe и специально созданных наборах данных, которые позволяют проверить ее многоязычную функциональность на скриншотах только текстовых, только визуальных и гибридных страниц. Набор оценочных данных также находится в открытом доступе на сайте Hugging Face (vdr-multilingual-test 🤗).

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

Все оценки проводились с помощью 1536 ViВекторы и могут быть использованы с До 768 токенов Разрешение изображения, представленного для расчета NDCG@5 Очки для исполнения.

в среднемФранцузский (текст)Французский (визуальный)Французский (смешанный)
dse-qwen2-2b-mrl-v193.594.790.895.1
vdr-2b-multi-v195.695.693.397.9
+2.2%
в среднемНемецкий (текст)Немецкий (визуальный)Немецкий (смешанный)
dse-qwen2-2b-mrl-v193.093.490.095.5
vdr-2b-multi-v196.294.895.798.1
+3.4%
в среднемИтальянский (текст)Итальянский (визуальный)Итальянский (смешанный)
dse-qwen2-2b-mrl-v195.195.194.096.2
vdr-2b-multi-v197.096.496.398.4
+2%
в среднемИспанский (текст)Испанский (визуальный)Испанский (смешанный)
dse-qwen2-2b-mrl-v196.797.294.798.2
vdr-2b-multi-v198.198.396.999.1
+1.4%
в среднемАнглийский (текст)Английский (визуальный)Английский (смешанный)
dse-qwen2-2b-mrl-v198.098.398.597.1
vdr-2b-multi-v198.197.999.197.3
+0.1%

Многоязычная модель превосходит базовую модель на каждом языке и на каждом типе страниц, в среднем на +2,31 TP3T. Она также немного лучше в бенчмарке ViDoRe (+0,51 TP3T). Мы провели тонкую настройку vdr-2b-multi-v1 Были достигнуты огромные скачки в производительности, особенно для неанглийских чисто визуальных или гибридных страниц. Например, чисто визуальный поиск на немецком языке улучшает NDCG@5 на +6,33% по сравнению с базовой моделью.

Мы также обучили версию на подмножестве английского языка (vdr-2b-v1 🤗). В полном бенчмарке ViDoRe (с использованием 768 изображений) Токен (для оценки), и многоязычная версия, и версия только для английского языка превосходят базовую модель.

в среднемshiftprojectправительствоздравоохранениеэнергияaidocvqaarxivqatatdqainfovqatabfquad
dse-qwen2-2b-mrl-v183.679.895.796.992.098.256.385.253.987.590.3
vdr-2b-multi-v184.082.495.596.591.298.558.584.753.687.192.2
vdr-2b-v184.383.496.997.292.696.857.485.154.187.991.3

Более быстрое рассуждение

LlamaIndex 团队推出新一代视觉文档检索模型 vdr-2b-multi-v1

простой английский vdr-2b-v1 Модель также соответствует производительности базовой модели на синтетическом наборе данных бенчмарка ViDoRe при использовании всего 30% изображений Token (768 против 2560). Это позволяет увеличить скорость вычислений в 3 раза и значительно сократить расход графической памяти.

в среднемshiftprojectправительствоздравоохранениеэнергияai
dse-qwen2-2b-mrl-v1 (2560 жетонов изображений)93.0829696.492.997.5
vdr-2b-v1 (768 Image Token)93.483.496.997.292.696.8

межъязыковой поиск

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

в среднемИтальянский -> Немецкий (текст)Итальянский -> Немецкий (визуальный)Итальянский -> Немецкий (смешанный)
dse-qwen2-2b-mrl-v193.192.693.593.3
vdr-2b-multi-v195.395.095.895.1
+2.3%

Модель значительно лучше работает со всеми типами документов, в среднем на +2,31 TP3T. Эти возможности поиска очень важны для реальных случаев использования, особенно в лингвистически разрозненных регионах, таких как Европа. Например, она позволяет осуществлять независимый от языка поиск в сложных многоязычных источниках, таких как комплексные европейские решения о привязке, инструкции по эксплуатации, KID финансовых активов, вкладыши в фармацевтические упаковки и так далее.

MRL и бинарное встраивание

Эта модель обучается с помощью технологии Matryoshka Representation Learning (MRL). Функция потерь, используемая во время обучения, калибруется для отслеживания производительности по всем этим измерениям, что позволяет предварительно загрузить модель наиболее важной информацией о распознавании. Это позволяет эффективно сузить диапазон измерений встраивания, исходя из размера и бюджета. Чтобы узнать больше о MRL, Hugging Face'sЭта запись в блогеЭтому было дано хорошее объяснение.

Для того чтобы проверить способность модели к поиску в различных измерениях вектора, она была оценена в межъязыковом бенчмарке "итальянский -> немецкий".

NDCG@5 (плавающая точка)

в среднемИтальянский -> Немецкий (текст)Итальянский -> Немецкий (визуальный)Итальянский -> Немецкий (смешанный)
1536 Vi
dse-qwen2-2b-mrl-v193.192.693.593.3
vdr-2b-multi-v195.395.095.995.1
+2.3%
1024 V
dse-qwen2-2b-mrl-v192.290.992.393.5
vdr-2b-multi-v194.693.195.795.1
+2.5%
512 Vi
dse-qwen2-2b-mrl-v189.887.989.492.2
vdr-2b-multi-v193.091.193.494.5
+3.4%

NDCG@5 (двоичный)

в среднемИтальянский -> Немецкий (текст)Итальянский -> Немецкий (визуальный)Итальянский -> Немецкий (смешанный)
1536 Vi
dse-qwen2-2b-mrl-v189.888.290.390.8
vdr-2b-multi-v192.389.694.193.3
+2.8%
1024 V
dse-qwen2-2b-mrl-v186.784.988.286.9
vdr-2b-multi-v190.887.092.692.8
+4.6%
512 Vi
dse-qwen2-2b-mrl-v179.280.681.775.4
vdr-2b-multi-v182.677.786.783.3
+4.0%

1024-мерные векторы с плавающей точкой обеспечивают очень хороший баланс между качеством и размером. Они примерно на 301 TP3T меньше, но при этом сохраняют производительность поиска 991 TP3T. То же самое справедливо и для 1536-мерных двоичных векторов, которые имеют в 10 раз меньше байт на вектор, но при этом сохраняют качество поиска 971 TP3T. Интересно, что 1536 двоичных векторов почти соответствуют производительности 1536 векторов с плавающей точкой базовой модели.

 

Выводы и дальнейшие шаги

Мы верим vdr-2b-multi-v1 ответить пением vdr-2b-v1 окажется полезным для многих пользователей.

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

Его англоязычная версия представляет собой значительное усовершенствование базовой модели, позволяющее встраивать документы в 3 раза быстрее, при этом уменьшая объем памяти и сохраняя прежнее (или лучшее) качество поиска.

Все это благодаря новому vdr-multilingual-train Набор данных содержит 500 000 высококачественных образцов. Этот набор данных содержит 500 000 высококачественных образцов и является крупнейшим многоязычным синтетическим набором данных с открытым исходным кодом для визуального поиска документов.

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

Следите за будущими обновлениями!

© заявление об авторских правах

Похожие статьи

Нет комментариев

Вы должны войти в систему, чтобы участвовать в комментариях!
Войти сейчас
нет
Нет комментариев...