Base de dades vectorials: diferència entre les revisions

De la Viquipèdia, l'enciclopèdia lliure
Contingut suprimit Contingut afegit
Pàgina nova, amb el contingut: «Un '''sistema de gestió de bases de dades vectorials''' ('''VDBMS''') o simplement '''una base de dades vectorial''' o '''una botiga de vectors''' és una base de dades que pot emmagatzemar vectors (llistes de nombres de longitud fixa) juntament amb altres elements de dades. Les bases de dades vectorials solen implementar un o més algorismes d'Aproximate Nearest Neighbor (ANN), <ref>{{Ref-web|cognom=Roie Schwaber-Cohe...».
(Cap diferència)

Revisió del 21:47, 12 abr 2024

Un sistema de gestió de bases de dades vectorials (VDBMS) o simplement una base de dades vectorial o una botiga de vectors és una base de dades que pot emmagatzemar vectors (llistes de nombres de longitud fixa) juntament amb altres elements de dades. Les bases de dades vectorials solen implementar un o més algorismes d'Aproximate Nearest Neighbor (ANN), [1] [2] de manera que es pot cercar a la base de dades amb un vector de consulta per recuperar els registres de la base de dades més propers.

Els vectors són representacions matemàtiques de dades en un espai d'alta dimensió. En aquest espai, cada dimensió correspon a una característica de les dades, amb el nombre de dimensions que oscil·la entre pocs centenars i desenes de milers, depenent de la complexitat de les dades que es representen. La posició d'un vector en aquest espai representa les seves característiques. Es poden vectoritzar paraules, frases o documents sencers, i imatges, àudio i altres tipus de dades. [3]

Aquests vectors de característiques es poden calcular a partir de les dades en brut mitjançant mètodes d'aprenentatge automàtic com ara algorismes d'extracció de característiques, incrustacions de paraules [4] o xarxes d'aprenentatge profund. L'objectiu és que els elements de dades semànticament similars rebin vectors de característiques que estiguin a prop els uns dels altres.

Les bases de dades vectorials es poden utilitzar per a cerca de semblances, cerca multimodal, motors de recomanacions, grans models de llenguatge (LLM), etc. [5]

Les bases de dades vectorials també s'utilitzen per implementar la Retrieval-Augmented Generation (RAG), un mètode per millorar les respostes específiques del domini dels grans models de llenguatge. Es recullen documents de text que descriuen el domini d'interès i per a cada document es calcula un vector de característiques (conegut com a " incrustació "), normalment utilitzant una xarxa d'aprenentatge profund, i s'emmagatzema en una base de dades vectorial. Donat una indicació d'usuari, es calcula el vector de característica de la sol·licitud i es consulta la base de dades per recuperar els documents més rellevants. A continuació, s'afegeixen automàticament a la finestra de context del model de llenguatge gran i el model de llenguatge gran passa a crear una resposta a l'indicador donat aquest context. [6]

Tècniques

Les tècniques més importants per a la cerca de similitud en vectors d'alta dimensió inclouen:

i combinacions d'aquestes tècniques

En els darrers punts de referència, les implementacions basades en HNSW es troben entre les millors. [7] Conferències com la International Conference on Similarity Search and Applications, SISAP i la Conference on Neural Information Processing Systems (NeurIPS) acullen concursos sobre cerca vectorial en grans bases de dades.

Implementacions

Nom Llicència
Apache Cassandra Apache License 2.0
Chroma Apache License 2.0
Azure Cosmos DB Integrated Vector Database Proprietary (Managed Service)
Couchbase BSL 1.1
Elasticsearch Server Side Public License, Elastic License
Lantern BSL 1.1
LlamaIndex MIT License
Milvus Apache License 2.0
MongoDB Atlas Server Side Public License (Managed service)
OpenSearch Apache License 2.0
Pinecone Proprietary (Managed Service)
Postgres with pgvector PostgreSQL License
Qdrant Apache License 2.0
Redis Stack Redis Source Available License
SurrealDB BSL 1.1
Vespa Apache License 2.0
Weaviate BSD 3-Clause

Referències

  1. Roie Schwaber-Cohen. «What is a Vector Database & How Does it Work» (en anglès). Pinecone. [Consulta: 18 novembre 2023].
  2. «What is a vector database» (en anglès). Elastic. [Consulta: 18 novembre 2023].
  3. «Vector database» (en anglès). learn.microsoft.com, 26-12-2023. [Consulta: 11 gener 2024].
  4. Evan Chaki. «What is a vector database?» (en anglès). Microsoft, 31-07-2023.
  5. «Vector database» (en anglès). learn.microsoft.com, 26-12-2023. [Consulta: 11 gener 2024].
  6. Lewis, Patrick; Perez, Ethan; Piktus, Aleksandra; Petroni, Fabio; Karpukhin, Vladimir Advances in Neural Information Processing Systems 33, 2020, pàg. 9459–9474. arXiv: 2005.11401.
  7. Aumüller, Martin; Bernhardsson, Erik; Faithfull, Alexander (en anglès) Similarity Search and Applications [Cham], 2017, pàg. 34–49. arXiv: 1807.05614. DOI: 10.1007/978-3-319-68474-1_3.