Como a VIPSHOP elevou seu recomendador de e-commerce 10x mais rápido com o Milvus
Sistemas de recomendação tornaram-se indispensáveis para o sucesso do e-commerce, atuando como um catalisador estratégico para aprimorar a experiência do usuário, estimular o engajamento do cliente e impulsionar a receita do negócio. VIPSHOP, a varejista online pioneira na China, enfrentou um momento crítico. Com uma base de clientes em rápido crescimento, ultrapassando 52 milhões, e um aumento anual de 270 milhões de pedidos, seu sistema de recomendação legado baseado em Elasticsearch mostrou-se lento e inadequado. A necessidade de uma solução mais rápida e personalizada na VIPSHOP tornou-se mais urgente. Neste post, vamos nos aprofundar nos desafios enfrentados pela VIPSHOP e em como a adoção do Milvus melhorou seu sistema de recomendação.
A busca por um mecanismo eficiente de busca vetorial
A base de um sistema de recomendação ágil está em sua capacidade de busca vetorial, que é crucial para entregar prontamente resultados semanticamente semelhantes. Inicialmente, a VIPSHOP dependia do Elasticsearch para busca vetorial, mas logo enfrentou desafios à medida que sua variedade de produtos se expandia. O sistema legado encontrou dois grandes obstáculos—tempos de resposta prolongados e custos de manutenção crescentes.
A lentidão foi atribuída à alta latência do Elasticsearch na recuperação de resultados Top-K, com média de 300 ms. O tempo de resposta final chegava a vários segundos, impactando negativamente a experiência do usuário quando combinado com etapas posteriores de processamento. Além disso, os índices compartilhados se transformaram em um labirinto complexo, elevando os custos de construção e manutenção. Apesar das tentativas de revitalizar o Elasticsearch com um plugin de hashing, os resultados ficaram aquém. A busca por uma nova pilha de busca vetorial tornou-se o bis da equipe para um sistema de recomendação responsivo.
A VIPSHOP escolheu o Milvus para atualizar seu sistema de recomendação
Milvus é um banco de dados vetorial open-source que promete velocidade e uma sinfonia de recursos capazes de lidar com bilhões de embeddings vetoriais. Ele também oferecia o atrativo da implantação distribuída, SDKs multilíngues e separação de leitura/gravação—uma composição que superava o Elasticsearch e outras tecnologias de busca vetorial. Após consideração e avaliação cuidadosas, a VIPSHOP escolheu o Milvus para reconstruir seu sistema de recomendação.
Como o Milvus funciona no sistema de recomendação da VIPSHOP
O diagrama oferece um vislumbre da arquitetura do sistema de recomendação da VIPSHOP desenvolvido com Milvus.
Um modelo de deep learning converte características de produtos em embeddings vetoriais. Esses embeddings são então ingeridos no Milvus para armazenamento e recuperação usando MySQL e uma ferramenta ETL.
Simultaneamente, consultas e preferências de compra dos consumidores passam por uma transformação semelhante em embeddings vetoriais, iniciando uma busca por similaridade dentro do Milvus. Aqui, o Milvus realiza uma busca Approximate Nearest Neighbors (ANN) avaliando distâncias espaciais entre vetores de consumidores e produtos, entregando os resultados Top-K mais relevantes. Por fim, esse resultado é apresentado aos consumidores.
O Milvus demonstrou eficiência notável tanto nos processos de atualização de dados quanto de recall.
A atualização de dados e o recall são fundamentais para uma busca vetorial rápida e recomendações personalizadas dentro dessa orquestração complexa. O procedimento de atualização de dados garante uma sincronização perfeita, envolvendo tarefas como gravação de dados vetoriais, detecção de volumes de dados, construção de índices, pré-carregamento de índices e gerenciamento de aliases. Por outro lado, o processo de recall, essencial para recomendações de produtos, envolve recuperar vetores relacionados às consultas e aos comportamentos de compra dos consumidores, calcular suas distâncias e mesclar resultados.
Milvus demonstrou eficiência e agilidade notáveis nos processos de atualização e recuperação de dados, alcançando uma latência média de apenas 10 ms. A tabela abaixo ilustra as métricas de desempenho de três serviços principais do Milvus relacionados à atualização e recuperação de dados.
| Serviço | Função | Parâmetros de entrada | Parâmetros de saída | Latência de resposta |
|---|---|---|---|---|
| Aquisição de vetores de usuário | Obter vetor de usuário | informações do usuário + consulta | vetor de usuário | 10 ms |
| Busca do Milvus | Calcular a similaridade vetorial e retornar resultados Top-K | vetor de usuário | vetor de item | 10 ms |
| Lógica de agendamento | Recuperação e mesclagem simultâneas de resultados | Vetores de itens recuperados de múltiplos canais e a pontuação de similaridade | Itens Top-K | 10 ms |
Elevando as experiências dos usuários com recomendações 10x mais rápidas e grande redução de custos
A integração do Milvus ao sistema de recomendação da VIPSHOP reformulou o cenário, inaugurando uma nova era de experiências do usuário.
Respostas gerais 10x mais rápidas: Milvus reduziu os tempos gerais de consulta vetorial para menos de 30 ms. Essa velocidade extraordinária representa uma aceleração de dez vezes em relação à solução anterior com Elasticsearch, garantindo que os usuários recebam recomendações extremamente rápidas.
Capacidade aprimorada para lidar com o aumento de dados de negócios: A implantação distribuída e os recursos de escalabilidade horizontal do Milvus capacitaram o sistema de recomendação da VIPSHOP a gerenciar volumes crescentes de dados e consultas de usuários sem esforço. A independência para escalar computação e armazenamento se alinha perfeitamente às necessidades em evolução da VIPSHOP, oferecendo flexibilidade incomparável.
Custos de manutenção reduzidos: Milvus, com seus mecanismos de consulta simplificados, ajudou a VIPSHOP a reduzir os custos de manutenção do sistema de recomendação. Essa redução aumenta a eficiência operacional e contribui para a relação custo-benefício geral da plataforma.
Desafios com o Milvus e lições aprendidas
Em sua jornada com o Milvus, a equipe da VIPSHOP também encontrou alguns desafios, que resolveu com a ajuda da equipe de suporte técnico da Zilliz. Nesta seção, eles compartilharam as lições que aprenderam e os insights que obtiveram para otimizar o desempenho do sistema. * Adotar uma estratégia de implantação com separação entre leitura e escrita pode melhorar o desempenho geral do sistema quando as operações de leitura têm prioridade.
O cliente Java do Milvus não possui um mecanismo de reconexão inerente porque reside na memória dentro do serviço de recuperação. A equipe da VIPSHOP criou um pool de conexões dedicado para garantir conectividade consistente, implementando um teste de heartbeat entre o cliente Java e o servidor.
Consultas lentas ocasionais no Milvus são atribuídas ao aquecimento insuficiente de novas coleções. Para enfrentar esse desafio, a equipe da VIPSHOP implementou uma estratégia de simular consultas na coleção recém-criada.
Alcançar o equilíbrio certo entre desempenho de recuperação e precisão é crucial. A equipe da VIPSHOP recomenda conduzir experimentos meticulosos de teste de pressão adaptados ao cenário de negócios específico. Definir um valor de limite razoável é vital para otimizar esses parâmetros de forma eficaz.
Em cenários envolvendo dados estáticos, uma abordagem eficiente envolve inicialmente importar todos os dados para a coleção e adiar o processo de construção do índice para uma etapa posterior.
Continue lendo

Zilliz Cloud Update: Tiered Storage, Business Critical Plan, Cross-Region Backup, and Pricing Changes
This release offers a rebuilt tiered storage with lower costs, a new Business Critical plan for enhanced security, and pricing updates, among other features.

Zilliz Cloud Now Available in Azure North Europe: Bringing AI-Powered Vector Search Closer to European Customers
The addition of the Azure North Europe (Ireland) region further expands our global footprint to better serve our European customers.

What is the K-Nearest Neighbors (KNN) Algorithm in Machine Learning?
KNN is a supervised machine learning technique and algorithm for classification and regression. This post is the ultimate guide to KNN.



