Um Ângulo Diferente: Modelos de Embeddings Otimizados para Recuperação
Nos sistemas modernos de recuperação de dados, os usuários muitas vezes exigem mais do que apenas um resultado de uma consulta; eles esperam múltiplos resultados relevantes que sejam classificados com base no contexto da consulta. Essa expectativa apresenta desafios para os modelos tradicionais de embeddings, que normalmente se concentram em relações binárias. Recentemente, no SF Unstructured Data Meetup, Robertson Taylor, arquiteto de soluções na Marqo, apresentou o Generalized Contrastive Learning (GCL). Essa abordagem vai além dos pareamentos binários ao integrar classificação e consciência da consulta ao processo de treinamento do modelo.
Robertson falando no Unstructured Data Meetup de agosto em SF
Este blog explorará os principais insights da apresentação de Robertson e demonstrará como o GCL pode ser integrado ao Milvus, um importante banco de dados vetorial, para criar sistemas otimizados de Retrieval-Augmented Generation (RAG). Embora a Marqo ofereça soluções de armazenamento e recuperação vetorial, este blog se concentrará em como os usuários do Milvus podem aproveitar modelos GCL ajustados finamente com o Marqtune, uma plataforma de ajuste fino da Marqo, para aprimorar suas capacidades de recuperação.
Para entender melhor como o GCL aborda esses desafios, vamos primeiro analisar as limitações dos modelos tradicionais de embeddings, como o CLIP.
Assista ao replay da palestra de Robertson no YouTube.
Modelos de Embeddings e Suas Limitações
Modelos tradicionais de embeddings, como CLIP (Contrastive Language-Image Pretraining), são amplamente usados para tarefas como busca de imagens. Esses modelos são projetados para minimizar a distância entre itens pareados, como uma legenda e uma imagem. Embora essa abordagem funcione bem para relações simples e binárias, ela tem dificuldade em atender às demandas mais complexas de sistemas de recuperação que exigem resultados multimodais classificados.
Robertson começou sua apresentação abordando vários desafios associados aos modelos existentes:
Relações Binárias: Modelos como o CLIP aprendem a partir de pares de texto e imagens, tornando-os eficientes para tarefas específicas, mas inadequados ao classificar múltiplos resultados com base nas consultas dos usuários.
Falta de Consciência de Classificação e Consulta: Muitos modelos de embeddings tratam todas as consultas igualmente, sem ajustar os resultados com base no comportamento do usuário ou em dados de interação.
Capacidades Multimodais Limitadas: A maioria dos modelos se destaca ao trabalhar com texto ou imagens, mas tem dificuldade em combinar esses tipos de dados de forma eficaz.
Combinação Ineficaz entre Campos: Os modelos existentes frequentemente não conseguem combinar de forma eficaz informações de múltiplos campos, por exemplo, título, descrição e avaliações, em uma única representação vetorial.
Essas limitações significam que, embora os modelos tradicionais tenham desempenho adequado em ambientes controlados, muitas vezes ficam aquém em cenários do mundo real, onde classificação e capacidades multimodais são essenciais.
Para ilustrar como os modelos CLIP são normalmente treinados, vamos observar o diagrama a seguir:
Figura 1: Como o CLIP é treinado
CLIP usa uma arquitetura de duas torres com um codificador de texto e um codificador de imagem. O modelo é treinado para minimizar a distância entre pares positivos (texto e imagem correspondentes) e maximizar a distância entre todos os outros pares. Embora essa abordagem seja eficaz para certas tarefas, ela não leva em conta as complexidades dos cenários de recuperação do mundo real. É aqui que o GCL entra em cena.
Aprendizado Contrastivo Generalizado (GCL): Uma solução para otimização de recuperação
Para abordar as limitações dos modelos tradicionais, a Marqo introduziu o Aprendizado Contrastivo Generalizado (GCL). Essa abordagem aprimora modelos de embedding ao incorporar consciência de ranqueamento e consciência de consulta ao processo de treinamento, o que melhora significativamente a relevância e o ranqueamento dos resultados de recuperação.
O GCL enfrenta esses desafios por meio de várias inovações-chave:
Consciência de Ranqueamento: O GCL resolve isso incorporando dados de interação do usuário, como cliques e ações de adicionar ao carrinho, ao processo de treinamento. Isso permite que o modelo aprenda como ranquear resultados com base nas preferências do usuário.
Consciência de Consulta: Em vez de tratar todas as consultas igualmente, o GCL ajusta os embeddings para levar em conta o contexto de uma consulta. Por exemplo, quando um usuário pesquisa por uma câmera SLR, o GCL considera se a consulta vem de um fotógrafo profissional procurando equipamento de alto nível ou de um consumidor procurando um modelo de entrada. Essa consciência de consulta permite que o sistema retorne resultados mais relevantes.
Capacidades Multimodais: O GCL oferece suporte à recuperação multimodal ao permitir que o sistema incorpore e recupere tanto texto quanto imagens de forma unificada. Por exemplo, em um contexto de e-commerce, o GCL pode combinar títulos de produtos, descrições, avaliações e imagens em um único vetor, fornecendo resultados de busca mais relevantes.
Combinação entre Campos: O GCL permite que o modelo combine efetivamente informações de múltiplos campos em uma única representação vetorial, melhorando a qualidade geral dos resultados de busca.
Compreensão Intramodal: Ao incorporar vários campos de texto durante o treinamento, o GCL melhora a capacidade do modelo de lidar com consultas texto-para-texto de forma mais eficaz.
Para ilustrar como o GCL funciona, vamos observar o diagrama a seguir, que mostra o processo de otimização da recuperação multimodal usando GCL:
Figura 2: Processo de otimização da recuperação multimodal usando GCL
O sistema começa capturando interações dos usuários, como cliques em resultados de busca. Essas interações são então agregadas para criar uma pontuação para cada par consulta-resultado. As consultas são usadas para treinar o modelo para melhor desempenho de recuperação, enquanto as pontuações agregadas são usadas para ponderar a importância de diferentes resultados durante o treinamento. O modelo é então treinado usando esses dados ponderados, incorporando tanto informações de consulta quanto pontuações de interação do usuário. Por fim, o modelo treinado é avaliado usando novas consultas e pontuações para avaliar seu desempenho.
Esse processo permite que o modelo aprenda a partir do comportamento real dos usuários e otimize para cenários reais de recuperação, em vez de apenas minimizar distâncias entre pares predefinidos. Agora que vimos como o GCL resolve desafios-chave na otimização de recuperação, vamos explorar como ele pode ser ajustado para tarefas específicas e aplicações do mundo real.
Ajuste fino de tarefas com GCL
O GCL é versátil e pode ser usado para ajustar modelos para várias tarefas do tipo recuperação além da busca básica. A imagem a seguir ilustra algumas dessas tarefas:
Figura 3: Exemplos de tarefas de ajuste fino com GCL
Vamos explorar cada uma dessas tarefas de ajuste fino em mais detalhes:
Aprimoramento da busca básica
O GCL melhora a recuperação tradicional de consulta-para-documento ao incorporar dados de interação do usuário. Isso significa que, quando um usuário pesquisa por um termo, o modelo não apenas corresponde palavras-chave, mas também considera como os usuários interagiram com consultas e resultados semelhantes no passado. Por exemplo, se muitos usuários que pesquisaram por um laptop leve clicaram em ultrabooks, o modelo aprende a classificar ultrabooks em uma posição mais alta para essa consulta, mesmo que o termo ultrabook não seja mencionado explicitamente.
Recomendações Avançadas
O GCL permite recomendações tanto de consulta-para-documento quanto de documento-para-documento. Essa abordagem dupla permite sugestões de produtos mais detalhadas e contextuais. Nas recomendações de consulta-para-documento, o GCL pode sugerir produtos com base na consulta de pesquisa de um usuário, levando em conta não apenas os termos da consulta, mas também padrões de comportamento do usuário. Para recomendações de documento-para-documento, o GCL pode identificar produtos relacionados com base em semelhanças de recursos, padrões de interação do usuário ou relevância contextual, mesmo quando os itens não são obviamente semelhantes.
Resolução de Entidades e Deduplicação
Os recursos de correspondência documento-para-documento do GCL o tornam poderoso para tarefas de resolução de entidades e deduplicação. Ele pode identificar itens semelhantes ou idênticos em um conjunto de dados, mesmo quando há pequenas variações na forma como os itens são descritos ou categorizados. Isso é particularmente útil no e-commerce para identificar listagens de produtos duplicadas ou em projetos de integração de dados nos quais a mesma entidade pode ser representada de maneira diferente em várias fontes de dados.
Pesquisa Condicional
Este recurso permite que o GCL incorpore informações contextuais ao processo de pesquisa. Por exemplo, uma pesquisa por jaquetas de inverno gera resultados diferentes com base na localização do usuário (por exemplo, jaquetas pesadas de plumas para climas frios, jaquetas mais leves para invernos mais amenos). O GCL aprende a ajustar seus resultados com base nesses fatores condicionais, fornecendo resultados de pesquisa mais relevantes, adaptados a contextos ou marketplaces específicos.
Pesquisa Personalizada
O GCL leva a personalização um passo adiante ao considerar o contexto específico do usuário, como histórico de navegação, itens no carrinho de compras atual ou comportamento de compra passado. Isso permite resultados de pesquisa altamente personalizados que se alinham aos interesses e necessidades atuais do usuário. Por exemplo, se um usuário tem navegado por equipamentos de câmera de alto padrão, uma pesquisa por um tripé ****pode priorizar opções de nível profissional em vez de alternativas econômicas.
Classificação e Mapeamento de Taxonomia
O GCL pode ser aplicado a tarefas de classificação, como categorizar automaticamente produtos em uma taxonomia predefinida. Isso é particularmente útil para grandes plataformas de e-commerce ou sistemas de gerenciamento de conteúdo, onde a categorização manual seria demorada e propensa a erros. O GCL pode aprender com categorizações existentes e interações dos usuários para tomar decisões inteligentes sobre como classificar novos itens, garantindo consistência e melhorando a organização geral de grandes conjuntos de dados.
Essas tarefas de ajuste fino tornam o GCL altamente adaptável a vários desafios de recuperação. Vamos ver como o GCL está sendo aplicado em cenários do mundo real.
Aplicações do GCL no Mundo Real
Robertson compartilhou vários exemplos de como o GCL está sendo usado para resolver problemas do mundo real. Um caso notável envolveu uma plataforma de e-commerce que inicialmente havia implementado uma solução básica de busca vetorial usando um modelo pronto para uso. No entanto, a plataforma viu uma queda acentuada nas taxas de adição ao carrinho e no engajamento geral, pois o sistema não estava fornecendo resultados relevantes.
Após a integração do GCL, a plataforma observou melhorias significativas. Produtos que estavam mais alinhados com as preferências dos usuários foram classificados em posições mais altas, levando a um melhor engajamento e ao aumento das vendas. A plataforma conseguiu aproveitar dados não estruturados, como avaliações de usuários e imagens de produtos, para melhorar a relevância dos resultados de busca. Ao incorporar dados de interações dos usuários, como cliques e comportamento de compra, a plataforma aprimorou sua capacidade de entregar resultados de busca personalizados e ranqueados.
No domínio da pesquisa acadêmica, o GCL melhorou a recuperação de artigos de pesquisa relevantes ao incorporar metadados, como detalhes dos autores e citações, ao processo de busca. Isso não apenas acelerou o processo de busca, mas também aumentou a relevância dos resultados, tornando o sistema mais eficaz para pesquisadores que navegam por grandes bancos de dados.
Vamos agora ver como o GCL incorpora técnicas avançadas para melhorar ainda mais o desempenho em ambientes de produção.
Técnicas Avançadas em GCL
Robertson mencionou várias técnicas avançadas que podem aprimorar ainda mais o desempenho dos modelos GCL. Elas incluem métodos de treinamento cientes da produção, como truncamento e binarização de embeddings.
Figura 4: Truncamento e binarização de embeddings
O treinamento ciente de truncamento permite a criação de embeddings Matryoshka, que podem reduzir o tamanho dos embeddings em 2-4x sem perda de fidelidade. O modelo aprende a criar representações significativas de vários tamanhos a partir de um único modelo. Aprender a binarizar é outra técnica que permite reduções significativas em armazenamento e latência com perda mínima de fidelidade, ao aprender embeddings que são apenas 0 ou 1. Essas técnicas são particularmente valiosas em ambientes de produção, onde os custos de armazenamento e a velocidade de recuperação são fatores críticos.
O GCL também oferece suporte à criação de embeddings condicionais, que permitem um controle mais refinado sobre os resultados de busca
Figura 5: Embeddings Condicionais
Ao usar prefixos ou declarações condicionais em consultas, o modelo pode aprender a ajustar seus resultados com base em condições específicas. Por exemplo, USA Marketplace: SLR camera poderia gerar resultados diferentes de UK Marketplace: SLR camera. Embeddings condicionais também podem ser usados para influenciar o estilo ou a qualidade dos resultados, de forma semelhante a como prompts funcionam em modelos de geração de imagens.
Essas técnicas avançadas não apenas aprimoram os aspectos técnicos do GCL, mas também levam a melhorias de desempenho em tarefas de recuperação do mundo real. Vamos dar uma olhada em como modelos treinados com GCL se comportam em comparação com abordagens tradicionais.
Melhorias de Desempenho com GCL
Usar GCL melhora o desempenho em vários cenários diversos. Vamos dar uma olhada em alguns daqueles compartilhados por Robertson:
Figura 6: Comparação de desempenho entre modelos de embedding treinados com GCL versus outros
O desempenho no domínio mostrou um aumento de 6x em NDCG (Ganho Cumulativo Descontado Normalizado) em comparação com modelos pré-treinados. Para consultas novas não vistas durante o treinamento, o GCL ainda superou os modelos pré-treinados em quase 3x. Quando aplicado a novos conjuntos de dados não vistos durante o treinamento, o GCL manteve sua vantagem de desempenho. Mesmo em cenários zero-shot, o GCL mostrou melhorias em NDCG em comparação com modelos tradicionais. Esses resultados demonstram a robustez e a capacidade de generalização do GCL em vários cenários de recuperação.
Com melhorias tão significativas na eficácia da recuperação, especialmente em cenários novos e zero-shot, o GCL está pronto para redefinir o desempenho em sistemas de recuperação. Agora, vamos ver como você pode levar essas vantagens para suas próprias aplicações RAG aproveitando o GCL com o Milvus.
Aproveitando o GCL com o Milvus para Aplicações RAG
Embora a Marqo forneça uma solução abrangente para recuperação baseada em embeddings, muitas organizações já dependem do Milvus para suas necessidades de banco de dados vetorial. Se você está usando o Milvus ou planejando integrá-lo à sua infraestrutura de dados, ainda pode se beneficiar de modelos ajustados com GCL em suas aplicações de Retrieval-Augmented Generation (RAG).
Veja como você pode integrar o GCL com o Milvus para RAG:
Ajuste Fino com Marqtune: Use Marqtune, a plataforma de ajuste fino da Marqo, para aplicar GCL a modelos pré-treinados. Esse processo otimiza o modelo para suas tarefas específicas de recuperação.
Download do Modelo Ajustado: Após o ajuste fino, baixe o modelo otimizado do Marqtune.
Integração com o Milvus: Use o modelo ajustado para gerar embeddings, que então podem ser armazenados e pesquisados no Milvus.
Recuperação Eficiente: Aproveite os recursos otimizados de recuperação vetorial em larga escala e alta velocidade do Milvus. Quando combinado com os embeddings sensíveis à consulta do GCL, o Milvus pode classificar e retornar resultados relevantes com eficiência, mesmo em conjuntos de dados complexos e multimodais.
Escalabilidade: À medida que seu conjunto de dados cresce, o Milvus pode lidar com as demandas crescentes de armazenar e pesquisar bilhões de embeddings, garantindo que o desempenho permaneça consistente.
Com o poder combinado do GCL e do Milvus, sistemas aumentados por recuperação podem alcançar escalabilidade e desempenho impressionantes. Mas o que torna o Milvus uma opção tão ideal para essas aplicações?
Por Que Escolher o Milvus para Seu Sistema RAG Aprimorado com GCL?
Ao implementar um sistema de Retrieval-Augmented Generation (RAG) usando modelos ajustados com Generalized Contrastive Learning (GCL), escolher o banco de dados vetorial certo é crucial. O Milvus se destaca como uma excelente escolha devido aos seus recursos robustos e tecnologias avançadas. Vamos explorar por que o Milvus é bem adequado para lidar com embeddings gerados por GCL e impulsionar aplicações RAG eficientes.
Principais Recursos do Milvus
Suporte a Multi-Tenancy: O Milvus permite que vários usuários ou aplicações trabalhem no mesmo sistema sem interferir uns nos outros. Esse recurso fornece acesso seguro e isolado aos dados, tornando-o ideal para ambientes empresariais nos quais diferentes equipes ou projetos podem precisar usar a mesma instância do Milvus. No contexto de sistemas RAG aprimorados com GCL, você pode executar várias tarefas de recuperação para diferentes departamentos ou casos de uso em uma única implantação do Milvus, mantendo a separação e a segurança dos dados.
Arquitetura Escalável e Elástica: Projetado para lidar com necessidades crescentes de dados, o Milvus escala automaticamente para atender à demanda. Isso garante que o desempenho permaneça ideal à medida que o volume de dados aumenta. Essa escalabilidade é crucial para aplicações RAG, que frequentemente lidam com coleções de documentos em rápida expansão. À medida que você ajusta mais modelos com GCL e gera mais embeddings, o Milvus pode acomodar facilmente o crescimento sem comprometer a velocidade ou a eficiência da recuperação.
Suporte a Índices Diversos: O Milvus oferece suporte a vários tipos de índices, incluindo HNSW (Hierarchical Navigable Small World), PQ (Product Quantization), Binary e DiskANN. Essa variedade permite que você escolha o tipo de índice mais apropriado para seu caso de uso específico, equilibrando velocidade de busca, precisão e eficiência de armazenamento. Por exemplo, HNSW pode ser ideal para buscas de alta velocidade em embeddings gerados por GCL, enquanto PQ poderia ser usado para armazenamento mais compacto de grandes conjuntos de embeddings.
Consistência Ajustável: O Milvus permite que você ajuste os níveis de consistência dos seus dados, possibilitando um equilíbrio entre desempenho e precisão dos dados com base nas necessidades da sua aplicação. No contexto de sistemas RAG, esse recurso é particularmente útil. Você pode priorizar a velocidade de busca para aplicações em tempo real, ou optar por uma consistência mais forte em cenários em que a precisão dos dados é fundamental, como em aplicações financeiras ou médicas.
Computação Acelerada por Hardware: Otimizado para aproveitar hardwares como GPUs, o Milvus oferece processamento mais rápido e eficiente para tarefas intensivas em recursos. Isso é especialmente benéfico ao trabalhar com modelos GCL, que podem ser computacionalmente exigentes. A aceleração por hardware garante que, mesmo à medida que seu banco de dados de embeddings cresce, os tempos de recuperação permaneçam rápidos, mantendo a responsividade do seu sistema RAG.
Tecnologias Avançadas que Impulsionam o Milvus
Tipos de Computação Flexíveis: O Milvus é otimizado para vários ambientes de hardware, incluindo AVX512 (Advanced Vector Extensions), Neon para SIMD (Single Instruction, Multiple Data) e aceleração por GPU. Essa flexibilidade permite que o Milvus aproveite hardware de alto desempenho de forma eficaz, oferecendo processamento rápido e escalabilidade econômica. Para sistemas RAG aprimorados com GCL, isso significa que você pode escolher o tipo de computação mais adequado com base no hardware disponível e nos requisitos de desempenho.
Capacidades de Busca Versáteis: O Milvus oferece suporte a uma ampla variedade de métodos de busca, incluindo top-K ANN (Approximate Nearest Neighbors), range ANN e buscas filtradas. Esses diversos tipos de busca permitem que você adapte a funcionalidade de recuperação às suas necessidades específicas. Por exemplo, o top-K ANN poderia ser usado para encontrar os documentos mais relevantes para um determinado embedding de consulta, enquanto buscas filtradas poderiam combinar similaridade semântica com filtros de metadados para recuperações mais precisas.
Técnicas Avançadas de Indexação: Com suporte a 15 tipos diferentes de indexação, o Milvus oferece flexibilidade na forma como os dados são armazenados e pesquisados. Isso inclui técnicas avançadas como HNSW para buscas de alta velocidade e DiskANN para lidar com conjuntos de dados massivos. A escolha correta do índice pode impactar significativamente o desempenho do seu sistema RAG, permitindo que você otimize para velocidade de busca ou eficiência de memória, dependendo das suas prioridades.
Flexibilidade de Linguagens e APIs: O Milvus oferece suporte a várias linguagens de programação, incluindo Python, Java, Go e Node.js. Essa versatilidade facilita a integração do Milvus a stacks de tecnologia existentes e permite que os desenvolvedores trabalhem com suas linguagens preferidas. Para sistemas RAG, isso significa que você pode incorporar o Milvus perfeitamente à sua base de código existente, independentemente da linguagem em que ela foi criada.
Gerenciamento de Dados Robusto: O Milvus oferece recursos sofisticados de gerenciamento de dados, incluindo gerenciamento de coleções e partições. Isso permite a organização e recuperação eficientes de conjuntos de dados de embeddings em larga escala. Para sistemas RAG aprimorados com GCL, você pode estruturar seus embeddings em coleções lógicas (por exemplo, por tipo de documento ou domínio) e partições, permitindo buscas mais direcionadas e eficientes.
Dada sua arquitetura robusta e capacidades avançadas, o Milvus fornece a infraestrutura ideal para aproveitar modelos aprimorados com GCL em sistemas aumentados por recuperação.
Conclusão
Robertson fez um excelente trabalho ao mostrar como o Generalized Contrastive Learning (GCL) aprimora a recuperação ao introduzir consciência de ranqueamento e de consulta, melhorando a relevância e a classificação dos resultados. Essa abordagem vai além dos modelos binários tradicionais, tornando-se altamente eficaz para aplicações como e-commerce e pesquisa acadêmica.
Também vimos como o Milvus apoia ainda mais esses avanços com sua arquitetura escalável e o manuseio eficiente de embeddings, possibilitando recuperação em alta velocidade e desempenho otimizado para conjuntos de dados complexos e multimodais. Juntos, GCL e Milvus oferecem uma solução robusta para construir sistemas de próxima geração aumentados por recuperação.
Continue lendo

Zilliz Cloud Now Available in AWS Asia Pacific (Seoul)
Zilliz Cloud is now available in AWS Seoul — low-latency vector search, in-country data residency, and one-step migration for Korean AI teams. 31 regions across 5 clouds.

How to Choose the Best Embedding Model for RAG in 2026: 10 Models Benchmarked
We benchmarked 10 embedding models on cross-modal, cross-lingual, long-document, and dimension compression tasks. See which one fits your RAG pipeline.

Proactive Monitoring for Vector Database: Zilliz Cloud Integrates with Datadog
we're excited to announce Zilliz Cloud's integration with Datadog, enabling comprehensive monitoring and observability for your vectorDB deployments.


