
Cosa sono le incorporazioni vettoriali?
**Le incorporazioni vettoriali sono rappresentazioni numeriche di punti di dati in uno spazio ad alta dimensionalità in cui i punti di dati simili sono più vicini e quelli dissimili sono più distanti tra loro ** Questo processo consente di elaborare e identificare in modo più efficace i dati correlati. Ad esempio, la distanza tra le parole può indicare somiglianze semantiche in uno spazio vettoriale. Parigi e Tokyo sono vicine ma lontane da Apple.
Le incorporazioni vettoriali sono comunemente utilizzate nell'apprendimento automatico e nell'intelligenza artificiale per catturare il significato semantico dei dati non strutturati (come testo, video, immagini, audio, ecc.), consentendo analisi, ricerche e recuperi più efficienti e accurati. Gli embeddings vettoriali sono solitamente generati da modelli di reti neurali (o da modelli più moderni di architettura Transformer).
Poiché la rappresentazione vettoriale dell'embedding di un oggetto dati contiene solo numeri, la ricerca per similarità vettoriale è talvolta chiamata "ricerca vettoriale densa " o "ricerca vettoriale embedding", che differisce dalla tradizionale ricerca per parole chiave, in cui devono verificarsi corrispondenze esatte tra le parole della ricerca e i dati restituiti. "Ricerca lessicale" e "ricerca vettoriale rada" sono termini che di solito si riferiscono alle ricerche per parole chiave tradizionali.
Le incorporazioni vettoriali sono solitamente memorizzate in un moderno [database vettoriale] (https://zilliz.com/learn/what-is-vector-database) per l'indicizzazione e l'efficiente ricerca di similarità.
Come vengono create le incorporazioni vettoriali?
Le incorporazioni vettoriali sono spesso create utilizzando modelli di apprendimento automatico (chiamati anche embedding model) che imparano a mappare i dati grezzi in uno spazio vettoriale. Il modello di embedding converte ogni unità di informazione in un vettore di numeri e la distanza tra due vettori indica la loro somiglianza semantica.
**Ecco i passaggi chiave per la creazione di incorporazioni vettoriali.
- Il primo passo consiste nel selezionare i dati e decidere quali variabili formeranno i vettori. Queste possono includere parole in un corpus di testo, immagini visive e preferenze dell'utente.
Successivamente, verranno estratte le caratteristiche rilevanti dai dati utilizzando la tokenizzazione e lo stemming, e verrà interrotta la rimozione delle parole per i dati di testo. Considerare l'uso di reti neurali convoluzionali (CNN) per riconoscere ed estrarre le caratteristiche delle immagini per i dati di immagine.
Dopo aver preelaborato i dati, inserirli in un modello di apprendimento automatico come Word2Vec, GloVe, OpenAI o un altro modello di rete neurale profonda. Durante l'addestramento, il modello impara a creare rappresentazioni vettoriali per ogni elemento del set di dati. Il modello ridimensiona questi vettori per minimizzare le differenze tra elementi simili e aumentare quelle tra elementi diversi.
Il risultato è uno spazio vettoriale multidimensionale in cui un vettore specifico rappresenta ogni elemento del set di dati. Gli elementi simili sono più vicini tra loro in questo spazio, mentre quelli dissimili sono più distanti.
Incorporazioni vettoriali sparse, dense e binarie
Le incorporazioni vettoriali possono essere ampiamente classificate in tre tipi in base alla loro rappresentazione e alle loro proprietà: **Ogni tipo ha i suoi vantaggi e i suoi casi d'uso.
Incorporazioni dense (vettori densi)
Le incorporazioni dense o vettori densi sono vettori in cui la maggior parte degli elementi non è nulla, fornendo una rappresentazione numerica compatta che cattura caratteristiche ricche e continue dei dati. In genere, le incorporazioni dense a bassa dimensione possono condensare in modo efficiente le informazioni in uno spazio più piccolo, rendendole utili per la memorizzazione e il calcolo. Le incorporazioni dense si trovano comunemente in applicazioni come le incorporazioni di parole (ad esempio, Word2Vec, GloVe, FastText), le incorporazioni di frasi (ad esempio, Universal Sentence Encoder, InferSent, Sentence-BERT) e le incorporazioni di immagini derivate da reti neurali convoluzionali (ad esempio, ResNet, VGG). Le incorporazioni dense sono molto vantaggiose per catturare le informazioni semantiche. Sono particolarmente adatti ai modelli basati sulle reti neurali e al deep learning, che si basano su rappresentazioni così dettagliate per compiti di classificazione, clustering e ricerca di somiglianze.
Incorporazione sparsa (vettori sparsi)
Gli embeddings sparsi, o vettori sparsi, invece, sono vettori in cui la maggior parte degli elementi è pari a zero, spesso risultanti in rappresentazioni ad alta dimensionalità che evidenziano la presenza o l'assenza di caratteristiche specifiche. Questi embeddings sono utilizzati nel text mining e nell'information retrieval attraverso metodi come TF-IDF (Term Frequency-Inverse Document Frequency) e bag-of-words. Le incorporazioni sparse sono semplici da capire e da implementare, il che le rende efficaci per gli algoritmi di apprendimento automatico tradizionali e per i modelli lineari.
Incorporazione binaria (vettori binari)
Le incorporazioni binarie o vettori binari sono vettori in cui ogni elemento è 0 o 1, creando rappresentazioni compatte che sono altamente efficienti per la memorizzazione e il recupero. Queste incorporazioni sono spesso utilizzate in applicazioni che richiedono un'elevata efficienza, come l'hashing sensibile alla località (LSH) per la ricerca approximate nearest neighbor (RNA) in spazi ad alta dimensione, le reti neurali binarie in cui i pesi e le attivazioni sono binari e l'hashing delle caratteristiche (il trucco dell'hashing) per convertire caratteristiche categoriali di grandi dimensioni in vettori binari di dimensioni fisse. Le incorporazioni di vettori binari favoriscono l'efficienza di memorizzazione e calcolo, rendendole ideali per l'elaborazione di dati su larga scala e per le applicazioni in tempo reale. Sono particolarmente utili per compiti di ricerca e recupero di similarità, grazie alla loro natura compatta.
Una semplice guida alla creazione di incorporazioni vettoriali
Ecco un esempio di utilizzo di un [modello di embedding] preaddestrato (https://zilliz.com/learn/training-your-own-text-embedding-model) per generare embeddings per le nostre parole. Per seguirlo, è necessario installare Python e configurare il database vettoriale Milvus per la memorizzazione e il recupero dei vettori.
Per prima cosa, installare le dipendenze: milvus, pymilvus e gensim. Pymilvus è un SDK Python per Milvus e gensim è una libreria Python per natural language processing (NLP).
Gensim è una libreria Python open-source per la modellazione dei temi e l'analisi della somiglianza dei documenti utilizzando vari algoritmi non supervisionati. È specializzata nell'elaborazione di corpora di testo su larga scala ed è ampiamente utilizzata nelle attività di elaborazione del linguaggio naturale (NLP). Gensim supporta l'addestramento e l'utilizzo di incorporazioni di parole attraverso modelli di apprendimento automatico come Word2Vec, FastText e Doc2Vec. Queste incorporazioni catturano le relazioni semantiche tra le parole e possono essere utilizzate per vari compiti di NLP.
pip installare milvus, pymilvus, gensim
Importare le librerie.
importare gensim.downloader come api
da pymilvus import (
connessioni,
FieldSchema,
CollectionSchema,
DataType,
Collection)
Crea una connessione al server Milvus.
connections.connect(
alias="default",
user='username',
password='password',
host='localhost',
porta='19530'
)
Creare una collezione.
#Crea una collezione:
fields = [
FieldSchema(name="pk", dtype=DataType.INT64, is_primary=True, auto_id=False),
FieldSchema(name="words", dtype=DataType.VARCHAR, max_length=50),
FieldSchema(name="embeddings", dtype=DataType.FLOAT_VECTOR, dim=50)
]
schema = CollectionSchema(fields, "Demo per memorizzare e recuperare embeddings")
demo_milvus = Collection("milvus_demo", schema)
Caricare il modello pre-addestrato da gensim.
model = api.load("glove-wiki-gigaword-50")
Genera le incorporazioni di testo utilizzate per le parole campione.
ice = model['ice']
acqua = modello['acqua']
cold = modello['cold']
albero = modello['albero']
uomo = modello['uomo']
donna = modello['donna']
bambino = modello['bambino']
female = model['female']
Ecco un esempio di incorporazione vettoriale per la parola "femmina".
array([-0.31575 , 0.74461 , -0.11566 , -0.30607 , 1.524 , 1.9137 ,
-0.392 , -0.67556 , -0.1051 , -0.17457 , 1.0692 , -0.68617 ,
1.2178 , 1.0286 , 0.35633 , -0.40842 , -0.34413 , 0.67533 ,
-0.5443 , -0.21132 , -0.61226 , 0.95619 , 0.43981 , 0.59639 ,
0.02958 , -1.1064 , -0.48996 , -0.82416 , -0.97248 , -0.059594,
2.396 , 0.74269 , -0.16044 , -0.69316 , 0.55892 , 0.22892 ,
0.013605, -0.44858 , -0.52965 , -0.96282 , -0.54444 , 0.18284 ,
0.16551 , 0.33446 , 0.53432 , -1.4824 , -0.34574 , -0.82834 ,
0.10107 , 0.024414], dtype=float32)
Inserire le incorporazioni vettoriali generate nella collezione
#Inserire i dati nell'insieme
dati = [
[1,2,3,4,5,6,7,8], # campo pk
['ghiaccio', 'acqua', 'freddo', 'albero', 'uomo', 'donna', 'bambino', 'femmina'], # campo parole
[ghiaccio, acqua, freddo, albero, uomo, donna, bambino, femmina], # campi embeddings
]
insert_result = demo_milvus.insert(data)
# Dopo che l'entità finale è stata inserita, è meglio chiamare flush per non lasciare segmenti in crescita in memoria
demo_milvus.flush()
Creare gli indici sulle entità.
indice = {
"tipo_indice": "IVF_FLAT",
"metric_type": "L2",
"params": {"nlist": 128},
}
demo_milvus.create_index("embeddings", index)
Carica l'insieme in memoria per confermare l'avvenuto caricamento ed eseguire una [ricerca di somiglianza vettoriale] (https://zilliz.com/blog/similarity-metrics-for-vector-search).
demo_milvus.load()
# esegue una ricerca di similarità vettoriale:
dati = [cold]
search_params = {
"metric_type": "L2",
"params": {"nprobe": 10},
}
result = demo_milvus.search(data, "embeddings", search_params, limit=4, output_fields=["words"])
Eseguire il loop dei risultati e stampare le parole.
per i in range(0,4):
hit = risultato[0][i]
print(hit.entity.get('words'))
Ecco l'output previsto.
freddo
ghiaccio
acqua
uomo
Come funzionano le incorporazioni?
Trasformando dati come immagini, testi e audio in rappresentazioni numeriche, gli embeddings consentono alle macchine di comprendere il significato semantico sottostante e le relazioni all'interno dei dati grezzi. Questo apre le porte ad applicazioni innovative in diversi ambiti.
Trovare immagini, video e file audio simili
Immaginate di cercare foto o video simili in base al loro contenuto, non solo alle parole chiave. Ad esempio, la ricerca di immagini in base al suono (gli uccelli sono più facili da sentire che da vedere) o di video in base all'immagine. Gli embeddings vettoriali rendono possibile questo tipo di ricerca. Estraendo le incorporazioni da immagini, fotogrammi video o segmenti audio tramite tecniche come le Reti neurali convoluzionali (CNN), possiamo memorizzare queste incorporazioni in database vettoriali come Milvus o Zilliz Cloud. Quando un utente effettua una ricerca con un'immagine, un video o un clip audio, il sistema recupera elementi simili confrontando i dati sequenziali con le loro rappresentazioni vettoriali incorporate.
Accelerare la scoperta dei farmaci
La scoperta di farmaci è un processo complesso e lungo. Le rappresentazioni vettoriali possono accelerare questo processo aiutando gli scienziati a identificare i candidati farmaci promettenti. Codificando le strutture chimiche dei composti farmacologici nei vector embeddings generati in precedenza, possiamo misurare la loro somiglianza con le proteine target. In questo modo i ricercatori possono concentrarsi sugli indizi più promettenti, accelerando la scoperta e lo sviluppo di farmaci.
Aumentare la rilevanza della ricerca con la ricerca semantica
I motori di ricerca tradizionali spesso faticano a capire il vero intento che sta dietro alle query degli utenti, portando a risultati irrilevanti. Supponiamo che un'azienda inserisca i suoi documenti interni in vettori e li memorizzi in un database vettoriale. Ora i dipendenti possono cercare questi documenti usando la normale chat umana. Gli incorporamenti di dati più vicini all'incorporamento della domanda di chat del dipendente potrebbero essere recuperati dal database vettoriale e inviati a ChatGPT come parte di un prompt per generare una risposta testuale simile a quella umana alla domanda del dipendente. La risposta sarebbe la più vicina in base ai dati dell'azienda. Questo processo complessivo è chiamato RAG (Retrieval Augmented Generation). L'aggiunta di una comprensione semantica dei documenti di un'azienda può migliorare significativamente la rilevanza della ricerca interna per quell'azienda ed evitare allucinazioni dell'IA.
Sistemi di raccomandazione
I sistemi di raccomandazione sono fondamentali per le piattaforme online, ma le raccomandazioni generiche possono essere deludenti. Le incorporazioni vettoriali offrono una soluzione, consentendoci di rappresentare sia gli utenti che gli articoli come incorporazioni. Misurando la somiglianza tra l'utente e l'articolo per generare embeddings vettoriali, possiamo creare raccomandazioni personalizzate, adattate alle preferenze uniche di ciascun utente. Questo porta a sistemi di raccomandazione più efficaci e, auspicabilmente, a un maggiore coinvolgimento degli utenti.
Rilevamento di anomalie
L'identificazione di modelli insoliti nei dati è fondamentale per diverse applicazioni come il rilevamento delle frodi, la sicurezza delle reti e il monitoraggio delle apparecchiature industriali. Le incorporazioni vettoriali forniscono un potente strumento per il rilevamento delle anomalie. Rappresentando i punti di dati come embeddings, possiamo calcolare le distanze o le dissomiglianze tra i punti di dati. Distanze considerevoli possono segnalare potenziali anomalie che devono essere analizzate. Questo ci permette di identificare in modo proattivo i problemi, favorendo l'identificazione e la prevenzione delle anomalie.
Diversi tipi di incorporazioni vettoriali in base alla natura dei dati da rappresentare
Le incorporazioni vettoriali possono essere suddivise in incorporazioni di parole, incorporazioni di immagini, incorporazioni di grafi, incorporazioni multimodali e così via, a seconda dell'applicazione e della natura dei dati rappresentati. Ecco alcuni dei tipi più comuni di embedding vettoriale.
Word Embeddings: I Word Embeddings rappresentano le parole come vettori numerici in uno spazio vettoriale continuo. Vengono addestrati su corpora di testo di grandi dimensioni, come Wikipedia, utilizzando vari modelli come Word2Vec, GloVe o fastText. Questi modelli utilizzano meccanismi diversi per rappresentare ogni parola come un vettore di numeri. Word2Vec genera embeddings di parole prevedendo una parola in un enorme corpus testuale. Definisce le relazioni linguistiche tra le parole. Ad esempio, può rappresentare "re" e "regina" come vettori vicini nello spazio, mostrando la loro [somiglianza semantica] (https://zilliz.com/glossary/semantic-similarity). GloVe, invece, si basa sui dati di co-occorrenza delle parole per costruire i vettori. GloVe potrebbe rappresentare le parole "ghiaccio" e "acqua" come vettori vicini perché appaiono spesso insieme nel testo e condividono una relazione semantica. fastText porta le incorporazioni di parole a un livello di sottoparola, consentendo di gestire le parole fuori vocabolario (OOV) o le variazioni.
Incorporazioni di frasi e documenti: Gli embeddings di frasi e documenti rappresentano intere frasi o documenti come vettori numerici utilizzando modelli come Doc2Vec e BERT. Doc2Vec si basa sul paradigma Word2Vec per generare embeddings a livello di documento, consentendo la codifica di interi documenti o passaggi. BERT (Bidirectional Encoder Representations from Transformers) considera il contesto di ogni termine in una frase, portando a vettori di incorporazioni altamente consapevoli del contesto.
- Image Embeddings: Le CNN possono produrre incorporazioni di immagini attraverso l'estrazione di caratteristiche a vari livelli della rete. Esse forniscono un valido approccio alla classificazione e al recupero delle immagini. Ad esempio, una foto di un gatto può avere un vettore di incorporamento dell'immagine con caratteristiche che rappresentano le orecchie, il pelo e la coda. Anche altri modelli, come Inception e ResNet, hanno strati che possono estrarre caratteristiche dalle immagini. Un modello Inception può generare un embedding che rappresenta gli attributi visivi di un'immagine, come oggetti o modelli.
- Incorporamenti di serie temporali: È possibile incorporare dati di serie temporali utilizzando reti neurali con memoria a breve termine (LSTM) e unità ricorrente gated (GRU), che possono catturare le dipendenze temporali. Le incorporazioni basate su LSTM o GRU possono catturare le dipendenze temporali per i dati delle serie temporali come i prezzi delle azioni. Ad esempio, queste incorporazioni vettoriali possono rappresentare i modelli dei movimenti dei prezzi delle azioni.
- Incorporazioni audio: Nell'elaborazione audio, le incorporazioni dei coefficienti cepstrali di mel-frequenza (MFCC) rappresentano i dati audio per compiti di classificazione audio. Nel riconoscimento vocale, le incorporazioni MFCC catturano le caratteristiche acustiche dei segnali audio. Ad esempio, possono rappresentare il contenuto spettrale delle parole pronunciate.
Incorporamento del grafo: Consideriamo un grafo di una rete sociale. Node2Vec può generare embeddings di nodi in cui utenti simili (nodi) hanno vettori più simili. Ad esempio, utenti con interessi simili potrebbero avere vettori simili. È anche possibile utilizzare le reti neurali a grafo (GNN) per generare embeddings per i nodi e catturare relazioni complesse nei grafi. Le GNN possono rappresentare utenti e oggetti in un sistema di raccomandazione e prevedere le interazioni tra utente e oggetto.
Applicazioni delle incorporazioni vettoriali
Ecco come si possono applicare gli embeddings vettoriali in diversi domini.
- Immagini, video e audio [ricerca di similarità vettoriale] (https://zilliz.com/learn/vector-similarity-search): È possibile estrarre embeddings da immagini, fotogrammi video o segmenti audio utilizzando tecniche come le CNN per l'estrazione di immagini o caratteristiche. Memorizzare queste incorporazioni in un database vettoriale. Quando un utente interroga un'immagine, un fotogramma video o un clip audio, recupera elementi simili misurando la somiglianza tra i loro embeddings.
- Scoperta di farmaci AI: Codificando le strutture chimiche dei composti in embeddings, è possibile utilizzare questi embeddings per misurare la somiglianza tra i composti farmaceutici e prevedere le potenziali proteine bersaglio per i composti farmaceutici.
- Motore di ricerca semantico: Gli embeddings vettoriali migliorano le capacità dei motori di ricerca facendo corrispondere il significato delle query ai documenti pertinenti, migliorando la pertinenza della ricerca.
- Sistema di raccomandazione: È possibile rappresentare utenti e oggetti come embeddings. Misurare la somiglianza tra utente e articolo per creare raccomandazioni personalizzate. Le raccomandazioni personalizzate migliorano l'esperienza dell'utente.
- Rilevamento di anomalie: Rappresentando i punti di dati come embeddings, è possibile identificare modelli insoliti nei dati. Ciò si ottiene calcolando la distanza o la dissimilarità tra i punti di dati. I punti di dati con distanze enormi sono potenziali anomalie. Questo può essere utile nel rilevamento delle frodi, nella sicurezza della rete, nelle apparecchiature industriali o nel monitoraggio dei processi.
Per saperne di più sull'incorporazione vettoriale e casi d'uso dei database vettoriali.
Perché usare le incorporazioni vettoriali
- Riconoscimento dei modelli: Le incorporazioni vettoriali catturano i modelli, le somiglianze e le dissomiglianze nei dati. I modelli di apprendimento automatico traggono vantaggio dagli embeddings che rappresentano modelli significativi, migliorando le prestazioni in compiti come la classificazione e il clustering.
Riduzione della dimensionalità: Gli embeddings riducono la dimensionalità dei dati. Trasformano i dati ad alta densità in vettori a bassa densità, semplificando le operazioni di calcolo e spesso migliorando l'efficienza.
- Comprensione semantica: Le incorporazioni vettoriali codificano le relazioni semantiche tra i punti di dati, facilitando la comprensione e l'interpretazione di informazioni complesse da parte delle macchine.
- Elaborazione efficiente: I vettori numerici sono efficienti dal punto di vista computazionale. Gli algoritmi di apprendimento automatico possono elaborare i dati numerici più velocemente e con costi di calcolo inferiori.
- Apprendimento per trasferimento: Le incorporazioni pre-addestrate, come le incorporazioni di parole in NLP o le incorporazioni di immagini nella computer vision, possono essere messe a punto per compiti specifici. Questo riduce la necessità di grandi quantità di dati etichettati, accelera la convergenza del modello e ne migliora le prestazioni.
FAQ sull'incorporazione vettoriale
Dove si memorizzano le incorporazioni vettoriali?
È possibile memorizzare le incorporazioni vettoriali in un database vettoriale come Milvus, in un database in-memory come Redis, in database come PostgreSQL o nel proprio file system. La scelta di dove memorizzare gli embedding vettoriali dipende da fattori quali il volume dei dati, i modelli di accesso e i requisiti specifici dell'applicazione.
Qual è la differenza tra database vettoriali e embeddings vettoriali?
I database vettoriali sono database specializzati che indicizzano, memorizzano e recuperano dati vettoriali. Le incorporazioni vettoriali, invece, sono rappresentazioni numeriche di punti di dati (come frasi, immagini o altri oggetti) in uno spazio vettoriale continuo. Le incorporazioni catturano relazioni e modelli significativi all'interno dei dati, mentre i database memorizzano i vettori e ottimizzano le ricerche di somiglianza in base a [metriche di somiglianza] vettoriali (https://docs.zilliz.com/docs/search-metrics-explained).
Cosa sono i vettori?
I vettori rappresentano dati non strutturati utilizzando matrici multidimensionali di numeri. Tra gli esempi vi sono i vettori audio, i vettori immagine, i video o i testi. Consentono operazioni come la ricerca vettoriale. Algoritmi di ricerca come KNN, ANNS o HNSW organizzano i dati in modo da rendere veloce il calcolo della distanza tra i vettori. La distanza tra i vettori determina la somiglianza e i vettori più vicini vengono restituiti nella ricerca. Ciò è utile per il clustering, il rilevamento di anomalie, la ricerca inversa di immagini, la risposta a domande in chat o la formulazione di raccomandazioni. La creazione della struttura di dati per una ricerca vettoriale efficiente si chiama creazione dell'indice vettoriale.
Le incorporazioni sono diverse dai vettori?
Embeddings vs. vettori: Tecnicamente, un vettore è un oggetto matematico fondamentale rappresentato da una matrice multidimensionale di numeri, mentre gli embeddings sono una tecnica per trasformare dati non strutturati in rappresentazioni vettoriali utilizzando operazioni matematiche che catturano le relazioni semantiche tra i punti di dati. Ma nella maggior parte dei casi, soprattutto nel contesto dell'apprendimento automatico, "vettori" e "embeddings" possono essere usati in modo intercambiabile.
Cos'è un indice vettoriale?
Un indice vettoriale, noto anche come indice di database vettoriale o indice di similarità, è una struttura di dati utilizzata nei database vettoriali per organizzare e ottimizzare il recupero dei dati vettoriali in base a metriche di similarità. Esempi di indici sono FLAT, IVF_FLAT, IVF_PQ, IVF_SQ8, HNSW e SCANN per ricerche ANN basate su CPU e GPU_IVF_FLAT e GPU_IVF_PQ per ricerche ANN basate su GPU.
Qual è la differenza tra embeddings pre-addestrati e embeddings personalizzati?
Gli embeddings pre-addestrati provengono da modelli di deep-learning pre-addestrati chiamati checkpoint. Questi checkpoint sono solitamente [modelli trasformatori] (https://zilliz.com/glossary/transformer-models) open-source che sono stati addestrati su dati pubblici. Gli embradings personalizzati provengono da modelli di deep learning addestrati su dati di addestramento personalizzati e specifici del dominio.
Il database vettoriale di Zilliz crea incorporazioni vettoriali?
Sì. Zilliz Cloud è un servizio di database vettoriale completamente gestito da Milvus, in grado di creare, archiviare e recuperare miliardi di embeddings vettoriali.
Zilliz Cloud vanta una potente funzione di pipeline, che consente di convertire dati non strutturati in embeddings vettoriali ricercabili di alta qualità. Questa funzione semplifica il flusso di lavoro di vettorizzazione per gli sviluppatori, coprendo la creazione, il recupero e l'eliminazione dei vettori per operazioni rapide ed efficienti. Inoltre, riduce al minimo i costi di manutenzione per gli sviluppatori e le aziende, eliminando la necessità di adottare ulteriori stack tecnologici come i modelli di embedding per costruire le loro applicazioni.
I migliori database vettoriali per le incorporazioni vettoriali
Non esiste un database vettoriale universale "migliore"; la scelta dipende dalle vostre esigenze. Pertanto, è fondamentale valutare la scalabilità, la funzionalità, le prestazioni e la compatibilità di un database vettoriale con i vostri casi d'uso specifici.
I moderni database di incorporazioni vettoriali devono essere in grado di ricercare in modo efficiente i vettori, di filtrare utilizzando i metadati e di eseguire ricerche semantiche e per parole chiave. Devono inoltre essere scalabili, configurabili e performanti per gestire carichi di lavoro di livello aziendale.
Uno strumento di benchmarking open-source ben noto che può aiutare nella valutazione è ANN-Benchmark. ANN-Benchmark consente di tracciare i risultati dei test di richiamo/richieste al secondo di vari algoritmi basati su una serie di insiemi di dati precalcolati. Traccia il tasso di richiamo sull'asse delle ascisse e il QPS sull'asse delle ordinate, illustrando le prestazioni di ciascun algoritmo a diversi livelli di accuratezza di recupero.
Oltre all'utilizzo di strumenti di benchmarking, è possibile fare riferimento a questi grafici di confronto dei principali database vettoriali open-source e servizi di database vettoriali completamente gestiti sulla loro architettura, scalabilità, prestazioni, casi d'uso, costi e set di funzionalità.
- Cosa sono le incorporazioni vettoriali?
- Come vengono create le incorporazioni vettoriali?
- Incorporazioni vettoriali sparse, dense e binarie
- Una semplice guida alla creazione di incorporazioni vettoriali
- Come funzionano le incorporazioni?
- Diversi tipi di incorporazioni vettoriali in base alla natura dei dati da rappresentare
- Applicazioni delle incorporazioni vettoriali
- Perché usare le incorporazioni vettoriali
- FAQ sull'incorporazione vettoriale
Contenuto
Inizia gratis, scala facilmente
Prova il database vettoriale completamente gestito progettato per le tue applicazioni GenAI.
Prova Zilliz Cloud gratuitamente