3 puntos por GN⁺ 2024-05-30 | Aún no hay comentarios. | Compartir por WhatsApp
  • Cohere publicó un dataset con todo Wikipedia embebido en vectores
  • Con este dataset, una persona puede crear un índice vectorial basado en significado de Wikipedia

Dificultades

  • El tamaño del dataset (180 GB solo para el corpus en inglés) no es el problema
  • Las bases de datos vectoriales existentes no podían indexar datasets más grandes que la memoria
  • La biblioteca JVector permite indexar datasets más grandes que la memoria usando vectores comprimidos

Requisitos

  • Se necesita Linux o MacOS (Windows no se puede usar por limitaciones de ChronicleMap)
  • Se requieren 180 GB de espacio libre para el dataset y 90 GB para el índice
  • Se necesita suficiente RAM para ejecutar una JVM con 36 GB de heap al construir el índice
  • Es necesario desactivar el swap antes de construir el índice

Construcción del índice y búsqueda

Cómo funciona

  • Se crea un índice vectorial con JVector y se almacenan los datos de los artículos con Chronicle Map
  • Se usa Locally-Adaptive Quantization (LVQ) para la compresión de vectores
  • Se procesan los datos en paralelo usando parallel streams

Conclusión

  • Gracias a la biblioteca JVector, indexar todo Wikipedia en inglés en una laptop se vuelve algo realista
  • Si se usa junto con el servicio DataStax Astra, se puede aprovechar una potente función de indexación con soporte para inserciones, actualizaciones y eliminaciones en tiempo real

Opinión de GN⁺

  • La innovación de JVector: JVector puede traer una gran innovación al campo de la ciencia de datos y los motores de búsqueda al permitir indexar datasets de gran tamaño sin restricciones de memoria.
  • Utilidad práctica: Al hacer posible que una persona indexe todo Wikipedia en una laptop, investigadores y desarrolladores pueden aprovechar datasets a gran escala con más facilidad.
  • Consideraciones técnicas: Para adoptar esta tecnología, se necesitan suficiente espacio en disco y memoria, además de configuraciones del sistema como desactivar el swap.
  • Tecnologías alternativas: Otros proyectos de código abierto con funciones similares incluyen FAISS (Facebook AI Similarity Search) y Annoy (Approximate Nearest Neighbors Oh Yeah).
  • Optimización de rendimiento: El rendimiento puede optimizarse mediante procesamiento en paralelo y compresión de vectores, pero hay que prestar atención a la gestión de los recursos del sistema.

Aún no hay comentarios.

Aún no hay comentarios.