4 pontos por GN⁺ 2024-11-18 | 1 comentários | Compartilhar no WhatsApp
  • O voyage-multimodal-3, lançado pela Voyage AI, é um modelo para RAG e busca semântica que busca pesquisar bases de conhecimento com mistura de texto e imagem usando um único modelo de embedding
  • Seu principal diferencial é poder vetorizar sem fazer parsing do documento materiais em que a informação de layout é importante, como PDFs, slides, tabelas, ilustrações e capturas de tela de documentos
  • Para reduzir as limitações de busca em modalidade mista dos modelos da família CLIP, ele processa texto e informação visual no mesmo codificador Transformer, preservando as relações de contexto em entradas com modalidades misturadas
  • Em 20 conjuntos de dados de busca multimodal, mostrou uma precisão de busca em média 19,63% maior que a do modelo de embedding multimodal com o segundo melhor desempenho, e também superou o OpenAI v3 large em 34 conjuntos de dados de busca textual
  • À medida que a proporção de capturas de tela aumentava, os modelos baseados em CLIP perdiam qualidade, mas o voyage-multimodal-3 teve pouca queda de desempenho em toda a faixa, tornando-se prático para pipelines de busca baseados em screenshots

Casos de uso que o voyage-multimodal-3 busca atender

  • O voyage-multimodal-3 é o primeiro modelo de embedding multimodal da Voyage AI, voltado para RAG e busca semântica em bases de conhecimento com muito material visual e texto juntos
  • As entradas incluem texto e imagens ricas em conteúdo, com exemplos representativos como:
    • capturas de tela com texto
    • ilustrações e tabelas
    • capturas de tela de PDFs
    • decks de slides
    • outras imagens de documentos
  • Os vetores gerados refletem não só o significado do texto, mas também características visuais como tamanho da fonte, posição do texto e espaçamento
  • Em documentos com layout complexo ou mistura de ilustrações e fotos, o parsing baseado em heurísticas pode gerar problemas de precisão, por isso o modelo adota a abordagem de transformar diretamente a tela original em vetores para busca
  • Um exemplo de uso pode ser visto no sample notebook

Uma abordagem de embedding diferente da família CLIP

  • Modelos multimodais de embedding já existentes, como Amazon Titan Multimodal G1, Google Vertex AI multimodal e Cohere multimodal v3, usam arquitetura baseada em OpenAI CLIP
  • A arquitetura da família CLIP processa modalidades diferentes em redes independentes
    • imagens são vetorizadas pela vision tower
    • texto é vetorizado pela text tower
    • nessa estrutura, é difícil processar de uma vez entradas com mistura de texto e imagem
  • O voyage-multimodal-3 vetoriza diretamente as duas modalidades dentro do mesmo codificador Transformer
    • texto e características visuais não são tratados como componentes separados, mas como parte de uma representação integrada
    • é uma aplicação da arquitetura de modelos modernos de visão-linguagem para vetorização, e não para geração
  • Com isso, o vetor consegue capturar junto a relação contextual entre informação visual e textual em texto e imagem misturados, capturas de tela de documentos, PDFs complexos e imagens com anotações

A diferença que aparece na busca com screenshots misturados

  • Modelos parecidos com CLIP podem ter desempenho menor em busca multimodal mista por causa do modality gap
  • No exemplo, o vetor mais próximo do trecho de texto “I address you, members of the Seventy-Seventh Congress…” não era a captura de tela correspondente, mas outro texto
  • Esse fenômeno leva a um viés de busca em que vetores de texto ficam mais próximos de itens irrelevantes da mesma modalidade do que de imagens relacionadas
  • A Voyage AI montou um experimento quantitativo com a documentação do PyTorch
    • criou conjuntos de documentos com o mesmo conteúdo, tanto como strings de texto comuns quanto como screenshots
    • montou um conjunto de dados multimodal misto combinando parte dos documentos em texto e screenshots dos documentos restantes
    • a proporção de screenshots foi variada de 0% a 100%
    • cada modelo buscou os 10 principais resultados com similaridade de cosseno e foi avaliado com NDCG@10
  • Nos modelos baseados em CLIP, a qualidade da busca caiu conforme a proporção de screenshots aumentava até 90%, e o desempenho também foi baixo quando todo o texto foi convertido em imagem
  • O voyage-multimodal-3 teve o melhor desempenho em todas as proporções e quase nenhuma queda geral de performance
  • O resultado mostra tanto a capacidade de incorporar ao vetor a informação semântica contida nas screenshots quanto a robustez da abordagem que processa todas as modalidades de entrada no mesmo backbone

Conjuntos de avaliação e modelos comparados

  • A avaliação multimodal foi feita em 3 tarefas, com um total de 20 conjuntos de dados
    • busca em tabelas/gráficos: charxiv, mmtab-test, ChartQA, Chartve, FintabnetQA, PlotQA
    • busca em capturas de tela de documentos: benchmark ViDoRe com Energy, Healthcare Industry, Artificial Intelligence, Government Report, InfoVQA, DocVQA, ArxivQA, TabFQuad, TAT-DQA, Shift Project
    • busca texto-foto: meme-cap, mm-imdb, winoground, docci
  • A avaliação padrão de busca textual foi feita em 34 conjuntos de dados de 6 domínios: jurídico, finanças, diálogo, código, web e tecnologia
  • Em todos os conjuntos, as consultas são texto, e os documentos podem ser ilustrações, fotos, texto, capturas de tela de documentos ou combinações desses tipos
  • Os modelos de comparação nas tarefas multimodais foram:
  • Na busca textual padrão, a comparação foi com OpenAI v3 large (text-embeddings-3-large), Cohere multimodal/English 1 v3 e voyage-3
  • Como o Cohere multimodal v3 usa o Cohere English v3 (embed-english-v3.0) como text tower em texto puro, os gráficos usam apenas o rótulo “Cohere multimodal v3” para reduzir confusão

Resultados de precisão de busca

  • O voyage-multimodal-3 registrou, nos 20 conjuntos de dados de busca multimodal, uma precisão de busca em média 19,63% maior que a do modelo de embedding multimodal com o segundo melhor desempenho
  • Na busca em tabelas/gráficos, ficou à frente de OpenAI CLIP large, Amazon Titan Multimodal G1, Cohere multimodal v3, SigLIP So400M e ColQwen2 v0.1 em 41,44%, 45,00%, 43,37%, 20,66% e 6,14%, respectivamente
  • Na busca em capturas de tela de documentos, superou os mesmos modelos em 26,54%, 37,68%, 25,84%, 35,62% e 0,98%, respectivamente
  • Na busca texto-foto, ficou à frente dos mesmos modelos em 6,55%, 5,16%, 5,86%, 3,42% e 10,34%
  • Na busca textual padrão, teve desempenho 5,13% melhor que o OpenAI v3 large e 13,70% melhor que o Cohere multimodal/English 1 v3
  • A precisão de busca em documentos de texto puro foi 0,05% maior que a do voyage-3, deixando os dois modelos em nível praticamente equivalente
  • Os resultados completos da avaliação estão disponíveis em uma planilha

Como começar e materiais disponíveis

  • O voyage-multimodal-3 pode ser usado desde o dia do lançamento público
  • Os primeiros 200 milhões de tokens são gratuitos
  • Os materiais para começar estão disponíveis no sample notebook e na documentação
  • Usuários interessados em modelos de embedding com fine-tuning podem entrar em contato pelo contact@voyageai.com

1 comentários

 
GN⁺ 2024-11-18
Opiniões no Hacker News
  • A observação central é simples e intuitiva: todos os modelos da família CLIP têm desempenho ruim em busca de modalidades mistas por causa do intervalo entre modalidades (modality gap)
    Por exemplo, o vetor mais próximo da frase “I address you, members of the Seventy-Seventh Congress…” acaba sendo outro texto, não a captura de tela correspondente. Assim, no espaço de embeddings, o vetor de texto fica mais próximo de um texto não relacionado do que de uma imagem relacionada, fazendo com que os resultados de busca tendam para a mesma modalidade

    • Essa citação é importante, mas isoladamente não deixa claro se eles afirmam ter resolvido esse problema. O novo modelo, voyage-multimodal-3, parece dizer que identifica conceitos conectados entre modalidades
      Se houver um espaço latente capaz de agrupar a mesma ideia, seja ela expressa visualmente ou em texto, isso seria bem interessante. Ainda assim, acho que esse benchmark enxerga embeddings multimodais de uma forma bastante estreita. É conveniente que imagens de texto relacionadas e embeddings de texto fiquem próximos, mas é difícil dizer que isso se estende à relação entre diferentes representações visuais, como “rabbit” e uma foto de um coelho. Se o objetivo estreito for indexação de imagens de documentos, imagino que outras técnicas também possam funcionar bastante bem. Parece uma boa oportunidade para surgir um novo conjunto de dados de benchmark para representação multimodal de conceitos além do meio textual
    • Talvez esse problema esteja sendo resolvido com multimodal mixup, que evita a criação de um grande intervalo no espaço latente entre as duas modalidades: https://arxiv.org/abs/2203.03897
  • Se você tem interesse nessa área, nosso projeto, que usa ColPali de forma transparente internamente, também pode ser uma opção a considerar
    https://github.com/tjmlabs/ColiVara
    O principal benchmark desse campo é o ranking Vidore, e eu gostaria de ver como a VoyageAI se sai em comparação com implementações open source mais abertas

  • Parece que estou deixando passar alguma coisa. Tenho a impressão de que qualquer LLM “nativamente multimodal” deveria incluir embeddings multimodais de alguma forma
    Por exemplo, o post do Google sobre o Gemini explica que os modelos multimodais anteriores treinavam componentes separados para diferentes modalidades e depois os juntavam, enquanto o Gemini foi pré-treinado desde o início com várias modalidades e ajustado com dados multimodais adicionais. Por isso, eles afirmam que ele entende e raciocina naturalmente sobre todo tipo de entrada desde o começo

    • LLMs como o Gemini, e mais amplamente modelos de linguagem causais, são treinados para prever o próximo token; por isso, vetores obtidos ao fazer pooling dos embeddings de tokens de saída não são muito úteis para RAG ou busca semântica em comparação com os obtidos de um modelo de embeddings de fato
      A distinção aqui é que embeddings de tokens e os vetores/embeddings gerados por um modelo de embeddings são conceitos relacionados, mas diferentes. Os muitos embeddings de tokens, um para cada token, são contextualizados ao passar pelo Transformer, enquanto um modelo de embeddings gera um único vetor para cada entrada, como um texto longo, uma foto ou uma captura de tela de documento
    • Embeddings de LLM contêm representações sobrepostas de muitos conceitos, o que permite prever o próximo token, mas eles não têm desempenho tão bom quanto modelos de embeddings pré-treinados com aprendizado contrastivo
    • Se as outras respostas não ficaram claras, aqui dá para pensar em “embedding” como “uma lista produzida por alguma camada do meu modelo de IA”
      Tecnicamente é um conceito um pouco mais específico, mas nesse contexto está correto. LLMs, incluindo LLMs multimodais, também têm embeddings, mas eles não são embeddings treinados para encontrar documentos parecidos; são embeddings aprendidos por meio de geração de texto
  • Parece bastante impressionante. Tenho curiosidade sobre uma visão crítica das avaliações apresentadas
    Também fico curioso sobre como ele se sairia com texto não inglês. É correto entender que, como outros modelos comerciais, ele é oferecido apenas via API?

    • Sim, os modelos da Voyage são somente via API
      Eu tinha escrito algo sobre multilinguismo, mas estava errado, então apaguei. Para referência, a Voyage também tem modelos separados de law, code e finance. Veja [1]
      De todo modo, os resultados são realmente interessantes
      [1]: https://docs.voyageai.com/docs/embeddings
  • É uma pena que o modelo seja comercial e proprietário, além de disponível apenas via API

    • É triste ter que pagar salários aos funcionários?
  • Se for um modelo disponível só por API, passo. Ainda assim, parabéns

    • Concordo com ambas as partes. Claro que, além de querer cobrar das pessoas, há motivos claros para focar apenas em API, mas o simples fato de não oferecerem outras opções já faria com que eu, pessoalmente, provavelmente não considerasse
  • Parece bem interessante. Tenho trabalhado no AnyModal, um framework para integrar vários tipos de dados, como imagens e áudio, a LLMs: https://github.com/ritabratamaiti/AnyModal
    O voyage-multimodal-3 parece bastante promissor para o desenvolvimento de LLMs multimodais, mas não sei bem se esse é o caso de uso pretendido

  • Na API Python tradicional, o motor da Voyage tokeniza blocos de texto e retorna strings. Este modelo parece fazer esse trabalho vetorizando imagens dentro de um espaço
    Palavras como you ou apple viram um único token, enquanto termos mais complexos como pikachu podem ser divididos como pik-a-chu
    [1]: https://docs.voyageai.com/docs/tokenization

  • É interessante a forma como eles analisam embeddings multimodais. Eles medem a mudança de desempenho de acordo com a proporção à medida que a entrada vai migrando de uma modalidade para outra
    https://i0.wp.com/blog.voyageai.com/wp-content/uploads/2024/...

  • No Colab, eles medem valores de produto escalar de 0,428 e 0,498 e os descrevem como “valores de similaridade bastante altos”. Fico em dúvida se isso é realmente alto
    Dá para projetar um sistema que rotule dados com confiança usando um limiar de 0,4?

    • A pontuação bruta de similaridade também importa, mas normalmente o mais importante é a pontuação relativa em comparação com outros documentos
      No exemplo do notebook, esses valores eram os mais altos em termos relativos. Entendo por que isso pode parecer pouco claro ou confuso, e vou corrigir
    • O valor bruto de saída em si geralmente não é importante. O que importa é a posição dele dentro da distribuição de saídas
    • Uma similaridade de cosseno de 0,4 não é a mesma coisa que um limiar sigmoide de 0,4
      Em dados reais que não sejam duplicatas quase idênticas, uma similaridade de cosseno de 0,4 é um valor bem razoável