A escolha do modelo de incorporação correto é uma etapa crucial na criação de um sistema RAG. Aqui estão meus principais fatores e sugestões sobre o que considerar ao escolher um modelo de incorporação para sua referência:
Definir cenários de aplicativos
Em primeiro lugar, os cenários de aplicação e os requisitos específicos do sistema RAG precisam ser esclarecidos. Por exemplo, ele está lidando com dados de texto, dados de imagem ou dados multimodais? Tipos de dados diferentes podem exigir modelos de incorporação diferentes. Por exemplo, no caso de dados de texto, você pode consultar as tabelas de classificação do MTEB (Massive Text Embedding Benchmark: uma coleção de métricas de avaliação para medir modelos de incorporação de texto) da HuggingFace para escolher um modelo adequado ou acessar a comunidade doméstica do Magic Matching para ver as tabelas de classificação.
Requisitos genéricos e específicos do domínio
Em segundo lugar, escolha um modelo com base na generalidade ou especificidade da tarefa. Se a tarefa que você deseja implementar for mais genérica e não envolver muito conhecimento do domínio, você poderá escolher um modelo de incorporação genérico; se a tarefa envolver um domínio específico (por exemplo, direito, saúde etc., educação, finanças etc.), você precisará escolher um modelo mais adequado para esse domínio.
multilinguismo
Se o conteúdo da base de conhecimento existir em seu sistema e for necessário oferecer suporte a vários idiomas, você poderá escolher modelos de incorporação multilíngues, como BAAI/bge-M3, bce_embedding (chinês-inglês) etc., que têm melhor desempenho em um ambiente multilíngue. Se a sua base de conhecimento contiver principalmente dados em chinês, você poderá escolher modelos como iic/nlp_gte_sentence-embedding_chinese-base etc. O efeito será melhor.
Avaliação de desempenho
Confira as estruturas de benchmarking, como o MTEB Leaderboards, para avaliar o desempenho de diferentes modelos. Essas tabelas de classificação abrangem vários idiomas e tipos de tarefas e podem ajudá-lo a encontrar os modelos com melhor desempenho em tarefas específicas. Em seguida, você precisa considerar o tamanho e as restrições de recursos do modelo. Modelos maiores podem oferecer melhor desempenho, mas também aumentam os custos de computação e os requisitos de memória. Além disso, dimensões de incorporação maiores geralmente fornecem informações semânticas mais ricas, mas também podem levar a custos computacionais mais altos. Portanto, é preciso ponderar a escolha com base nos recursos reais de hardware e nos requisitos de desempenho.
Testes práticos e validação
Por fim, se possível, você pode selecionar de 2 a 3 modelos para comparação de efeitos, testar e validar o desempenho dos modelos selecionados em cenários de negócios reais, observar métricas como precisão e recuperação para avaliar o desempenho dos modelos em conjuntos de dados específicos e fazer ajustes com base nos resultados.
Recomendação de modelo de incorporação
A seguir, 5 modelos principais de incorporação, recomendados para a criação de sistemas RAG como referência:
Incorporação de BGEDesenvolvido pelo Wisdom Source Institute, ele é compatível com vários idiomas e oferece diversas versões, incluindo o eficiente reranker. O modelo é de código aberto e livremente licenciado, sendo adequado para tarefas como recuperação, classificação e agrupamento.
GTE Embedding: lançado pelo Alibaba Dharma Institute, com base na estrutura BERT, é aplicável a cenários como recuperação de informações e julgamento de similaridade semântica com excelente desempenho.
Jina Embedding: criado pela equipe Finetuner da Jina AI, treinado no conjunto de dados Linnaeus-Clean, é adequado para recuperação de informações e avaliação de similaridade semântica com desempenho excepcional.
Conan-Embedding: esse é um modelo de Embedding otimizado para o chinês, que atinge o nível SOTA (estado da arte) no C-MTEB e é particularmente adequado para sistemas RAG que exigem representação semântica de alta precisão do chinês.
text-embedding-ada-002: desenvolvido pela equipe do Xenova, é compatível com a biblioteca Hugging Face e fornece representações vetoriais de texto de alta qualidade para uma ampla gama de tarefas de NLP.
É claro que também há o Sentence-BERT, o E5-embedding, o Instructor etc. O desempenho desses modelos em diferentes cenários será um pouco diferente. De acordo com suas necessidades específicas e com as considerações que listei acima, você pode escolher o modelo certo para criar um sistema RAG.