Escolher o modelo de incorporação correto para os seus dados

O que são modelos de incorporação?
Os modelos de incorporação são modelos de aprendizagem automática que transformam dados não estruturados (texto, imagens, áudio, etc.) em vectores de tamanho fixo, também conhecidos como incorporação de vectores (esparsos, densos, incorporação binária, etc.). Estes vectores captam o significado semântico dos dados não estruturados, facilitando a execução de várias tarefas, como a pesquisa por semelhança, o processamento de linguagem natural (PNL), a visão por computador, o agrupamento, a classificação, etc.
Existem vários tipos de modelos de incorporação, incluindo a incorporação de palavras, a incorporação de frases, a incorporação de imagens, a incorporação multimodal e muitos outros.
Word Embeddings: Representam palavras como vectores densos. Exemplos incluem Word2Vec, GloVe e FastText.
Sentence Embeddings: Representam frases ou parágrafos inteiros. Exemplos incluem o Universal Sentence Encoder (USE) e o Sentence-BERT.
Image Embeddings: Representam imagens como vectores. Exemplos incluem modelos como ResNet e CLIP.
- Multimodal Embeddings: Combinam diferentes tipos de dados (por exemplo, texto e imagens) num único espaço de incorporação. O CLIP da OpenAI é um exemplo notável.
Modelos de incorporação e geração aumentada de recuperação (RAG)
A Geração Aumentada de Recuperação (RAG) é um padrão na IA Generativa em que pode usar os seus dados para aumentar o conhecimento do modelo gerador de LLM (como o ChatGPT). Esta abordagem é uma solução perfeita para resolver os problemas de alucinação irritantes dos LLMs. Também pode ajudá-lo a aproveitar os seus dados privados ou específicos do domínio para criar aplicações GenAI sem se preocupar com questões de segurança dos dados.
O RAG consiste em dois modelos diferentes, os [modelos de incorporação] (https://zilliz.com/ai-models) e os [modelos de linguagem de grande dimensão] (https://zilliz.com/glossary/large-language-models-(llms)) (LLMs), que são ambos utilizados no modo de inferência. Este blogue apresenta a forma de escolher o melhor modelo de incorporação e onde encontrá-lo com base no tipo de dados e, possivelmente, na língua ou no domínio de especialidade, como o Direito.
Como escolher o melhor modelo de incorporação para os seus dados
A escolha do modelo de incorporação correto para os seus dados requer a compreensão do seu caso de utilização específico, do tipo de dados que possui e dos requisitos de desempenho da sua aplicação.
Dados de texto: MTEB Tabela de classificação
O HuggingFace MTEB leaderboard é um balcão único para encontrar modelos de incorporação de texto! Para cada modelo de incorporação, pode ver o seu desempenho médio em tarefas gerais.
Uma boa maneira de começar é classificar por ordem decrescente pela coluna "Média de recuperação ", uma vez que essa é a tarefa mais relacionada com a Pesquisa de vectores. Em seguida, procure o modelo mais pequeno (GB de memória) com melhor classificação.
A dimensão de incorporação é o comprimento do vetor, ou seja, a parte y de f(x)=y, que o modelo produzirá.
Máximo de tokens** é o comprimento do pedaço de texto de entrada, ou seja, a parte x em f(x)=y, que pode ser introduzida no modelo.
Para além da tarefa de recuperação, também pode filtrar por:
Língua: Francês, Inglês, Chinês ou Polaco. Por exemplo, task=retrieval and Language=chinese.
Por exemplo, task=retrieval and Language=law, para modelos aperfeiçoados em textos jurídicos.
Infelizmente, como os dados de treino só recentemente se tornaram públicos, algumas entradas do MTEB são modelos sobreajustados, com uma classificação enganosamente mais elevada do que o desempenho realista nos seus dados. Este [blogue de HuggingFace] (https://huggingface.co/blog/lyon-nlp-group/mteb-leaderboard-best-practices) tem dicas para decidir se confia na classificação de um modelo. Clique no link do modelo (chamado de "cartão de modelo").
Procure blogs e artigos** que expliquem como o modelo foi treinado e avaliado. Observe cuidadosamente os idiomas, os dados e as tarefas em que o modelo foi treinado. Além disso, procure modelos criados por empresas conceituadas. Por exemplo, no cartão do modelo voyage-lite-02-instruct, você verá outros modelos de produção do VoyageAI listados, mas não este. Isso é uma dica! Esse modelo é um modelo de vaidade sobreequipado. **Não o use!
Na captura de ecrã abaixo, eu experimentaria a nova entrada do Snowflake, "snowflake-arctic-embed-1", porque tem uma classificação elevada, é suficientemente pequeno para ser executado no meu portátil e o cartão de modelo tem ligações para um blogue e um artigo.
![Captura de ecrã do Snowflake na tabela de classificação do MTEB] (https://assets.zilliz.com/Untitled_a6d5fa5d3e.png)
Uma vez que você seleciona seu modelo de incorporação, a coisa boa sobre o uso de modelos HuggingFace é que você pode mudar seu modelo mudando **model_name** no código!
import torch
from sentence_transformers import SentenceTransformer
# Inicializar as configurações do torch
torch.backends.cudnn.deterministic = True
DEVICE = torch.device('cuda:3' if torch.cuda.is_available() else 'cpu')
# Carrega o modelo do huggingface.
nome_do_modelo = "WhereIsAI/UAE-Large-V1" # Basta alterar o nome_do_modelo para usar um modelo diferente!
codificador = SentenceTransformer(nome_do_modelo, dispositivo=DEVICE)
# Obter os parâmetros do modelo e guardar para mais tarde.
EMBEDDING_DIM = encoder.get_sentence_embedding_dimension()
MAX_SEQ_LENGTH_IN_TOKENS = encoder.get_max_seq_length()
# Imprimir parâmetros do modelo.
print(f "nome_do_modelo: {nome_do_modelo}")
print(f "EMBEDDING_DIM: {EMBEDDING_DIM}")
print(f "MAX_SEQ_LENGTH: {MAX_SEQ_LENGTH_IN_TOKENS}")
Dados da imagem: ResNet50
Por vezes, é necessário procurar imagens semelhantes a uma imagem de entrada. Talvez esteja à procura de mais imagens de gatos Scottish Fold? Neste caso, carregaria a sua imagem favorita de um gato Scottish Fold e pediria ao motor de busca para encontrar imagens semelhantes!
ResNet50 é um modelo popular de Rede Neural Convolucional (CNN) originalmente treinado em 2015 pela Microsoft em dados ImageNet.
Da mesma forma, para reverse video search, o ResNet50 ainda pode incorporar vídeos. Em seguida, é efectuada uma pesquisa de semelhança de imagens inversa na base de dados de imagens de vídeo. O vídeo mais próximo (excluindo a entrada) é devolvido ao utilizador como o vídeo mais semelhante.
Dados de som: PANNs
Da mesma forma que se pode querer inverter a pesquisa de imagens usando uma imagem de entrada, também se pode inverter a pesquisa de clipes de áudio com base num som de entrada.
PANNs (Pretrained Audio Neural Networks) são modelos de incorporação populares para esta tarefa porque são pré-treinados em conjuntos de dados de áudio em grande escala e são bons em tarefas como classificação e marcação de áudio.
Dados multimodais de imagem e texto: SigLIP ou Unum
Nos últimos anos, surgiram modelos de incorporação que são treinados numa mistura de [Dados não estruturados] (https://zilliz.com/glossary/unstructured-data): Texto, Imagem, Áudio, ou Vídeo. Estes modelos de incorporação captam a semântica de vários tipos de dados não estruturados de uma só vez no mesmo espaço vetorial.
Os modelos Multimodal embedding permitem utilizar texto para procurar imagens, gerar descrições de texto de imagens ou inverter a pesquisa de imagens a partir de uma imagem de entrada.
O CLIP (Contrastive Language-Image Pretraining) da OpenAI em 2021 costumava ser o modelo de incorporação padrão. No entanto, os profissionais consideraram-no difícil de utilizar porque precisava de ser afinado. Em 2024, o SigLIP, ou sigmoidal-CLIP do Google, parece ser um CLIP melhorado, com relatos de bons resultados utilizando prompts zero-shot.
As variantes de modelos pequenos de LLMs estão a tornar-se populares. Em vez de necessitarem de um grande cluster de computação em nuvem, podem ser executados em computadores portáteis (como o meu M2 Apple com apenas 16 GB de RAM). Os modelos pequenos utilizam menos memória, o que significa que têm menor latência e podem potencialmente funcionar mais depressa do que os modelos grandes. A [Unum] (https://github.com/unum-cloud/uform?tab=readme-ov-file#uform) oferece modelos de incorporação multimodais de pequena dimensão.
Texto multimodal e/ou som e/ou dados de vídeo
A maioria dos sistemas RAG multimodais de texto para som utiliza um LLM generativo multimodal para converter primeiro o som em texto. Uma vez criados os pares som-texto, o texto é incorporado em vectores, e pode utilizar o seu RAG para recuperar o texto da forma habitual. No último passo, o texto é mapeado de volta para som para terminar o ciclo Texto-Som ou vice-versa.
O Whisper da OpenAI pode transcrever a fala para texto.
O Text-to-speech (TTS) da OpenAI também pode converter texto em áudio falado.
Os sistemas RAG multimodais de texto para vídeo utilizam uma abordagem semelhante para mapear primeiro os vídeos para texto, incorporar o texto, pesquisar o texto e devolver os vídeos como resultados da pesquisa.
O Sora da OpenAI pode converter texto em vídeo. À semelhança do Dall-e, o utilizador fornece a mensagem de texto e o LLM gera um vídeo. O Sora também pode gerar vídeos a partir de imagens fixas ou outros vídeos.
Resumo
Este blogue abordou alguns modelos de incorporação populares usados em [aplicações RAG] (https://zilliz.com/learn/Retrieval-Augmented-Generation).
Outros recursos
Avaliando seu modelo de incorporação](https://zilliz.com/learn/evaluating-your-embedding-model)
Modelos de IA com melhor desempenho para as suas aplicações GenAI | Zilliz
Referências
Tabela de classificação do MTEB, artigo, Github: https://huggingface.co/spaces/mteb/leaderboard
As melhores práticas do MTEB para evitar a escolha de um modelo sobreajustado: https://huggingface.co/blog/lyon-nlp-group/mteb-leaderboard-best-practices
Pesquisa de imagens semelhantes: https://milvus.io/docs/image_similarity_search.md
Pesquisa de imagem para vídeo: https://milvus.io/docs/video_similarity_search.md
Pesquisa de sons semelhantes: https://milvus.io/docs/audio_similarity_search.md
Pesquisa de texto para imagem: https://milvus.io/docs/text_image_search.md
2024 SigLIP (sigmoid loss CLIP) paper: https://arxiv.org/pdf/2401.06167v1
Modelos de embedding multimodal de bolso da Unum: https://github.com/unum-cloud/uform
- O que são modelos de incorporação?
- Modelos de incorporação e geração aumentada de recuperação (RAG)
- Como escolher o melhor modelo de incorporação para os seus dados
- Resumo
- Outros recursos
- Referências
Conteúdo
Comece grátis, escale facilmente
Experimente o banco de dados totalmente gerenciado, construído para seus aplicativos GenAI.
Experimente o Zilliz Cloud grátisContinue lendo

Why AI Databases Don't Need SQL
Whether you like it or not, here's the truth: SQL is destined for decline in the era of AI.

Similarity Metrics for Vector Search
Exploring five similarity metrics for vector search: L2 or Euclidean distance, cosine distance, inner product, and hamming distance.

Long List of Awesome DeepSeek Integrations You Should Know
Discover how DeepSeek's affordable AI ecosystem challenges Silicon Valley giants with powerful integrations for developers and businesses—from RAG systems to productivity tools, all at 90% lower cost.
