L'équipe de LlamaIndex présente la nouvelle génération du modèle de recherche visuelle de documents vdr-2b-multi-v1

Nous avons lancé vdr-2b-multi-v1 Il s'agit du meilleur modèle d'intégration multilingue pour la recherche de documents visuels. Nous l'avons également publié en anglais vdr-2b-v1 et a mis en open-source le nouveau vdr-multilingual-train L'ensemble de données contient 500 000 échantillons de haute qualité. Cet ensemble de données contient 500 000 échantillons de haute qualité et constitue le plus grand ensemble de données synthétiques multilingues à source ouverte pour la recherche de documents visuels.

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

présente avec fierté vdr-2b-multi-v1 (🤗) Il s'agit d'un modèle d'intégration multilingue conçu pour la recherche visuelle de documents dans plusieurs langues et domaines. Ce modèle est conçu pour encoder des captures d'écran de pages de documents en représentations unidirectionnelles denses, ce qui permettra de rechercher et d'interroger efficacement des documents multilingues visuellement riches sans nécessiter d'OCR, de pipelines d'extraction de données, de chunking...

vdr-2b-multi-v1 Le modèle est basé sur MrLight/dse-qwen2-2b-mrl-v1 Ce modèle a été construit en collaboration avec LlamaIndex et a été entraîné sur un grand ensemble de données multilingues de paires de requêtes et d'images. Ce modèle a été construit en collaboration avec LlamaIndex. mcdse-2b-v1 La prochaine itération de La prochaine itération de notre vdr-2b-multi-v1 L'apprentissage et les méthodes utilisées pour le former ont été étendus et améliorés, ce qui a permis d'obtenir un modèle plus puissant et de meilleure qualité.

  • Sur 🇮🇹 italien, 🇪🇸 espagnol, 🇬🇧 anglais, 🇫🇷 français et 🇩🇪 allemand pour la formation : Ensemble, ils forment un nouvel ensemble de données de formation multilingue à source ouverte contenant 500 000 échantillons de haute qualité.
  • Mémoire vidéo faible et raisonnement plus rapideDans le benchmark ViDoRe (Synthetic Visual Document Retrieval), notre modèle en anglais uniquement avec 768 blocs d'images a obtenu de meilleurs résultats que le modèle de base avec 2560 blocs d'images. Cela se traduit par une inférence trois fois plus rapide et une utilisation considérablement réduite de la mémoire graphique.
  • recherche inter-languesIl est nettement plus performant dans les situations réelles. Par exemple, vous pouvez rechercher des documents allemands à l'aide d'une requête italienne.
  • Matryoshka a exprimé l'apprentissageLes vecteurs peuvent être réduits d'un facteur 3 tout en conservant la qualité d'incorporation de 98%. Cela permet d'augmenter considérablement la vitesse d'extraction tout en réduisant les coûts de stockage.

 

utilisation

🎲 Essayez-le maintenant ! vdr-2b-multi-v1Voici un exemple du type de données que l'on peut trouver dans la rubrique Espace d'étreinte Trouver sur !

Grâce à l'intégration directe de SentenceTransformers et de LlamaIndex, l'utilisation de la fonction vdr-2b-multi-v1 Générer des embeds est plus facile que jamais. Il suffit de quelques lignes de code pour commencer :

Via 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?")

via 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")

 

Ensemble de données de formation

La formation de bons modèles unidirectionnels pour la recherche de documents visuels nécessite des données de haute qualité, mais les ensembles de données multimodales disponibles sur étagère sont rares et non multilingues.

C'est pourquoi nous avons passé beaucoup de temps à le construire à partir de zéro. L'ensemble de données original contient 500 000 échantillons multilingues de requêtes-images qui ont été collectés et générés à partir de zéro en utilisant des PDF publics sur Internet. La requête associée à chaque image a été générée synthétiquement à l'aide de la modélisation du langage visuel (VLM). À titre de comparaison, notre ensemble de données est beaucoup plus important que le plus grand ensemble de données synthétiques à source ouverte pour l'extraction multimodale de documents visuels (c'est-à-dire le Ensemble de données d'entraînement ColPali (documents rejetés générés) 10 fois plus d'échantillons.

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

Collecte de données

Pour chaque langue, nous générons une longue liste de requêtes couvrant de nombreux sujets différents, que nous utilisons ensuite pour rechercher des PDF. Nous utilisons les capacités de filtrage linguistique du moteur de recherche pour explorer uniquement les documents dans la langue spécifiée. Cette technique de "recherche par sujet" garantit que le modèle a vu de nombreux sujets et domaines différents et qu'il fonctionne bien dans des scénarios réels.

Le processus d'exploration a permis d'obtenir environ 50 000 documents multilingues. Par rapport à l mcdse-2b-v1 Contrairement à l'approche utilisée dans le modèle, les pages ne sont pas extraites au hasard. Au contraire, chaque page de chaque PDF est soumise au modèle d'analyse de la présentation des documents afin de déterminer si la page contient davantage d'éléments textuels ou visuels. Le résultat est un nombre qui classe la page comme étant uniquement textuelle, uniquement visuelle ou mixte. Environ 100 000 pages ont ensuite été échantillonnées à l'aide de cette étape de balisage pour s'assurer qu'elles étaient réparties uniformément par type de page.

génération synthétique

Les requêtes ont ensuite été générées à l'aide de gemini-1.5-pro et de Qwen2-VL-72B. Leur tâche consiste à poser une question spécifique et une question générale. Seule la question spécifique est utilisée pour entraîner le modèle, mais le fait de forcer les grands modèles de langage (LLM) à faire la distinction entre les deux conduit généralement à des questions spécifiques plus puissantes pour l'entraînement à la recherche d'informations.

Une fois généré, d'autres étapes de nettoyage permettent de s'assurer que le problème est suffisant pour la formation. Il s'agit notamment de

  • S'assurer que la langue est correcte
  • Correction des problèmes de formatage
  • Supprimer la démarque
  • Veiller à ce qu'une seule question soit posée
  • Supprimer les phrases de base (par exemple, "selon la figure 1", "ce document", ...)

Filtrage et extraction de cas négatifs difficiles

Cette étape de nettoyage permet de s'assurer que la requête est syntaxiquement correcte et qu'elle respecte certaines directives strictes. Toutefois, elle ne garantit pas que la requête est suffisante pour la recherche d'informations.

Pour filtrer les mauvaises questions, nous avons intégré et indexé chaque requête générale à l'aide du modèle d'intégration voyage-3. Pour chaque question spécifique, nous avons effectué une recherche dans l'index. Si la question générale qui lui est associée apparaît dans les 100 premiers résultats, la requête est qualifiée de "bonne". Cette méthode permet d'éliminer les questions qui ont une faible entropie, qui sont dupliquées ou qui sont trop similaires. En moyenne, 40% requêtes ont été supprimées de chaque ensemble de données linguistiques.

Les exemples négatifs difficiles ont ensuite été extraits en utilisant voyage-3 uniquement sur des problèmes spécifiques avec un seuil fixe de 0,75. Il a également été utilisé, comme dans nvidia/NV-Retriever-v1 Des expériences ont été menées avec l'extraction de cas négatifs tenant compte des cas positifs, telle que décrite dans , mais sur cet ensemble de données, elle semble produire des cas négatifs trop faciles/éloignés.

téléchargement

(vdr-multilingual-train 🤗) L'ensemble de données d'entraînement est maintenant ouvert et disponible directement sur Hugging Face. L'ensemble de données de formation contient 496 167 pages PDF, dont seulement 280 679 sont associées à une requête filtrée (à l'aide de la méthode décrite ci-dessus). Les images restantes sans requête sont toujours utilisées comme exemples négatifs durs.

multilinguisme# Requêtes filtrées# Requêtes non filtrées
Anglais (langue)53,51294,225
Langue espagnole58,738102,685
Italien (langue)54,94298,747
Allemand (langue)58,217100,713
Français (langue)55,27099,797
Total (général)280,679496,167

L'ensemble de données se compose de 5 sous-ensembles différents, chacun correspondant à une langue. Vous pouvez le consulter directement ici :

L'ensemble de données se compose de 5 sous-ensembles différents, chacun correspondant à une langue. Vous pouvez l'explorer directement ici :

 

Vous pouvez également ajouter l'élément load_dataset Spécifiez le sous-ensemble de langues dans lequel les langues doivent être téléchargées individuellement :

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")

 

évaluation

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

Le modèle a été évalué sur des bancs d'essai ViDoRe et des ensembles d'évaluation personnalisés qui permettent de tester sa fonctionnalité multilingue sur des captures d'écran de pages textuelles, visuelles et hybrides. L'ensemble de données d'évaluation est également accessible au public sur Hugging Face (vdr-multilingual-test 🤗).

Nous avons veillé à ce qu'aucune page de ces ensembles de données n'apparaisse dans l'ensemble de formation afin d'éviter toute contamination de l'évaluation. Ces ensembles de données ont été collectés et générés de la même manière que les ensembles de données de formation, mais avec des échantillons plus petits. Les étapes de filtrage ont toutes été effectuées manuellement : chaque requête a été évaluée, collationnée et affinée (si nécessaire) pour garantir des données de haute qualité.

Toutes les évaluations ont été réalisées à l'aide de 1536 ViVecteurs et peuvent être utilisés avec Jusqu'à 768 jetons La résolution de l'image représentée pour calculer la NDCG@5 Score à réaliser.

en moyenneFrançais (texte)Français (visuel)Français (mixte)
dse-qwen2-2b-mrl-v193.594.790.895.1
vdr-2b-multi-v195.695.693.397.9
+2.2%
en moyenneAllemand (texte)Allemand (visuel)Allemand (mixte)
dse-qwen2-2b-mrl-v193.093.490.095.5
vdr-2b-multi-v196.294.895.798.1
+3.4%
en moyenneItalien (texte)Italien (visuel)Italien (mixte)
dse-qwen2-2b-mrl-v195.195.194.096.2
vdr-2b-multi-v197.096.496.398.4
+2%
en moyenneEspagnol (texte)Espagnol (visuel)Espagnol (mixte)
dse-qwen2-2b-mrl-v196.797.294.798.2
vdr-2b-multi-v198.198.396.999.1
+1.4%
en moyenneAnglais (texte)Anglais (visuel)Anglais (mixte)
dse-qwen2-2b-mrl-v198.098.398.597.1
vdr-2b-multi-v198.197.999.197.3
+0.1%

Le modèle multilingue est plus performant que le modèle de base dans toutes les langues et pour tous les types de pages, avec une amélioration moyenne de +2,31 TP3T. Il est également légèrement plus performant dans le benchmark ViDoRe (+0,51 TP3T). Nous avons affiné le modèle vdr-2b-multi-v1 D'énormes progrès ont été réalisés, notamment pour les pages purement visuelles ou hybrides qui ne sont pas en anglais. Par exemple, la recherche purement visuelle en langue allemande améliore NDCG@5 de +6,33% par rapport au modèle de base.

Nous avons également entraîné une version sur un sous-ensemble d'anglais (vdr-2b-v1 🤗). Dans le benchmark complet ViDoRe (utilisant 768 images) Jeton (pour évaluation), les versions multilingue et anglaise uniquement sont plus performantes que le modèle de base.

en moyenneprojet de réorientationgouvernementsoins de santél'énergieaidocvqaarxivqatatdqainfovqatabfquad
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

Un raisonnement plus rapide

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

l'anglais simple vdr-2b-v1 Le modèle atteint également les performances du modèle de base sur l'ensemble de données synthétiques de référence ViDoRe tout en utilisant seulement 30% d'image Token (768 vs. 2560). La vitesse d'inférence est ainsi multipliée par 3 et l'utilisation de la mémoire graphique est considérablement réduite.

en moyenneprojet de réorientationgouvernementsoins de santél'énergieai
dse-qwen2-2b-mrl-v1 (2560 marqueurs d'image)93.0829696.492.997.5
vdr-2b-v1 (jeton d'image 768)93.483.496.997.292.696.8

recherche inter-langues

Bien que le modèle ait été entraîné sur chaque langue séparément, il s'est également amélioré dans la recherche interlinguistique. Pour tester cette capacité, les requêtes de l'ensemble d'évaluation allemand ont été traduites en italien à l'aide de DeepL. Les captures d'écran des pages de documentation sont conservées dans l'original allemand.

en moyenneItalien -> Allemand (texte)Italien -> Allemand (visuel)Italien -> Allemand (mixte)
dse-qwen2-2b-mrl-v193.192.693.593.3
vdr-2b-multi-v195.395.095.895.1
+2.3%

Le modèle est nettement plus performant pour tous les types de documents, avec une amélioration moyenne de +2,31 TP3T. Ces capacités de recherche sont essentielles pour les cas d'utilisation réels, en particulier dans les régions linguistiquement dispersées telles que l'Europe. Par exemple, il permet d'effectuer des recherches indépendantes de la langue dans des sources multilingues complexes telles que des décisions européennes contraignantes, des manuels d'instruction, des notices d'information sur des actifs financiers, des notices de produits pharmaceutiques, etc.

MRL et intégration binaire

Ce modèle est formé à l'aide de l'apprentissage par représentation de Matryoshka (MRL). La fonction de perte utilisée pendant l'apprentissage est calibrée pour suivre les performances sur toutes ces dimensions, ce qui permet au modèle d'être préchargé avec les informations de reconnaissance les plus importantes. Cela vous permet de réduire efficacement les dimensions d'intégration en fonction de la taille et du budget. Pour en savoir plus sur le MRL, le site web de Hugging FaceCet article de blogUne bonne explication a été donnée à ce sujet.

Afin de tester la capacité de recherche du modèle dans différentes dimensions vectorielles, il a été évalué dans le benchmark inter-langues italien -> allemand.

NDCG@5 (virgule flottante)

en moyenneItalien -> Allemand (texte)Italien -> Allemand (visuel)Italien -> Allemand (mixte)
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 (binaire)

en moyenneItalien -> Allemand (texte)Italien -> Allemand (visuel)Italien -> Allemand (mixte)
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%

Les vecteurs à 1024 dimensions en virgule flottante offrent un très bon équilibre entre la qualité et la taille. Ils sont environ 30% plus petits, mais conservent les performances de recherche de 99%. Il en va de même pour les vecteurs binaires à 1536 dimensions, qui ont 10 fois moins d'octets par vecteur, mais conservent la qualité de recherche de 97%. Il est intéressant de noter que les 1536 vecteurs binaires sont presque aussi performants que les 1536 vecteurs à virgule flottante du modèle de base.

 

Conclusions et prochaines étapes

Nous croyons vdr-2b-multi-v1 répondre en chantant vdr-2b-v1 s'avérera utile à de nombreux utilisateurs.

Notre modèle multilingue est le premier du genre, améliorant de manière significative les performances dans les scénarios multilingues et interlangues, et grâce au MRL et à la quantification binaire, la recherche est plus efficace et plus rapide que jamais. Nous pensons que cela ouvrira de nouveaux cas d'utilisation et de nouvelles opportunités, en particulier dans les régions linguistiquement dispersées telles que l'Europe.

Sa version anglaise uniquement représente une amélioration majeure du modèle sous-jacent, qui permet désormais d'intégrer les documents trois fois plus rapidement, tout en réduisant la mémoire et en maintenant une qualité de recherche identique (voire meilleure).

Tout cela grâce à la nouvelle vdr-multilingual-train L'ensemble de données contient 500 000 échantillons de haute qualité. Cet ensemble de données contient 500 000 échantillons de haute qualité et constitue le plus grand ensemble de données synthétiques multilingues à source ouverte pour la recherche de documents visuels.

Les travaux futurs exploreront les performances de notre modèle lorsqu'il est adapté à des domaines nouveaux et spécifiques. Nous en sommes encore aux premiers stades de développement et des travaux supplémentaires sont nécessaires avant de publier des résultats.beaucoupDes gains impressionnants en matière de recherche sont obtenus avec moins de données et de ressources informatiques.

Restez à l'écoute pour les prochaines mises à jour !

© déclaration de droits d'auteur

Articles connexes

Pas de commentaires

Vous devez être connecté pour participer aux commentaires !
S'inscrire maintenant
aucun
Pas de commentaires...