Aprendizagem pessoal com IA
e orientação prática

A equipe da LlamaIndex apresenta o modelo de recuperação de documentos visuais de última geração vdr-2b-multi-v1

Lançamos vdr-2b-multi-v1 Esse é o melhor modelo de incorporação multilíngue para recuperação de documentos visuais. Também o lançamos em inglês simples vdr-2b-v1 e abriu o código-fonte do novo vdr-multilingual-train O conjunto de dados contém 500.000 amostras de alta qualidade. Esse conjunto de dados contém 500.000 amostras de alta qualidade e é o maior conjunto de dados sintético multilíngue de código aberto para recuperação de documentos visuais.

A equipe do LlamaIndex apresenta o modelo de recuperação visual de documentos de última geração vdr-2b-multi-v1-1

apresentar com orgulho vdr-2b-multi-v1 (🤗) que é um modelo de incorporação multilíngue projetado para recuperação visual de documentos em vários idiomas e domínios. Esse modelo foi projetado para codificar capturas de tela de páginas de documentos em representações unidirecionais densas, o que permitirá efetivamente pesquisar e consultar documentos multilíngues visualmente ricos sem a necessidade de qualquer OCR, pipelines de extração de dados, fragmentação...


vdr-2b-multi-v1 O modelo é baseado em MrLight/dse-qwen2-2b-mrl-v1 e treinado em um grande conjunto de dados de pares de imagens e consultas multilíngues criado internamente. Esse modelo foi construído em colaboração com o LlamaIndex e é mcdse-2b-v1 A próxima iteração de A próxima iteração do nosso vdr-2b-multi-v1 O aprendizado e os métodos usados para treiná-lo foram ampliados e aprimorados, resultando em um modelo mais poderoso e melhor.

  • Em 🇮🇹 italiano, 🇪🇸 espanhol, 🇬🇧 inglês, 🇫🇷 francês e 🇩🇪 alemão para treinamento: Juntos, eles formam um novo e grande conjunto de dados de treinamento multilíngue de código aberto com 500.000 amostras de alta qualidade.
  • Pouca memória de vídeo e raciocínio mais rápidoNo benchmark Synthetic Visual Document Retrieval (ViDoRe), nosso modelo somente em inglês com 768 blocos de imagens teve um desempenho melhor do que o modelo básico com 2560 blocos de imagens. Isso resulta em uma inferência três vezes mais rápida e em uma redução significativa do uso da memória gráfica.
  • pesquisa em vários idiomasÉ significativamente melhor em cenários reais. Por exemplo, você pode pesquisar documentos em alemão usando uma consulta em italiano.
  • A Matryoshka expressou seu aprendizadoSe o tamanho dos vetores for reduzido por um fator de 3, você ainda poderá manter a qualidade de incorporação do 98%. Isso pode aumentar drasticamente as velocidades de recuperação e, ao mesmo tempo, reduzir os custos de armazenamento.

 

uso

🎲 Experimente agora! vdr-2b-multi-v1pode ser encontrado no Espaço para abraçar o rosto Descubra!

Por meio da integração direta do SentenceTransformers e do LlamaIndex, usando o vdr-2b-multi-v1 Gerar incorporações está mais fácil do que nunca. Comece com apenas algumas linhas de código:

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
device="cpu", # "mps" para mac, "cuda" para GPUs nvidia
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(
    nome_do_modelo_ou_caminho="llamaindex/vdr-2b-multi-v1",
    device="cuda",
    trust_remote_code=True, # Estes são os valores recomendados para o SentenceTransformer.
    # Estes são os kwargs recomendados para o modelo, mas altere-os conforme necessário se você não tiver CUDA
    model_kwargs={
        "torch_dtype": torch.bfloat16, "device_map": torch.
        "device_map": "cuda:0", "attn_implementation".
        "attn_implementation": "flash_attention_2"
    },
)

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

 

Conjunto de dados de treinamento

O treinamento de bons modelos unidirecionais para a recuperação de documentos visuais requer dados de alta qualidade, mas os conjuntos de dados multimodais prontos para uso são escassos e não são multilíngues.

Como resultado, gastamos uma quantidade significativa de tempo para construí-lo do zero. O conjunto de dados original contém 500.000 amostras de imagens de consultas multilíngues que foram coletadas e geradas do zero usando PDFs públicos da Internet. A consulta associada a cada imagem foi gerada sinteticamente usando o Visual Language Modelling (VLM). Como comparação, nosso conjunto de dados é muito maior do que o maior conjunto de dados sintéticos de código aberto anterior para recuperação de documentos visuais multimodais (ou seja, o Conjunto de dados de treinamento ColPali (gerou documentos descartados) 10 vezes mais amostras.

A equipe do LlamaIndex apresenta o modelo de recuperação visual de documentos de última geração vdr-2b-multi-v1-1

Coleta de dados

Para cada idioma, geramos uma longa lista de consultas que abrange muitos tópicos diferentes, que usamos para pesquisar PDFs. Usamos os recursos de filtragem de idioma do mecanismo de pesquisa para rastrear somente documentos no idioma especificado. Essa técnica de "pesquisa por tópico" garante que o modelo tenha visto muitos tópicos e domínios diferentes e tenha um bom desempenho em cenários reais.

O processo de rastreamento resultou em aproximadamente 50.000 documentos multilíngues. Em comparação com o processo anterior mcdse-2b-v1 Em contraste com a abordagem usada no modelo, as páginas não são extraídas aleatoriamente. Em vez disso, cada página de cada PDF é executada por meio do modelo de análise de layout de documento para determinar se a página contém mais elementos textuais ou visuais. O resultado é um número que classifica a página como somente texto, somente visual ou uma mistura. Aproximadamente 100.000 páginas foram então amostradas usando essa etapa de marcação para garantir que fossem distribuídas uniformemente por tipo de página.

geração sintética

Em seguida, as consultas foram geradas usando o gemini-1.5-pro e o Qwen2-VL-72B. Sua tarefa é apresentar uma pergunta específica e uma pergunta geral. Somente a pergunta específica é usada para treinar o modelo, mas forçar os modelos de linguagem grande (LLMs) a distinguir entre os dois geralmente resulta em perguntas específicas mais poderosas para o treinamento de recuperação de informações.

Depois de gerado, outras etapas de limpeza garantem que o problema seja suficiente para o treinamento. Isso inclui:

  • Verifique se o idioma está correto
  • Correção de problemas de formatação
  • Excluir remarcação para baixo
  • Certifique-se de que apenas uma pergunta seja feita
  • Exclua frases básicas (por exemplo, "de acordo com a Figura 1", "este documento", ...)

Filtragem e mineração de casos negativos difíceis

Essa etapa de limpeza garante que a consulta esteja sintaticamente correta e siga algumas diretrizes rigorosas. No entanto, ela ainda não garante que a consulta seja suficiente para a recuperação de informações.

Para filtrar perguntas ruins, incorporamos e indexamos cada consulta ampla usando o modelo de incorporação voyage-3. Para cada pergunta específica, pesquisamos o índice. Se a pergunta ampla relacionada a ela aparecer nos primeiros 100 resultados, a consulta será rotulada como "boa". Esse método remove as perguntas que têm baixa entropia, são duplicadas ou muito semelhantes. Em média, 401 consultasTP3T foram removidas de cada conjunto de dados de idioma.

Os exemplos negativos difíceis foram então extraídos usando o voyage-3 somente em problemas específicos com um limite fixo de 0,75. Ele também foi usado, como em nvidia/NV-Retriever-v1 Foram realizados experimentos com mineração de casos negativos com reconhecimento de casos positivos, conforme descrito em , mas nesse conjunto de dados parece produzir casos negativos que são muito fáceis/distantes.

download

(vdr-multilingual-train 🤗) O conjunto de dados de treinamento agora é de código aberto e está disponível diretamente no Hugging Face. O conjunto de dados de treinamento contém 496.167 páginas em PDF, das quais apenas 280.679 estão associadas a uma consulta filtrada (usando o método descrito acima). As imagens restantes sem consultas ainda são usadas como exemplos negativos difíceis.

multilinguismo # Consultas filtradas # Consultas não filtradas
Inglês (idioma) 53,512 94,225
Idioma espanhol 58,738 102,685
Italiano (idioma) 54,942 98,747
Alemão (idioma) 58,217 100,713
Francês (idioma) 55,270 99,797
Total (geral) 280,679 496,167

O conjunto de dados consiste em 5 subconjuntos diferentes, cada um correspondendo a um idioma. Você pode navegar por ele diretamente aqui:

O conjunto de dados consiste em 5 subconjuntos diferentes, cada um correspondendo a um idioma. Você pode explorá-lo diretamente aqui:

 

Como alternativa, você pode adicionar o load_dataset Especifique o subconjunto de idiomas para fazer o download dos idiomas individualmente:

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

 

avaliação

A equipe do LlamaIndex apresenta o modelo de recuperação visual de documentos de última geração vdr-2b-multi-v1-1

O modelo foi avaliado em benchmarks ViDoRe e conjuntos de avaliação personalizados que permitem testar sua funcionalidade multilíngue em capturas de tela de páginas somente de texto, somente visuais e híbridas. O conjunto de dados de avaliação também está disponível publicamente no site Hugging Face (vdr-multilingual-test 🤗).

Garantimos que nenhuma página desses conjuntos de dados aparecesse no conjunto de treinamento para evitar qualquer contaminação da avaliação. Esses conjuntos de dados foram coletados e gerados da mesma forma que os conjuntos de dados de treinamento, mas com amostras menores. As etapas de filtragem foram todas feitas manualmente: cada consulta foi avaliada, agrupada e refinada (se necessário) para garantir dados de alta qualidade.

Todas as avaliações foram realizadas com o uso de 1536 ViVetores e pode ser usado com Até 768 tokens A resolução da imagem representada para calcular a NDCG@5 Pontuação a ser executada.

em média Francês (texto) Francês (visual) Francês (misto)
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%
em média Alemão (texto) Alemão (visual) Alemão (misto)
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%
em média Italiano (texto) Italiano (visual) Italiano (misto)
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%
em média Espanhol (texto) Espanhol (visual) Espanhol (misto)
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%
em média Inglês (texto) Inglês (visual) Inglês (misto)
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%

O modelo multilíngue supera o modelo básico em todos os idiomas e tipos de página, melhorando em uma média de +2,31 TP3T. Ele também tem um desempenho ligeiramente melhor no benchmark ViDoRe (+0,51 TP3T). Fizemos o ajuste fino do vdr-2b-multi-v1 Foram registrados grandes saltos no desempenho, especialmente para páginas híbridas ou puramente visuais que não sejam em inglês. Veja, por exemplo, que a recuperação puramente visual do idioma alemão melhora o NDCG@5 em +6.33% em comparação com o modelo básico.

Também treinamos uma versão em um subconjunto do inglês (vdr-2b-v1 🤗). No benchmark ViDoRe completo (usando 768 imagens) Token (para avaliação), tanto a versão multilíngue quanto a versão somente em inglês superam o modelo básico.

em média projeto de mudança governo assistência médica energia 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

Raciocínio mais rápido

A equipe do LlamaIndex apresenta o modelo de recuperação visual de documentos de última geração vdr-2b-multi-v1-1

Inglês simples vdr-2b-v1 O modelo também corresponde ao desempenho do modelo básico no conjunto de dados sintéticos de referência ViDoRe, usando apenas 30% de token de imagem (768 vs. 2560). Isso aumenta efetivamente a velocidade de inferência em um fator de 3 e reduz significativamente o uso da memória gráfica.

em média projeto de mudança governo assistência médica energia ai
dse-qwen2-2b-mrl-v1 (2560 tokens de imagem) 93.0 82 96 96.4 92.9 97.5
vdr-2b-v1 (token de imagem 768) 93.4 83.4 96.9 97.2 92.6 96.8

pesquisa em vários idiomas

Embora o modelo tenha sido treinado em cada idioma separadamente, ele também foi aprimorado na recuperação entre idiomas. Para testar esse recurso, as consultas do conjunto de avaliação em alemão foram traduzidas para o italiano usando o site DeepL. As capturas de tela das páginas de documentação são mantidas no original em alemão.

em média Italiano -> Alemão (texto) Italiano -> Alemão (visual) Italiano -> Alemão (misto)
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%

O modelo tem um desempenho significativamente melhor em todos os tipos de documentos, com uma melhoria média de +2,31 TP3T. Esses recursos de pesquisa são essenciais para casos de uso no mundo real, especialmente em regiões linguisticamente dispersas, como a Europa. Por exemplo, ele permite a pesquisa independente de idioma em fontes multilíngues complexas, como decisões complexas de vinculação europeia, manuais de instrução, KIDs de ativos financeiros, bulas de produtos farmacêuticos e assim por diante.

MRL e incorporação binária

Esse modelo é treinado usando o aprendizado de representação Matryoshka (MRL). A função de perda usada durante o treinamento é calibrada para rastrear o desempenho em todas essas dimensões, permitindo que o modelo seja pré-carregado com as informações de reconhecimento mais importantes. Isso permite que você reduza com eficiência as dimensões de incorporação com base no tamanho e no orçamento. Para saber mais sobre o MRL, o site da Hugging FaceEsta postagem do blogFoi dada uma boa explicação sobre isso.

Para testar a capacidade de recuperação do modelo em diferentes dimensões vetoriais, ele foi avaliado no benchmark entre idiomas italiano -> alemão.

NDCG@5 (ponto flutuante)

em média Italiano -> Alemão (texto) Italiano -> Alemão (visual) Italiano -> Alemão (misto)
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 (binário)

em média Italiano -> Alemão (texto) Italiano -> Alemão (visual) Italiano -> Alemão (misto)
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%

Os vetores de ponto flutuante de 1024 dimensões oferecem um equilíbrio muito bom entre qualidade e tamanho. Eles são cerca de 301 TP3T menores, mas ainda mantêm o desempenho de recuperação de 991 TP3T. O mesmo ocorre com os vetores binários de 1536 dimensões, que têm 10 vezes menos bytes por vetor, mas ainda mantêm a qualidade de recuperação de 971 TP3T. É interessante notar que os 1536 vetores binários quase correspondem ao desempenho dos 1536 vetores de ponto flutuante do modelo básico.

 

Conclusões e próximas etapas

Acreditamos que vdr-2b-multi-v1 responder cantando vdr-2b-v1 será útil para muitos usuários.

Nosso modelo multilíngue é o primeiro de seu tipo, melhorando significativamente o desempenho em cenários multilíngues e entre idiomas e, graças ao MRL e à quantificação binária, a recuperação está mais eficiente e rápida do que nunca. Acreditamos que isso abrirá novos casos de uso e oportunidades, especialmente em regiões linguisticamente dispersas, como a Europa.

Sua versão somente em inglês representa um grande aprimoramento do modelo subjacente, permitindo agora que os documentos sejam incorporados três vezes mais rápido, reduzindo a memória e mantendo a mesma (ou melhor) qualidade de pesquisa.

Tudo isso graças ao novo vdr-multilingual-train O conjunto de dados contém 500.000 amostras de alta qualidade. Esse conjunto de dados contém 500.000 amostras de alta qualidade e é o maior conjunto de dados sintéticos multilíngues de código aberto para recuperação de documentos visuais.

Trabalhos futuros explorarão o desempenho do nosso modelo quando adaptado a domínios novos e específicos. Isso ainda está nos estágios iniciais de desenvolvimento, e é necessário mais trabalho antes de publicar os resultados, mas os testes iniciais parecem ter mostrado que usar omuitoGanhos impressionantes de recuperação são obtidos com menos dados e recursos computacionais.

Fique atento às futuras atualizações!

Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " A equipe da LlamaIndex apresenta o modelo de recuperação de documentos visuais de última geração vdr-2b-multi-v1

Chefe do Círculo de Compartilhamento de IA

O Chief AI Sharing Circle se concentra no aprendizado de IA, fornecendo conteúdo abrangente de aprendizado de IA, ferramentas de IA e orientação prática. Nosso objetivo é ajudar os usuários a dominar a tecnologia de IA e explorar juntos o potencial ilimitado da IA por meio de conteúdo de alta qualidade e compartilhamento de experiências práticas. Seja você um iniciante em IA ou um especialista sênior, este é o lugar ideal para adquirir conhecimento, aprimorar suas habilidades e realizar inovações.

Entre em contato conosco
pt_BRPortuguês do Brasil