Fino a 50 volte di risparmio sui costi per creare app GenAI utilizzando Zilliz Cloud Serverless
Introduzione
Con i recenti progressi nella Generative AI, il caso d'uso dei database vettoriali sta crescendo in modo esponenziale. Ad esempio, la Retrieval Augmented Generation (RAG), una popolare tecnica di potenziamento dei large language model (LLM), sfrutta database vettoriali come Milvus e Zilliz Cloud (il Milvus gestito) per archiviare, indicizzare e recuperare informazioni pertinenti per aiutare gli LLM a generare risultati più accurati.
In un recente Unstructured Data Meetup a San Francisco, James Luan, VP of Engineering presso Zilliz, ha discusso di come gli sviluppatori possano sfruttare Zilliz Cloud Serverless, una nuova offerta di Zilliz, nelle loro applicazioni di Generative AI. In poche parole, questo nuovo servizio di Zilliz consente agli utenti di archiviare, indicizzare e interrogare enormi quantità di embedding vettoriali a solo una frazione del costo. La buona notizia è che anche le prestazioni di Zilliz Cloud Serverless sono molto competitive rispetto ai database vettoriali in-memory.
In questo articolo, riepilogheremo i punti chiave di James ed esploreremo Zilliz Cloud Serverless più in profondità. Puoi anche guardare il suo intervento su YouTube per maggiori dettagli.
Perché i database vettoriali sono importanti nell'era dell'AI
Le applicazioni e le tecniche moderne di AI, come la Retrieval Augmented Generation (RAG), i sistemi di raccomandazione, i chatbot basati sull'AI e i motori di ricerca semantica, richiedono un sistema affidabile per gestire in modo efficiente enormi quantità di dati non strutturati. I database vettoriali sono sistemi di archiviazione che ci consentono di archiviare, indicizzare e recuperare questi dati in modo efficace.
I database vettoriali come Milvus e Zilliz Cloud sono dotati di metodi di indicizzazione avanzati tra cui gli utenti possono scegliere per un recupero dei dati efficiente e rapido. Molti di essi, in particolare Milvus e Zilliz Cloud, offrono anche facili integrazioni con framework e piattaforme AI popolari come LangChain, Spark, Snowflake e Hugging Face, rendendo più semplice per gli sviluppatori di AI generativa creare applicazioni AI sofisticate. Con diversi approcci di ricerca semantica, come la ricerca vettoriale densa e la ricerca ibrida di vettori densi e sparsi, gli sviluppatori possono ottenere i risultati più pertinenti per qualsiasi caso d'uso.
Un recente sondaggio del 2024 condotto su 1.000 sviluppatori di Generative AI nella community Milvus ha identificato sette aspetti che cercano in un database vettoriale prima di considerarne l'uso nelle loro applicazioni AI:
Qualità della ricerca: Quanto sono pertinenti i risultati recuperati per una determinata query?
Efficienza dei costi: Quanto è economico il database in termini di spese operative e di manutenzione?
Facilità d'uso: Quanto è user-friendly e intuitivo il database da implementare e gestire per gli sviluppatori?
Prestazioni: Con quanta rapidità ed efficienza il database può elaborare query e restituire risultati?
Scalabilità: Quanto bene il database può gestire l’aumento di dati e tenant senza compromettere le prestazioni?
Alta disponibilità: Quanto affidabilmente il database può mantenere l’operatività e prevenire la perdita di dati in caso di guasti?
Sicurezza: Quanto bene il database protegge i dati sensibili e previene l’accesso non autorizzato?
Figura 1: Considerazioni chiave per la selezione di un database vettoriale raccolte da 1000 sviluppatori Gen AI
Milvus è molto apprezzato per la qualità della sua ricerca. Consente agli utenti di scegliere diversi metodi di indicizzazione e ricerca vettoriale per bilanciare prestazioni e recall e recuperare informazioni pertinenti sia in profondità sia nel contesto.
Gli utenti possono scegliere tra Flat, IVFFlat, HNSW e molti altri metodi di indicizzazione. Ogni metodo di indicizzazione presenta vantaggi e svantaggi, e puoi vedere una spiegazione dettagliata di questi metodi in questo articolo sulla scelta di un indice vettoriale.
Per le operazioni di ricerca vettoriale, è possibile utilizzare la ricerca dense, sparse o ibrida per ottenere risultati pertinenti per una query. Possiamo anche usare il filtro scalare con l’approccio dell’operazione booleana durante un’operazione di ricerca per affinare ulteriormente il risultato.
L’introduzione di Zilliz Cloud Serverless migliora significativamente il secondo e il terzo aspetto più desiderabili di un database vettoriale menzionati sopra: efficienza dei costi e facilità d’uso. Le sezioni seguenti dimostreranno come Zilliz Cloud Serverless migliori Milvus in questi due aspetti.
Problemi comuni nello sviluppo di applicazioni AI
Quando si sviluppa un’applicazione AI, la creazione di un prototipo è il passo successivo dopo aver deciso quale database vettoriale utilizzare. In questa fase, di solito archiviamo tutti i nostri dati o un loro sottoinsieme nel database vettoriale, poi scegliamo un modello linguistico di grandi dimensioni (LLM) e sviluppiamo i prompt. Quindi, selezioniamo un LLM e un set di prompt che soddisfano gli obiettivi di qualità del nostro caso d’uso. Infine, distribuiamo la nostra applicazione AI in produzione.
Tuttavia, con la crescita della base utenti della nostra applicazione AI, la complessità di mantenere e scalare la nostra infrastruttura diventa più evidente. Dobbiamo considerare aspetti come il costo per utente, il monitoraggio delle prestazioni dell’applicazione in produzione, la gestione della multi-tenancy, la gestione del traffico burst, la risoluzione dei bug software e altro ancora.
Più ampia è la nostra base utenti, più costoso diventa soddisfare le esigenze degli utenti mantenendo al contempo metriche di prestazione chiave come qualità della ricerca, latenza e disponibilità. Pertanto, scegliere la giusta infrastruttura e architettura software è fondamentale quando distribuisci la tua applicazione AI in un ambiente di produzione.
Una soluzione per scalare la tua applicazione AI è tramite cluster dedicati in Zilliz Cloud.
Figura 2: L’architettura dei cluster dedicati Zilliz
I cluster dedicati offrono un ambiente e risorse dedicati per la tua applicazione AI, consentendoti di elaborare dataset più grandi con prestazioni migliorate. Offrono funzionalità avanzate come:
Separazione tra storage e calcolo.
Pool di risorse elastico per carichi di lavoro batch.
Backup dei dati su sistemi di object storage come S3.
Caching dei dati per velocità di recupero ancora più rapide.
Questi cluster sono ospitati nel cloud, eliminando la necessità di gestire l'infrastruttura locale.
Tuttavia, un importante svantaggio dei cluster dedicati è l'elevato costo iniziale e continuativo. Anche quando il cluster è inattivo, senza attività di ricerca, potrebbe potenzialmente costare più di 100 $ al mese. Inoltre, le prestazioni possono degradarsi man mano che la base utenti dei dati archiviati e il volume crescono. Pertanto, è necessaria una soluzione migliore per costruire un'architettura che non sia solo efficiente in termini di costi, ma possa anche scalare man mano che la nostra applicazione AI raggiunge una base utenti più ampia.
Zilliz Cloud Serverless, fino a 50x di risparmio sui costi
Zilliz Cloud Serverless rappresenta i più recenti progressi architetturali offerti da Zilliz per ridurre al minimo i costi dell'infrastruttura necessari a eseguire senza problemi le tue applicazioni AI in produzione. Offre fino a 50x di risparmio sui costi rispetto ai database vettoriali in-memory grazie a funzionalità come la tariffazione pay-as-you-go e l'auto-scaling, che si adattano a diversi carichi di lavoro. L'offerta serverless è disponibile sui principali provider cloud, tra cui AWS e GCP, e sarà presto disponibile su Azure.
Figura 3- Principali vantaggi di Zilliz Cloud Serverless
Zilliz Cloud Serverless implementa quattro tecnologie chiave per ottimizzare il costo delle tue applicazioni AI:
Cluster logici e auto-scaling
Disaggregazione dei dati in streaming e storici
Storage a livelli adattato alle diverse esigenze di archiviazione dei dati
Multi-tenancy e separazione dei dati hot-cold
Esploriamo ora ciascuna di queste tecnologie in maggiore dettaglio.
Cluster logici e Auto Scaling
Zilliz Cloud Serverless introduce il concetto di cluster logici e auto-scaling. Un cluster logico corrisponde a un database in un cluster fisico. Un cluster fisico è costituito da diversi tipi di nodi, ciascuno con la propria funzionalità:
Nodi proxy: Instradano il traffico, limitano le richieste in base alle quote e scalano in base alla CPU e alla larghezza di banda della rete.
Nodi di streaming: Servono la ricerca sui dati in streaming e scalano in base al tempo della coda di scrittura e all'utilizzo di CPU/memoria.
Nodi di query: Gestiscono le richieste di ricerca sui dati storici e scalano in base al tempo della coda di ricerca e alla CPU/memoria.
Nodi di indicizzazione: Creano indici sui dati blob archiviati nello storage a oggetti.
Figura 4: Il diagramma dei cluster logici
Il cluster logico opera utilizzando un meccanismo di autenticazione per ciascun tenant tramite una chiave API. Ogni tenant dispone di una chiave API univoca, che il sistema utilizza per instradare le richieste e garantire che i dati corretti vengano recuperati durante le operazioni di query.
Durante le operazioni di scrittura dei dati, tutti i dati generati al volo vengono archiviati per un intervallo di tempo specifico all'interno dei nodi di streaming. Questo garantisce che i dati recenti possano essere recuperati con bassa latenza. Dopo un po', questi dati in streaming vengono trasferiti in uno storage blob (ad es. S3), dove il nodo di indicizzazione crea un indice di tutti i dati.
Durante le operazioni di query, tutti i dati indicizzati vengono memorizzati nella cache sui dischi locali dei nodi di query. Questo metodo riduce significativamente i costi di storage rispetto all'indicizzazione in-memory.
Disaggregazione dei dati in streaming e storici
Come discusso nella sezione precedente, Zilliz Cloud Serverless separa efficacemente i dati in streaming dai dati storici implementando diversi tipi di nodi nella sua architettura.
I dati in streaming si riferiscono a dati in tempo reale, generati continuamente ed elaborati al volo, mentre i dati storici si riferiscono a dati precedentemente raccolti e archiviati. I dati in streaming contengono informazioni recenti e aggiornate, che vengono archiviate all'interno dei nodi di streaming per un periodo specifico, garantendo un recupero rapido durante le operazioni di query.
Dopo un periodo prestabilito, i dati all'interno dei nodi di streaming vengono scaricati in un blob storage, diventando di fatto parte dei dati storici. Questa transizione è fondamentale perché il blob storage è generalmente una soluzione più conveniente per grandi volumi di dati che non richiedono lo stesso livello di accesso immediato dei dati in tempo reale o recenti.
Figura 5- Il workflow dei diversi nodi in un cluster logico
Durante le operazioni di ricerca, tutti i dati storici vengono memorizzati nella cache nei nodi di query. Il sistema quindi unisce i risultati di ricerca provenienti dai nodi di streaming e di query per fornire risultati completi.
Storage a livelli
Uno dei motivi principali degli elevati costi operativi dei database vettoriali è che tutti i dati sono archiviati nella RAM. Per affrontare questo problema, Zilliz Cloud Serverless introduce nella sua architettura una tecnologia di storage dei dati a livelli.
Lo storage dei dati a livelli è semplice: i dati sono organizzati in diversi livelli in base ai requisiti di prestazioni, al costo e alla frequenza di accesso. La regola generale è che i dati a cui si accede frequentemente sono archiviati in storage più costoso e ad alte prestazioni, mentre i dati a cui si accede meno frequentemente sono archiviati in storage più economico e più lento. Implementando diversi livelli di storage per ciascuna categoria di dati, possiamo ottimizzare il costo complessivo dello storage dei dati.
Figura 6- Diagramma dello storage a livelli
I dati a cui si accede frequentemente e che devono essere recuperati con bassa latenza sono archiviati nella RAM. Come illustrato sopra, archiviare i dati nella RAM costa circa 5 $ per GB di storage. Tuttavia, in cambio, otteniamo risultati in circa 100 nanosecondi, il che è il più veloce rispetto agli altri livelli.
D'altra parte, i dati a cui si accede meno frequentemente sono archiviati in blob storage, come Amazon S3. Questo costa circa 0,023 $ per GB di storage, ma richiede più di 10 millisecondi per recuperare i risultati.
Multi-tenancy e separazione hot-cold
Zilliz Cloud Serverless introduce la memorizzazione nella cache dei dati su più livelli, in particolare per i casi d'uso di multi-tenancy. Distingue tra storage dei dati per tenant "hot" e "cold".
Un tenant hot è un utente altamente attivo che esegue ricerche o query sui dati frequentemente. Al contrario, un tenant cold è meno attivo ed esegue ricerche sui dati di rado.
Quando i tenant sono classificati come hot, i loro dati sono archiviati nella memoria locale, garantendo un recupero a bassa latenza. Nel frattempo, se un tenant è classificato come cold e vuole eseguire una ricerca sui dati, tutti i dati devono prima essere caricati dal blob storage (ad es., S3), con tempi di recupero più lunghi rispetto ai tenant hot.
Figura 7: Separazione hot-cold in un caso d'uso multi-tenant
Un'applicazione può essere pre-riscaldata per migliorare la latenza caricando tutti i dati dal blob storage nella memoria locale. Quindi, quando gli utenti accedono alla loro applicazione AI, il processo di recupero può essere completato con bassa latenza.
Zilliz Cloud Serverless implementa inoltre il clustering dei dati tramite chiavi di partizione sotto il cofano per accelerare ulteriormente il processo di ricerca dei dati. Durante il recupero dei dati, il sistema cerca solo i dati all'interno di partizioni promettenti anziché tutti i dati disponibili.
Di seguito è riportato un confronto dei costi tra ricerche hot, warm e cold:
| Ricerca cold | Ricerca warm | Ricerca hot | |
| 1M, 768Dim | 2,3s | 80ms | 4ms |
| 10M, 768Dim | 7s | 150ms | 7ms |
Tabella: Confronto della latenza tra ricerca cold e hot in un singolo tenant.
Come illustrato, una ricerca a freddo (in cui tutti i dati risiedono nello storage blob) richiede più tempo per il recupero dei dati durante le operazioni di ricerca. Per 10 milioni di embedding, ciascuno costituito da un vettore a 768 dimensioni, il sistema necessita di circa 7 secondi per completare un’operazione di ricerca. Questa velocità è ancora accettabile per casi d’uso comuni dell’IA generativa come RAG. Al contrario, lo stesso scenario richiede solo 7 millisecondi se tutti i dati risiedono nella memoria locale.
Tuttavia, l’esecuzione di una ricerca a freddo comporta notevoli risparmi sui costi. Un database per la ricerca a freddo costa circa 16 di una ricerca a caldo. Ciò equivale a un risparmio sui costi di 50 volte grazie all’architettura Serverless di Zilliz Cloud.
Cosa c’è di nuovo per Zilliz Cloud?
Oltre all’offerta serverless, Zilliz ha recentemente annunciato nuove funzionalità in Zilliz Cloud per migliorare il supporto all’esecuzione di carichi di lavoro AI in ambienti di produzione. Ecco una rapida panoramica di queste nuove aggiunte e miglioramenti:
Disponibilità generale (GA) serverless.
Servizio di migrazione ****per trasferire senza problemi dati vettoriali tra database e altri sistemi di dati
Fivetran Connector: una nuova integrazione con Fivetran che amplia significativamente le capacità di ingestione di dati non strutturati da oltre 500 fonti
Multi-replica: abilita la replica a livello di cluster, migliorando significativamente le prestazioni delle query e la disponibilità del sistema.
Scalabilità automatica (private preview): Zilliz Cloud sta implementando una funzionalità di scalabilità automatica in private preview che affronta una sfida comune negli ambienti di produzione: gestire la capacità del cluster in risposta a richieste fluttuanti.
Una nuova regione Zilliz Cloud online: AWS Tokyo (ap-northeast-1), che significa minore latenza, migliori prestazioni e maggiore sovranità dei dati per gli utenti nell’Asia-Pacifico e nelle regioni vicine.
E altro ancora! Per informazioni più dettagliate, leggi l’ultimo blog di lancio di Zilliz Cloud.
Conclusione
Zilliz Cloud Serverless rappresenta l’ultimo progresso implementato da Zilliz per ottimizzare il funzionamento e il costo dei sistemi applicativi AI. Sfruttando quattro tecnologie chiave, gli utenti possono potenzialmente gestire le loro applicazioni AI a un costo fino a 50 volte inferiore rispetto ai database vettoriali in-memory. Queste tecnologie includono cluster logici, disaggregazione dei dati in streaming e storici, storage a livelli e separazione caldo-freddo multi-tenant.
Se desideri iniziare a usare Zilliz Cloud Serverless, puoi provarlo gratuitamente. Visita questa pagina per saperne di più!
Continua a leggere

Vector Lakebase: End the AI Data Silo
Learn how Vector Lakebase unifies vector search, data lakes, and AI data operations so teams can serve RAG and agents without copy-and-sync pipelines.

Zilliz Cloud Just Landed in Claude Code
The Zilliz Cloud Plugin brings the full power of Zilliz Cloud directly into your Claude Code terminal as natural-language conversations.

The AWS Outage Was a Wake-Up Call for Vector Database Cross-Region Disaster Recovery
Zilliz Cloud Had the Answer Before the Crisis. Zilliz Cloud is the world's first vector database with native cross-region disaster recovery.


