- Cohere a publié un jeu de données dans lequel l’intégralité de Wikipédia a été embarquée sous forme de vecteurs
- Avec ce jeu de données, un particulier peut créer un index vectoriel sémantique de Wikipédia
Difficultés
- La taille du jeu de données (180 Go pour le seul corpus anglais) n’est pas le problème
- Les bases de données vectorielles existantes ne pouvaient pas indexer des jeux de données plus volumineux que la mémoire
- La bibliothèque JVector permet d’indexer des jeux de données plus grands que la mémoire en utilisant des vecteurs compressés
Prérequis
- Linux ou macOS requis (Windows n’est pas pris en charge en raison des limitations de ChronicleMap)
- Il faut 180 Go d’espace libre pour le jeu de données et 90 Go pour l’index
- Il faut suffisamment de RAM pour exécuter une JVM avec 36 Go de heap lors de la construction de l’index
- Il faut désactiver le swap avant de construire l’index
Construction de l’index et recherche
Fonctionnement
- Création d’un index vectoriel avec JVector, stockage des données d’articles avec Chronicle Map
- Utilisation de la Locally-Adaptive Quantization (LVQ) pour la compression des vecteurs
- Traitement parallèle des données à l’aide de flux parallèles
Conclusion
- Grâce à la bibliothèque JVector, indexer l’intégralité de la Wikipédia anglaise sur un ordinateur portable devient réaliste
- Utilisé avec le service DataStax Astra, cela permet de profiter de puissantes capacités d’indexation avec prise en charge des insertions, mises à jour et suppressions en temps réel
L’avis de GN⁺
- Le caractère innovant de JVector : JVector pourrait représenter une avancée majeure pour la data science et les moteurs de recherche en permettant d’indexer de très grands jeux de données sans être limité par la mémoire.
- Aspects pratiques : Le fait qu’un particulier puisse indexer l’intégralité de Wikipédia sur un ordinateur portable facilite l’exploitation de grands jeux de données pour les chercheurs et les développeurs.
- Points techniques à considérer : L’adoption de cette technologie nécessite une configuration adaptée du système, notamment suffisamment d’espace disque et de mémoire, ainsi que la désactivation du swap.
- Technologies alternatives : Parmi les autres projets open source offrant des fonctionnalités similaires, on peut citer FAISS (Facebook AI Similarity Search) et Annoy (Approximate Nearest Neighbors Oh Yeah).
- Optimisation des performances : Les performances peuvent être optimisées grâce au traitement parallèle et aux techniques de compression vectorielle, mais une gestion attentive des ressources système reste nécessaire.
Aucun commentaire pour le moment.