Tempo estimado de lectura: 9 minutos
Nas últimas semanas, houbo un aumento do interese dos investidores polas bases de datos vectoriais. Desde principios de 2023 observamos que:
Vexamos con máis detalle que son as bases de datos vectoriais.
As bases de datos vectoriais dependen en gran medida da incrustación de vectores, un tipo de representación de datos que contén a información semántica fundamental para que a IA adquira comprensión e manteña a memoria a longo prazo para aproveitar cando executa actividades complexas.
As insercións de vectores son como un mapa, pero en lugar de mostrarnos onde están as cousas no mundo, móstranse onde están as cousas en algo chamado espazo vectorial. O espazo vectorial é unha especie de gran parque infantil onde todo ten o seu lugar para xogar. Imaxina que tes un grupo de animais: un gato, un can, un paxaro e un peixe. Podemos crear un vector incrustado para cada imaxe dándolle unha posición especial no parque infantil. O gato pode estar nun recuncho, o can no outro lado. O paxaro podería estar no ceo e os peixes na lagoa. Este lugar é un espazo multidimensional. Cada dimensión correspóndese con diferentes aspectos deles, por exemplo, os peixes teñen aletas, os paxaros teñen ás, os gatos e os cans teñen patas. Outro aspecto deles pode ser que os peixes pertencen á auga, as aves principalmente ao ceo e os gatos e cans ao chan. Unha vez que dispoñemos destes vectores, podemos utilizar técnicas matemáticas para agrupalos en función da súa semellanza. En base á información que temos,
Entón, as incrustacións vectoriais son como un mapa que nos axuda a atopar semellanzas entre as cousas do espazo vectorial. Do mesmo xeito que un mapa axúdanos a navegar polo mundo, as insercións de vectores axudan a navegar polo parque infantil de vectores.
A idea clave é que as insercións que son semanticamente similares entre si teñen unha distancia menor entre elas. Para saber o parecido que son, podemos utilizar funcións de distancia vectorial como a distancia euclidiana, a distancia coseno, etc.
As bibliotecas vectoriais almacenar incrustacións de vectores en índices na memoria, para realizar buscas de semellanza. As bibliotecas vectoriais teñen as seguintes características/limitacións:
Hai moitas bibliotecas de busca vectorial dispoñibles: FAISS de Facebook, molesta por Spotify e ScanNN por Google. FAISS usa o método de agrupación, Annoy usa árbores e ScanNN usa compresión vectorial. Hai unha compensación de rendemento para cada un, que podemos escoller en función da nosa aplicación e das métricas de rendemento.
A principal característica que distingue as bases de datos vectoriais das bibliotecas de vectores é a capacidade de arquivar, actualizar e eliminar datos. As bases de datos vectoriais teñen soporte CRUD completo (crear, ler, actualizar e eliminar) que resolve as limitacións dunha biblioteca vectorial.
En resumo, unha base de datos de vectores proporciona unha solución superior para manexar as incrustacións de vectores abordando as limitacións dos índices vectoriais autónomos, como se comentaba nos puntos anteriores.
Pero que fai que as bases de datos vectoriais sexan superiores ás bases de datos tradicionais?
As bases de datos tradicionais están deseñadas para almacenar e recuperar datos estruturados mediante modelos relacionais, o que significa que están optimizadas para consultas baseadas en columnas e filas de datos. Aínda que é posible almacenar incrustacións de vectores en bases de datos tradicionais, estas bases de datos non están optimizadas para operacións vectoriais e non poden realizar buscas de semellanza ou outras operacións complexas en grandes conxuntos de datos de forma eficiente.
Isto débese a que as bases de datos tradicionais usan técnicas de indexación baseadas en tipos de datos sinxelos, como cadeas ou números. Estas técnicas de indexación non son adecuadas para datos vectoriais, que teñen unha gran dimensionalidade e requiren técnicas de indexación especializadas como índices invertidos ou árbores espaciais.
Ademais, as bases de datos tradicionais non están deseñadas para xestionar as grandes cantidades de datos non estruturados ou semiestruturados que adoitan asociarse coas insercións vectoriais. Por exemplo, un ficheiro de imaxe ou audio pode conter millóns de puntos de datos, que as bases de datos tradicionais non poden manexar de forma eficiente.
As bases de datos vectoriais, por outra banda, están deseñadas especificamente para almacenar e recuperar datos vectoriais e están optimizadas para procuras de semellanza e outras operacións complexas en conxuntos de datos grandes. Usan técnicas e algoritmos de indexación especializados deseñados para traballar con datos de gran dimensión, o que os fai moito máis eficientes que as bases de datos tradicionais para almacenar e recuperar incrustacións de vectores.
Agora que liches tanto sobre bases de datos vectoriais, podes estarte preguntando como funcionan? Botámoslle un ollo.
Todos sabemos como funcionan as bases de datos relacionais: almacenan cadeas, números e outros tipos de datos escalares en filas e columnas. Por outra banda, unha base de datos vectorial funciona con vectores, polo que a forma en que se optimiza e consulta é moi diferente.
Nas bases de datos tradicionais, normalmente consultamos as filas da base de datos onde o valor adoita coincidir exactamente coa nosa consulta. Nas bases de datos vectoriais, aplicamos unha métrica de semellanza para atopar un vector que sexa máis parecido á nosa consulta.
Unha base de datos vectorial usa unha combinación de varios algoritmos que participan todos na busca do veciño máis próximo (ANN). Estes algoritmos optimizan a busca mediante hash, cuantización ou busca baseada en gráficos.
Estes algoritmos están ensamblados nunha canalización que proporciona unha recuperación rápida e precisa dos veciños dun vector consultado. Dado que a base de datos vectorial ofrece resultados aproximados, as principais compensacións que consideramos son entre precisión e velocidade. Canto máis preciso sexa o resultado, máis lenta será a consulta. Non obstante, un bo sistema pode proporcionar unha busca ultrarrápida cunha precisión case perfecta.
As bases de datos vectoriais son unha poderosa ferramenta para procuras de semellanzas e outras operacións complexas en grandes conxuntos de datos, que non se poden realizar de forma eficaz utilizando bases de datos tradicionais. Para construír unha base de datos vectorial funcional, as insercións son esenciais, xa que captan o significado semántico dos datos e permiten buscas de semellanzas precisas. A diferenza das bibliotecas vectoriais, as bases de datos vectoriais están deseñadas para adaptarse ao noso caso de uso, polo que son ideais para aplicacións nas que o rendemento e a escalabilidade son críticos. Co aumento da aprendizaxe automática e da intelixencia artificial, as bases de datos vectoriais son cada vez máis importantes para unha ampla gama de aplicacións, incluíndo sistemas de recomendación, busca de imaxes, semellanza semántica e a lista continúa. A medida que o campo continúa evolucionando, podemos esperar ver aplicacións aínda máis innovadoras de bases de datos vectoriais no futuro.
Ercole Palmeri
O pasado luns, o Financial Times anunciou un acordo con OpenAI. FT licencia o seu xornalismo de clase mundial...
Millóns de persoas pagan por servizos de streaming, pagando taxas de subscrición mensuais. É unha opinión común que vostede...
Coveware by Veeam continuará ofrecendo servizos de resposta a incidentes de extorsión cibernética. Coveware ofrecerá capacidades forenses e de remediación...
O mantemento preditivo está a revolucionar o sector do petróleo e do gas, cun enfoque innovador e proactivo para a xestión das plantas...