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

с гордостью представляем 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 раз больше образцов.

Сбор данных
Для каждого языка мы генерируем длинный список запросов, охватывающих множество различных тем, которые затем используем для поиска 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,512 | 94,225 |
Испанский язык | 58,738 | 102,685 |
Итальянский (язык) | 54,942 | 98,747 |
Немецкий (язык) | 58,217 | 100,713 |
Французский (язык) | 55,270 | 99,797 |
(общая) сумма | 280,679 | 496,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")
оценка

Модель была оценена на бенчмарках ViDoRe и специально созданных наборах данных, которые позволяют проверить ее многоязычную функциональность на скриншотах только текстовых, только визуальных и гибридных страниц. Набор оценочных данных также находится в открытом доступе на сайте Hugging Face (vdr-multilingual-test 🤗).
Мы убедились, что ни одна страница из этих наборов данных не попала в обучающий набор, чтобы избежать загрязнения оценки. Эти наборы данных были собраны и сгенерированы так же, как и обучающие, но с меньшим объемом выборки. Все этапы фильтрации выполнялись вручную: каждый запрос оценивался, сопоставлялся и уточнялся (при необходимости), чтобы обеспечить высокое качество данных.
Все оценки проводились с помощью 1536 ViВекторы и могут быть использованы с До 768 токенов Разрешение изображения, представленного для расчета NDCG@5 Очки для исполнения.
в среднем | Французский (текст) | Французский (визуальный) | Французский (смешанный) | |
---|---|---|---|---|
dse-qwen2-2b-mrl-v1 | 93.5 | 94.7 | 90.8 | 95.1 |
vdr-2b-multi-v1 | 95.6 | 95.6 | 93.3 | 97.9 |
+2.2% |
в среднем | Немецкий (текст) | Немецкий (визуальный) | Немецкий (смешанный) | |
---|---|---|---|---|
dse-qwen2-2b-mrl-v1 | 93.0 | 93.4 | 90.0 | 95.5 |
vdr-2b-multi-v1 | 96.2 | 94.8 | 95.7 | 98.1 |
+3.4% |
в среднем | Итальянский (текст) | Итальянский (визуальный) | Итальянский (смешанный) | |
---|---|---|---|---|
dse-qwen2-2b-mrl-v1 | 95.1 | 95.1 | 94.0 | 96.2 |
vdr-2b-multi-v1 | 97.0 | 96.4 | 96.3 | 98.4 |
+2% |
в среднем | Испанский (текст) | Испанский (визуальный) | Испанский (смешанный) | |
---|---|---|---|---|
dse-qwen2-2b-mrl-v1 | 96.7 | 97.2 | 94.7 | 98.2 |
vdr-2b-multi-v1 | 98.1 | 98.3 | 96.9 | 99.1 |
+1.4% |
в среднем | Английский (текст) | Английский (визуальный) | Английский (смешанный) | |
---|---|---|---|---|
dse-qwen2-2b-mrl-v1 | 98.0 | 98.3 | 98.5 | 97.1 |
vdr-2b-multi-v1 | 98.1 | 97.9 | 99.1 | 97.3 |
+0.1% |
Многоязычная модель превосходит базовую модель на каждом языке и на каждом типе страниц, в среднем на +2,31 TP3T. Она также немного лучше в бенчмарке ViDoRe (+0,51 TP3T). Мы провели тонкую настройку vdr-2b-multi-v1
Были достигнуты огромные скачки в производительности, особенно для неанглийских чисто визуальных или гибридных страниц. Например, чисто визуальный поиск на немецком языке улучшает NDCG@5 на +6,33% по сравнению с базовой моделью.
Мы также обучили версию на подмножестве английского языка (vdr-2b-v1 🤗). В полном бенчмарке ViDoRe (с использованием 768 изображений) Токен (для оценки), и многоязычная версия, и версия только для английского языка превосходят базовую модель.
в среднем | shiftproject | правительство | здравоохранение | энергия | ai | docvqa | arxivqa | tatdqa | infovqa | tabfquad | |
---|---|---|---|---|---|---|---|---|---|---|---|
dse-qwen2-2b-mrl-v1 | 83.6 | 79.8 | 95.7 | 96.9 | 92.0 | 98.2 | 56.3 | 85.2 | 53.9 | 87.5 | 90.3 |
vdr-2b-multi-v1 | 84.0 | 82.4 | 95.5 | 96.5 | 91.2 | 98.5 | 58.5 | 84.7 | 53.6 | 87.1 | 92.2 |
vdr-2b-v1 | 84.3 | 83.4 | 96.9 | 97.2 | 92.6 | 96.8 | 57.4 | 85.1 | 54.1 | 87.9 | 91.3 |
Более быстрое рассуждение

простой английский vdr-2b-v1
Модель также соответствует производительности базовой модели на синтетическом наборе данных бенчмарка ViDoRe при использовании всего 30% изображений Token (768 против 2560). Это позволяет увеличить скорость вычислений в 3 раза и значительно сократить расход графической памяти.
в среднем | shiftproject | правительство | здравоохранение | энергия | ai | |
---|---|---|---|---|---|---|
dse-qwen2-2b-mrl-v1 (2560 жетонов изображений) | 93.0 | 82 | 96 | 96.4 | 92.9 | 97.5 |
vdr-2b-v1 (768 Image Token) | 93.4 | 83.4 | 96.9 | 97.2 | 92.6 | 96.8 |
межъязыковой поиск
Несмотря на то, что модель обучалась на каждом языке отдельно, она также улучшилась при межъязыковом поиске. Для проверки этой возможности немецкие запросы были переведены на итальянский с помощью DeepL. Скриншоты страниц документации сохранены в оригинале на немецком языке.
в среднем | Итальянский -> Немецкий (текст) | Итальянский -> Немецкий (визуальный) | Итальянский -> Немецкий (смешанный) | |
---|---|---|---|---|
dse-qwen2-2b-mrl-v1 | 93.1 | 92.6 | 93.5 | 93.3 |
vdr-2b-multi-v1 | 95.3 | 95.0 | 95.8 | 95.1 |
+2.3% |
Модель значительно лучше работает со всеми типами документов, в среднем на +2,31 TP3T. Эти возможности поиска очень важны для реальных случаев использования, особенно в лингвистически разрозненных регионах, таких как Европа. Например, она позволяет осуществлять независимый от языка поиск в сложных многоязычных источниках, таких как комплексные европейские решения о привязке, инструкции по эксплуатации, KID финансовых активов, вкладыши в фармацевтические упаковки и так далее.
MRL и бинарное встраивание
Эта модель обучается с помощью технологии Matryoshka Representation Learning (MRL). Функция потерь, используемая во время обучения, калибруется для отслеживания производительности по всем этим измерениям, что позволяет предварительно загрузить модель наиболее важной информацией о распознавании. Это позволяет эффективно сузить диапазон измерений встраивания, исходя из размера и бюджета. Чтобы узнать больше о MRL, Hugging Face'sЭта запись в блогеЭтому было дано хорошее объяснение.
Для того чтобы проверить способность модели к поиску в различных измерениях вектора, она была оценена в межъязыковом бенчмарке "итальянский -> немецкий".
NDCG@5 (плавающая точка)
в среднем | Итальянский -> Немецкий (текст) | Итальянский -> Немецкий (визуальный) | Итальянский -> Немецкий (смешанный) | |
---|---|---|---|---|
1536 Vi | ||||
dse-qwen2-2b-mrl-v1 | 93.1 | 92.6 | 93.5 | 93.3 |
vdr-2b-multi-v1 | 95.3 | 95.0 | 95.9 | 95.1 |
+2.3% | ||||
1024 V | ||||
dse-qwen2-2b-mrl-v1 | 92.2 | 90.9 | 92.3 | 93.5 |
vdr-2b-multi-v1 | 94.6 | 93.1 | 95.7 | 95.1 |
+2.5% | ||||
512 Vi | ||||
dse-qwen2-2b-mrl-v1 | 89.8 | 87.9 | 89.4 | 92.2 |
vdr-2b-multi-v1 | 93.0 | 91.1 | 93.4 | 94.5 |
+3.4% |
NDCG@5 (двоичный)
в среднем | Итальянский -> Немецкий (текст) | Итальянский -> Немецкий (визуальный) | Итальянский -> Немецкий (смешанный) | |
---|---|---|---|---|
1536 Vi | ||||
dse-qwen2-2b-mrl-v1 | 89.8 | 88.2 | 90.3 | 90.8 |
vdr-2b-multi-v1 | 92.3 | 89.6 | 94.1 | 93.3 |
+2.8% | ||||
1024 V | ||||
dse-qwen2-2b-mrl-v1 | 86.7 | 84.9 | 88.2 | 86.9 |
vdr-2b-multi-v1 | 90.8 | 87.0 | 92.6 | 92.8 |
+4.6% | ||||
512 Vi | ||||
dse-qwen2-2b-mrl-v1 | 79.2 | 80.6 | 81.7 | 75.4 |
vdr-2b-multi-v1 | 82.6 | 77.7 | 86.7 | 83.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 высококачественных образцов и является крупнейшим многоязычным синтетическим набором данных с открытым исходным кодом для визуального поиска документов.
В будущем мы будем изучать, как наша модель работает при адаптации к новым и специфическим областям. Эта работа все еще находится на ранних стадиях развития, и необходимо провести дополнительные исследования, прежде чем публиковать результаты, но раннее тестирование, похоже, показало, что принятиеоченьВпечатляющие результаты поиска достигаются при меньшем объеме данных и вычислительных ресурсов.
Следите за будущими обновлениями!
© заявление об авторских правах
Авторское право на статью Круг обмена ИИ Пожалуйста, не воспроизводите без разрешения.
Похожие статьи
Нет комментариев...