Até 50x de economia de custos para criar aplicativos de GenAI usando o Zilliz Cloud Serverless
Introdução
Com os avanços recentes em IA Generativa, o caso de uso para bancos de dados vetoriais está crescendo exponencialmente. Por exemplo, Recuperação Aumentada para Geração (RAG), uma técnica popular de aprimoramento de modelos de linguagem grandes (LLM), aproveita bancos de dados vetoriais como Milvus e Zilliz Cloud (o Milvus gerenciado) para armazenar, indexar e recuperar informações relevantes para ajudar os LLMs a gerar resultados mais precisos.
Em um recente Unstructured Data Meetup em São Francisco, James Luan, VP de Engenharia na Zilliz, discutiu como os desenvolvedores podem aproveitar o Zilliz Cloud Serverless, uma nova oferta da Zilliz, em suas aplicações de IA Generativa. Em resumo, este novo serviço da Zilliz permite que os usuários armazenem, indexem e consultem enormes quantidades de embeddings vetoriais por apenas uma fração do custo. A boa notícia é que o desempenho do Zilliz Cloud Serverless também é muito competitivo em comparação com bancos de dados vetoriais em memória.
Neste artigo, vamos recapitular os principais pontos de James e explorar o Zilliz Cloud Serverless com mais profundidade. Você também pode assistir à palestra dele no YouTube para mais detalhes.
Por que Bancos de Dados Vetoriais Importam na Era da IA
Aplicações e técnicas modernas de IA, como Geração Aumentada por Recuperação (RAG), sistemas de recomendação, chatbots com IA e mecanismos de busca semântica, exigem um sistema confiável para lidar de forma eficiente com enormes quantidades de dados não estruturados. Bancos de dados vetoriais são sistemas de armazenamento que nos permitem armazenar, indexar e recuperar esses dados de forma eficaz.
Bancos de dados vetoriais como Milvus e Zilliz Cloud são equipados com métodos de indexação avançados que os usuários podem escolher para uma recuperação de dados eficiente e rápida. Muitos deles, particularmente Milvus e Zilliz Cloud, também oferecem integrações fáceis com frameworks e plataformas populares de IA como LangChain, Spark, Snowflake e Hugging Face, tornando mais fácil para desenvolvedores de IA generativa criarem aplicações de IA sofisticadas. Com diferentes abordagens de busca semântica, como busca vetorial densa e busca híbrida de vetores densos e esparsos, os desenvolvedores podem obter os resultados mais relevantes para qualquer caso de uso.
Uma pesquisa recente de 2024 com 1.000 desenvolvedores de IA Generativa na comunidade Milvus identificou sete aspectos que eles procuram em um banco de dados vetorial antes de considerar seu uso em suas aplicações de IA:
Qualidade da busca: Quão relevantes são os resultados obtidos para uma determinada consulta?
Eficiência de custo: Quão econômico é o banco de dados em termos de despesas operacionais e de manutenção?
Facilidade de uso: Quão amigável e intuitivo é o banco de dados para os desenvolvedores implementarem e gerenciarem?
Desempenho: Com que rapidez e eficiência o banco de dados pode processar consultas e retornar resultados?
Escalabilidade: Quão bem o banco de dados consegue lidar com o aumento de dados e locatários sem comprometer o desempenho?
Alta disponibilidade: Com que confiabilidade o banco de dados consegue manter o tempo de atividade e evitar perda de dados em caso de falhas?
Segurança: Quão bem o banco de dados protege dados sensíveis e impede acesso não autorizado?
Figura 1: Principais considerações para selecionar um banco de dados vetorial reunidas de 1000 desenvolvedores de Gen AI
Milvus é altamente avaliado por sua qualidade de busca. Ele permite que os usuários escolham diferentes métodos de indexação e busca vetorial para equilibrar desempenho e revocação e recuperar informações relevantes tanto em profundidade quanto em contexto.
Os usuários podem escolher entre Flat, IVFFlat, HNSW e muitos outros métodos de indexação. Cada método de indexação tem prós e contras, e você pode ver uma explicação detalhada desses métodos em este artigo sobre como escolher um índice vetorial.
Para operações de busca vetorial, busca densa, esparsa ou busca híbrida podem ser usadas para obter resultados relevantes para uma consulta. Também podemos usar filtragem escalar com a abordagem de operação booleana durante uma operação de busca para refinar ainda mais o resultado.
A introdução do Zilliz Cloud Serverless aprimora significativamente o segundo e o terceiro aspectos mais desejáveis de um banco de dados vetorial mencionados acima: eficiência de custo e facilidade de uso. As seções a seguir demonstrarão como o Zilliz Cloud Serverless aprimora o Milvus nesses dois aspectos.
Problemas comuns no desenvolvimento de aplicações de IA
Ao desenvolver uma aplicação de IA, desenvolver um protótipo é a próxima etapa após decidir qual banco de dados vetorial usar. Nesta etapa, geralmente armazenamos todos os nossos dados ou um subconjunto deles no banco de dados vetorial, depois escolhemos um modelo de linguagem grande (LLM) e desenvolvemos os prompts. Em seguida, selecionamos um LLM e um conjunto de prompts que atendam aos objetivos de qualidade do nosso caso de uso. Por fim, implantamos nossa aplicação de IA em produção.
No entanto, à medida que a base de usuários da nossa aplicação de IA cresce, a complexidade de manter e escalar nossa infraestrutura se torna mais pronunciada. Devemos considerar aspectos como custo por usuário, monitoramento do desempenho da aplicação em produção, tratamento de multilocação, gerenciamento de picos de tráfego, abordagem de bugs de software e muito mais.
Quanto maior nossa base de usuários, mais caro se torna acomodar as necessidades dos usuários enquanto mantemos métricas-chave de desempenho, como qualidade de busca, latência e disponibilidade. Portanto, escolher a infraestrutura e a arquitetura de software certas é crucial ao implantar sua aplicação de IA em um ambiente de produção.
Uma solução para escalar sua aplicação de IA é por meio de clusters dedicados no Zilliz Cloud.
Figura 2: A arquitetura dos clusters dedicados do Zilliz
Clusters dedicados oferecem um ambiente e recursos dedicados para sua aplicação de IA, permitindo processar conjuntos de dados maiores com melhor desempenho. Eles fornecem recursos avançados, como:
Separação entre armazenamento e computação.
Pool de recursos elástico para cargas de trabalho em lote.
Backup de dados para sistemas de armazenamento de objetos como S3.
Cache de dados para velocidades de recuperação ainda mais rápidas.
Esses clusters são hospedados na nuvem, eliminando a necessidade de gerenciamento de infraestrutura local.
No entanto, uma grande desvantagem dos clusters dedicados é o alto custo inicial e contínuo. Mesmo quando o cluster está ocioso, sem atividade de pesquisa, ele pode potencialmente custar mais de US$ 100 por mês. Além disso, o desempenho pode degradar à medida que a base de usuários dos dados armazenados e o volume crescem. Portanto, é necessária uma solução melhor para criar uma arquitetura que não seja apenas econômica, mas que também possa escalar à medida que nossa aplicação de IA alcança uma base de usuários maior.
Zilliz Cloud Serverless, até 50x de economia de custos
Zilliz Cloud Serverless representa os mais recentes avanços arquitetônicos oferecidos pela Zilliz para minimizar os custos de infraestrutura para executar suas aplicações de IA sem problemas em produção. Ele oferece até 50x de economia de custos em comparação com bancos de dados vetoriais em memória por meio de recursos como preços pay-as-you-go e auto-scaling que se adaptam a várias cargas de trabalho. A oferta serverless está disponível nos principais provedores de nuvem, incluindo AWS e GCP, e estará disponível no Azure em breve.
Figura 3- Principais benefícios do Zilliz Cloud Serverless
O Zilliz Cloud Serverless implementa quatro tecnologias principais para otimizar o custo de suas aplicações de IA:
Clusters lógicos e auto-scaling
Desagregação de dados de streaming e históricos
Armazenamento em camadas adaptado a diferentes necessidades de armazenamento de dados
Multi-tenancy e separação de dados hot-cold
Vamos agora explorar cada uma dessas tecnologias em maior profundidade.
Clusters lógicos e auto scaling
O Zilliz Cloud Serverless introduz o conceito de clusters lógicos e auto-scaling. Um cluster lógico corresponde a um banco de dados em um cluster físico. Um cluster físico consiste em vários tipos de nós, cada um com sua própria funcionalidade:
Nós proxy: Roteia o tráfego, limita solicitações com base em cotas e escala de acordo com a CPU e a largura de banda da rede.
Nós de streaming: Atende à pesquisa de dados de streaming e escala com base no tempo da fila de gravação e no uso de CPU/memória.
Nós de consulta: Lida com solicitações de pesquisa de dados históricos e escala de acordo com o tempo da fila de pesquisa e CPU/memória.
Nós de índice: Cria índices nos dados blob armazenados no armazenamento de objetos.
Figura 4: O diagrama de clusters lógicos
O cluster lógico opera usando um mecanismo de autenticação para cada tenant por meio de uma chave de API. Cada tenant tem uma chave de API exclusiva, que o sistema usa para rotear solicitações e garantir que os dados corretos sejam recuperados durante as operações de consulta.
Durante as operações de gravação de dados, todos os dados gerados em tempo real são armazenados por um intervalo de tempo específico dentro dos nós de streaming. Isso garante que dados recentes possam ser recuperados com baixa latência. Depois de algum tempo, esses dados de streaming são descarregados em um armazenamento blob (por exemplo, S3), onde o nó de índice cria um índice de todos os dados.
Durante as operações de consulta, todos os dados indexados são armazenados em cache nos discos locais dos nós de consulta. Esse método reduz significativamente os custos de armazenamento em comparação com a indexação em memória.
Desagregação de dados de streaming e históricos
Como discutido na seção anterior, o Zilliz Cloud Serverless separa efetivamente os dados de streaming dos dados históricos ao implementar diferentes tipos de nós em sua arquitetura.
Dados de streaming referem-se a dados em tempo real, gerados continuamente e processados em tempo real, enquanto dados históricos referem-se a dados previamente coletados e armazenados. Os dados de streaming contêm informações recentes e atualizadas, que são armazenadas dentro dos nós de streaming por um período específico, garantindo recuperação rápida durante as operações de consulta.
Após um período predeterminado, os dados dentro dos nós de streaming são descarregados para um armazenamento de blobs, tornando-se efetivamente parte dos dados históricos. Essa transição é crucial porque o armazenamento de blobs geralmente é uma solução mais econômica para grandes volumes de dados que não exigem o mesmo nível de acesso imediato que dados em tempo real ou recentes.
Figura 5- O fluxo de trabalho de diferentes nós em um cluster lógico
Durante as operações de busca, todos os dados históricos são armazenados em cache nos nós de consulta. O sistema então mescla os resultados de busca dos nós de streaming e de consulta para fornecer resultados abrangentes.
Armazenamento em Camadas
Uma das principais razões para os altos custos operacionais dos bancos de dados vetoriais é que todos os dados são armazenados em RAM. Para resolver esse problema, o Zilliz Cloud Serverless introduz uma tecnologia de armazenamento de dados em camadas em sua arquitetura.
O armazenamento de dados em camadas é simples: os dados são organizados em diferentes níveis com base nos requisitos de desempenho, custo e frequência de acesso. A regra geral é que dados acessados com frequência são armazenados em armazenamento mais caro e de alto desempenho, enquanto dados acessados com menos frequência são armazenados em armazenamento mais barato e mais lento. Ao implementar diferentes camadas de armazenamento para cada categoria de dados, podemos otimizar o custo geral do armazenamento de dados.
Figura 6- Diagrama de armazenamento em camadas
Dados acessados com frequência que precisam ser recuperados com baixa latência são armazenados em RAM. Como ilustrado acima, armazenar dados em RAM custa aproximadamente $5 por GB de armazenamento. No entanto, em troca, obtemos resultados em aproximadamente 100 nanossegundos, o que é o mais rápido em comparação com outras camadas.
Por outro lado, dados acessados com menos frequência são armazenados em armazenamento de blobs, como Amazon S3. Isso custa aproximadamente $0.023 por GB de armazenamento, mas leva mais de 10 milissegundos para recuperar resultados.
Multilocação e Separação Quente-Frio
O Zilliz Cloud Serverless introduz cache de dados em múltiplas camadas, particularmente para casos de uso de multilocação. Ele distingue entre armazenamento de dados para locatários "quentes" e "frios".
Um locatário quente é um usuário altamente ativo que realiza buscas ou consultas de dados com frequência. Por outro lado, um locatário frio é menos ativo e realiza buscas de dados com pouca frequência.
Quando os locatários são categorizados como quentes, seus dados são armazenados na memória local, garantindo recuperação de baixa latência. Enquanto isso, se um locatário for categorizado como frio e quiser realizar uma busca de dados, todos os dados devem primeiro ser carregados do armazenamento de blobs (por exemplo, S3), resultando em tempos de recuperação mais longos do que os locatários quentes.
Figura 7: Separação quente-frio em um caso de uso multilocatário
Uma aplicação pode ser pré-aquecida para melhorar a latência carregando todos os dados do armazenamento de blobs para a memória local. Então, quando os usuários acessam sua aplicação de IA, o processo de recuperação pode ser concluído com baixa latência.
O Zilliz Cloud Serverless também implementa agrupamento de dados por chaves de partição internamente para acelerar ainda mais o processo de busca de dados. Durante a recuperação de dados, o sistema busca apenas dados dentro de partições promissoras, em vez de todos os dados disponíveis.
Abaixo está uma comparação de custo entre buscas frias, mornas e quentes:
| Busca Fria | Busca Morna | Busca Quente | |
| 1M, 768Dim | 2.3s | 80ms | 4ms |
| 10M, 768Dim | 7s | 150ms | 7ms |
Tabela: Comparação de latência entre busca fria e quente em um único locatário.
Conforme ilustrado, uma busca fria (em que todos os dados residem no armazenamento de blobs) requer mais tempo para a recuperação de dados durante as operações de busca. Para 10 milhões de embeddings, cada um consistindo em um vetor de 768 dimensões, o sistema precisa de aproximadamente 7 segundos para concluir uma operação de busca. Essa velocidade ainda é aceitável para casos de uso comuns de IA generativa, como RAG. Em contraste, o mesmo cenário requer apenas 7 milissegundos se todos os dados residirem na memória local.
No entanto, realizar uma busca fria resulta em economias de custo significativas. Um banco de dados para busca fria custa aproximadamente US 915 para uma busca quente. Isso equivale a uma economia de custo de 50 vezes proporcionada pela arquitetura Zilliz Cloud Serverless.
O que há de novo no Zilliz Cloud?
Além da oferta serverless, a Zilliz anunciou recentemente novos recursos no Zilliz Cloud para aprimorar o suporte à execução de cargas de trabalho de IA em ambientes de produção. Aqui está uma visão geral rápida dessas novas adições e melhorias:
Disponibilidade geral (GA) do Serverless.
Serviço de Migração ****para transferir dados vetoriais de forma integrada entre bancos de dados e outros sistemas de dados
Fivetran Connector: uma nova integração com o Fivetran que expande significativamente as capacidades de ingestão de dados não estruturados de mais de 500 fontes
Multi-replica: permite a replicação em nível de cluster, melhorando significativamente o desempenho das consultas e a disponibilidade do sistema.
Auto-scaling (private preview): o Zilliz Cloud está lançando um recurso de auto-scaling em private preview que aborda um desafio comum em ambientes de produção: gerenciar a capacidade do cluster em resposta a demandas flutuantes.
Uma nova região do Zilliz Cloud online: AWS Tokyo (ap-northeast-1), o que significa menor latência, melhor desempenho e maior soberania de dados para usuários na Ásia-Pacífico e regiões vizinhas.
E mais! Para informações mais detalhadas, leia o mais recente blog de lançamento do Zilliz Cloud.
Conclusão
O Zilliz Cloud Serverless representa o avanço mais recente implementado pela Zilliz para otimizar a operação e o custo de sistemas de aplicações de IA. Ao aproveitar quatro tecnologias-chave, os usuários podem potencialmente operar suas aplicações de IA a um custo até 50 vezes menor do que bancos de dados vetoriais em memória. Essas tecnologias incluem clusters lógicos, desagregação de dados de streaming e históricos, armazenamento em camadas e separação quente-frio multi-tenant.
Se você quiser começar a usar o Zilliz Cloud Serverless, pode experimentá-lo gratuitamente. Visite esta página para saber mais!
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 Improve Retrieval Quality for Japanese Text with Sudachi, Milvus/Zilliz, and AWS Bedrock
Learn how Sudachi normalization and Milvus/Zilliz hybrid search improve Japanese RAG accuracy with BM25 + vector fusion, AWS Bedrock embeddings, and practical code examples.

Data Deduplication at Trillion Scale: How to Solve the Biggest Bottleneck of LLM Training
Explore how MinHash LSH and Milvus handle data deduplication at the trillion-scale level, solving key bottlenecks in LLM training for improved AI model performance.


