¿Es la búsqueda vectorial el futuro de la búsqueda en línea? Los fundadores y desarrolladores de Pinecone piensan que, con toda seguridad, sí. Por ello, han construido una base de datos de vectores. El objetivo es facilitar una nueva generación de aplicaciones de búsqueda vectorial de alto desempeño, basadas en inteligencia artificial (IA) y hospedadas en la nube.
Búsqueda tradicional versus búsqueda vectorial. Fuente
¿Cómo funciona la base de datos de vectores de Pinecone?
“Lanzamos Pinecone para facilitar el trabajo de los desarrolladores en la creación de aplicaciones de búsqueda vectorial de alto desempeño, a cualquier escala y sin problemas de infraestructura”, explica Edo Liberty, fundador y director ejecutivo de Pinecone. “Eso significó desarrollar un tipo de infraestructura completamente nuevo, así como de un nuevo algoritmo de indexación, presentarlo como un servicio administrado y exponerlo a través de una API simple. Necesitábamos un nombre, así que se nos ocurrió llamarla “base de datos de vectores”, agrega.
Las tres premisas de Pinecone son desarrollar una búsqueda vectorial “rápida, actualizada y filtrada”. Con esta búsqueda, se pueden consultar enormes bases de datos con baja latencia, actualizar los resultados de las búsquedas cuando se agregan/eliminan datos y combinar filtros de metadatos con búsqueda vectorial para obtener resultados mejores y más rápidos. De esta manera, Pinecone ayuda a las aplicaciones empresariales a producir recomendaciones, detección de bots, búsqueda de imágenes, detección de amenazas, respuesta a preguntas y otros tipos de tareas. Todo esto utilizando el poder del Machine Learning (ML, o aprendizaje automático) a través de incrustaciones de vectores (vector embeddings, en inglés).
¿Qué son las incrustaciones de vectores o vector embeddings?
Los algoritmos de “búsqueda tradicional” verifican la lista de filas en la base de datos hasta encontrar una que se ajuste a los criterios requeridos. Este método tiene grandes limitaciones, considerando que puede omitir datos que son similares o relacionados, así como resultados para la misma consulta en diferentes contextos.
En cambio, los algoritmos de ML analizan números. Para analizar grandes secciones de texto, por ejemplo, se crean incrustaciones de vectores para que datos de cualquier tipo se puedan leer como datos numéricos. Texto, audio, imágenes o incluso los datos que ya son numéricos se pueden convertir en vectores para facilitar las operaciones y su uso.
Un objeto, como un texto, audio, imágenes o datos, se puede convertir en un vector. Fuente
Conocer el concepto de “similitud vectorial” (vector similarity) es clave para entender este proceso. A partir de este concepto, se compara “la semejanza de los objetos, según lo capturado por los modelos de ML. La búsqueda por similitud vectorial es particularmente útil con datos del mundo real porque esos datos a menudo no están estructurados y contienen elementos similares, pero no idénticos. No se requiere una coincidencia exacta porque el llamado “valor más cercano” a menudo es lo suficientemente bueno. Las empresas lo utilizan para tareas como búsqueda semántica, búsqueda de imágenes y sistemas de recomendaciones”, resume este post en Venture Beat.
Al hacer este tipo de cuantificación para grabaciones de audio, artículos de noticias, imágenes o tal vez perfiles sociales y patrones de comportamiento de los usuarios, algunos datos pueden ser “similares” a otros conjuntos de datos, lo que facilita a los algoritmos construir recomendaciones o clasificaciones.
Precisamente, lo que hace Pinecone es entrenar modelos para hacer la traducción de objetos a vectores. Los vectores suelen tener muchas dimensiones, hasta dos mil en algunos casos. Las redes neuronales profundas o redes neuronales convolucionales se utilizan comúnmente para entrenar estos tipos de modelos de Machine Learning. Las incrustaciones de vectores se pueden utilizar internamente mediante modelos y métodos de ML, aunque el producto final no las utilice directamente.
Representación de una imagen como píxeles en escala de grises. Fuente
¿Por qué usar Pinecone?
Los gigantes de la tecnología ya están utilizando la búsqueda vectorial. Sin embargo, otras empresas, de cualquier tamaño, pueden tener dificultades para implementar esta tecnología. Cuando se combinan la lógica de negocios, los filtros y los algoritmos de búsqueda vectorial, el desempeño general se puede reducir si no se hace correctamente. Lograr resultados de búsqueda precisos es bastante difícil. Si al hacerlo ocurren retrasos, la experiencia del usuario se verá afectada negativamente.
Es por eso que Pinecone ha desarrollado capacidades de filtrado de baja latencia que funcionan en conjunto con búsquedas y recomendaciones más precisas. Esto permite a las empresas almacenar metadatos junto con sus ítems, así como filtrar las búsquedas vectoriales por estos metadatos. Esto ayuda a producir resultados más precisos, a velocidades realmente rápidas.
Pinecone tiene la capacidad de utilizar almacenamiento híbrido. Este enfoque reduce los costos de infraestructura porque las búsquedas vectoriales generalmente se ejecutan completamente en memoria, lo que es más costoso que usar un híbrido de memoria en disco y en RAM. La velocidad y la precisión no se ven afectadas, lo que genera una reducción de costos para los clientes.
La plataforma de Pinecone está lista para ser colocada en producción, es escalable, cuenta con alta disponibilidad y un impacto de latencia mínimo al consultar miles de millones de objetos. Al ser un producto basado en la nube, no requiere mantenimiento de infraestructura ni monitoreo de servicio, es segura (certificada) y cumple con los reglamentos de protección de datos. Las empresas solo necesitan conectarse a través de API y pueden comenzar a usar la base de datos de vectores administrada.
Desde su lanzamiento en 2021, los creadores han introducido múltiples actualizaciones y nuevas características, como: REST API, SOAC2 y una nueva arquitectura, diseñada para usar Kafka y Kubernetes, con el fin de proporcionar tolerancia a fallos, persistencia de datos, más seguridad y alta disponibilidad para los clientes.
El futuro de la búsqueda de vectores, según Pinecone
Pinecone tiene como objetivo mantenerse al día dentro de un mercado de rápido crecimiento y un grupo de tecnologías que se encuentra en constante cambio. Según la empresa, la misión es continuar construyendo tecnología de búsqueda y bases de datos para la era de la Inteligencia Artificial. Esto implica facilitar a los desarrolladores, y a sus equipos, el uso de aplicaciones de búsqueda vectorial, incluyendo a los que ya han trabajado con Machine Learning y también a los que estén empezando a hacerlo.
Además, Pinecone quiere seguir extendiendo los límites de la búsqueda vectorial para ayudar a proporcionar resultados más precisos sin comprometer la velocidad o el desempeño cuando hay billones o trillones de objetos. En consecuencia, Pinecone está invirtiendo más en su plataforma de búsqueda vectorial, en el éxito de sus clientes y en sus equipos de ingeniería y desarrolladores. Además, continúa invirtiendo en investigación sobre ML, procesamiento del lenguaje natural y recuperación de información para que estos campos continúen creciendo.