Qu’est-ce que Milvus ?

Gros plan sur un doigt touchant un écran

Auteurs

Matthew Kosinski

Staff Editor

IBM Think

Qu’est-ce que Milvus ?

Milvus est une base de données vectorielle open source développée par Zilliz. Milvus permet un stockage évolutif des grandes quantités de plongements vectoriels, ainsi qu’une recherche de similarités ultra-performante sur les données vectorielles.

Zilliz a développé Milvus pour la première fois en 2017 et a contribué au projet de la Linux Foundation en 2020. Milvus est désormais disponible à la fois en tant que logiciel open source sous licence Apache 2.0 et en tant que service cloud entièrement géré par Zilliz.

Que sont les bases de données vectorielles et pourquoi sont-elles importantes ?

Les bases de données vectorielles stockent et gèrent des jeux de données sous forme de vecteurs. Elles peuvent aider les entreprises à gérer des données non structurées et sont essentielles aux efforts d’intelligence artificielle (IA) et de machine learning (ML) avancés.

Les vecteurs sont des tableaux de nombres qui représentent des concepts et des objets complexes, tels que des mots et des images.  

Les données non structurées (telles que le texte, la vidéo et l’audio) représentent aujourd’hui une part importante des données d’entreprise, mais les bases de données traditionnelles sont souvent mal adaptées à l’organisation et à la gestion de ces données.  

Les organisations peuvent alimenter ces données dans des modèles de plongements d’apprentissage profond spécialisés, qui produisent des représentations vectorielles appelées « plongements » . Par exemple, le mot « chat » peut être représenté par le vecteur [0,2 ; -0,4 ; 0,7], tandis que le mot « chien » peut être représenté par [0,6 ; 0,1 ; 0,5].

La transformation des données en vecteurs permet de stocker différents types de données non structurées dans un format partagé au sein d’une seule et même base de données vectorielle.  

Les vecteurs aident également les organisations à exploiter la valeur de ces données pour l’IA et le ML. Les vecteurs capturent les relations sémantiques entre les éléments, ce qui permet un traitement efficace par les grands modèles de langage (LLM) et les outils d’IA générative. La plupart des applications avancées d’IA et de ML s’appuient aujourd’hui sur des vecteurs pour l’entraînement et la génération de contenu.

Comme d’autres bases de données vectorielles, Milvus permet aux entreprises de gérer et d’organiser les plongements vectoriels. Associant stockage hautement évolutif et recherche vectorielle efficace, la base de données vectorielle Milvus est une solution de choix pour la génération augmentée par récupération (RAG), les systèmes de recommandation, ainsi que d’autres applications d’IA.  

Design 3D de balles roulant sur une piste

Les dernières actualités et informations en matière d’IA 


La newsletter hebdomadaire Think vous apporte toute l’actualité sur l’IA, le cloud et bien d’autres sujets. 

L’architecture de Milvus

Milvus est une base de données vectorielle cloud native dotée d’une architecture multicouche basée sur des microservices. Milvus sépare les ressources de stockage et de calcul, ce qui permet aux organisations de faire évoluer chaque couche indépendamment et horizontalement.

Milvus est compatible avec plusieurs modèles d’intégration différents. Les organisations peuvent connecter leurs modèles à Milvus, qui ingère les intégrations ainsi que les métadonnées et autres informations pertinentes. Milvus prend en charge les téléchargements en continu et par lots.

Ce système comporte quatre couches :

  • Couche d’accès : cette couche externe accepte les entrées des utilisateurs et des services et renvoie les sorties.  

  • Service de coordination : Zilliz considère cette couche comme le « cerveau » du système, car elle orchestre l’équilibrage de charge, la gestion des données, l’exécution des requêtes et d’autres tâches importantes. 

  • Nœuds de travail : cette couche exécute les requêtes, met à jour les données et construit les index. 

  • Couche de stockage d’objets : cette couche comprend un magasin de métadonnées, un log broker (courtier en journaux) qui enregistre les modifications apportées aux données en temps réel, ainsi qu’un magasin d’objets qui regroupe instantanés de journaux, fichiers d’index et résultats de calcul intermédiaires.

Types de déploiement Milvus

  • Milvus Lite : une bibliothèque Python qui permet aux utilisateurs d’exécuter Milvus dans des environnements locaux. Elle prend actuellement en charge Ubuntu et MacOS, mais pas Microsoft Windows.

  • Milvus Standalone : une base de données Milvus complète, regroupée dans une seule image Docker et exécutée sur une seule machine. 

  • Milvus Cluster : une base de données vectorielle distribuée qui répartit les services entre des groupes de nœuds dans un cluster Kubernetes.  

  • Zilliz Cloud : la version entièrement gérée de Milvus.
Mixture of Experts | 12 décembre, épisode 85

Décryptage de l’IA : Tour d’horizon hebdomadaire

Rejoignez notre panel d’ingénieurs, de chercheurs, de chefs de produits et autres spécialistes de premier plan pour connaître l’essentiel de l’actualité et des dernières tendances dans le domaine de l’IA.

Principales caractéristiques et capacités de Milvus

Fonctionnalités de recherche avancées 

Milvus prend en charge les recherches de similarité vectorielle haute performance, un type de recherche vectorielle qui renvoie des résultats sémantiquement similaires à une requête. L’avantage de la recherche de similarité est qu’elle n’est pas limitée aux correspondances exactes, comme le serait une recherche par mot-clé traditionnelle.  

Par exemple, une recherche par mot-clé pour « meilleur restaurant de pizza » ne renverrait que des résultats contenant les mots « meilleur », « restaurant » et « pizza ». Une recherche de similarité pour le même mot-clé trouverait tous les résultats pour les pizzerias hautement recommandées, même si les mots exacts « meilleur restaurant de pizza » ne sont pas utilisés dans le contenu.

Milvus prend en charge plusieurs types de recherche de similarité, y compris la recherche approximative des plus proches voisins (ANN) top-k et l’ANN de portée.  

Milvus propose également des recherches hybrides, qui associent des recherches vectorielles sémantiques à d’autres critères, tels que le filtrage des métadonnées ou la recherche par mot-clé.

Les recherches hybrides peuvent améliorer l’efficacité et la pertinence des résultats. Prenons l’exemple d’une recherche alliant mots-clés et vecteurs. Elle peut d’abord utiliser des mots-clés spécifiques pour filtrer les résultats en fonction de correspondances exactes, puis se servir de la recherche de similarité vectorielle pour parcourir ces résultats filtrés en quête du contenu le plus pertinent sur le plan sémantique.  

Indexation 

Milvus prend en charge plusieurs types d’indexation, notamment les index HNSW (Hierarchical navigable Small World), les index de fichiers inversés (IVF) et les index basés sur le processeur graphique (GPU).

L’indexation des vecteurs peut contribuer à accélérer les recherches. Par exemple, le HNSW regroupe les vecteurs similaires pendant le processus de construction de l’index, ce qui facilite et accélère la recherche de résultats pertinents.

Évolutivité 

Les couches de Milvus peuvent évoluer indépendamment les unes des autres, ce qui permet aux entreprises de gérer de manière rentable et efficace des volumes considérables de données vectorielles et des recherches intensives.

Intégrations et compatibilité 

Milvus propose de nombreux kits de développement logiciel (SDK) pour prendre en charge le développement dans différents langages, notamment Python (pymilvus), Java et Go.

Milvus peut également s’intégrer à des outils d’analyse tels qu’Apache Spark, à des cadres tels que LangChain et à des modèles d’IA générative tels que IBM Watson, Llama de Meta et GPT d’OpenAI. 

Code source ouvert

Une vaste communauté open source contribue à la correction des bogues, aux mises à jour et à d’autres améliorations des dépôts GitHub de Milvus.

Milvus et les autres bases de données vectorielles

Milvus et Pinecone

Pinecone et Milvus offrent tous deux une recherche à faible latence et un stockage évolutif, mais Pinecone est une base de données vectorielle propriétaire et n’est disponible que sous forme de service géré.

Milvus et Weaviate

Comme Milvus, Weaviate est open source et prend en charge les recherches hybrides. Toutefois, Milvus offre plus de types d’indexation que Weaviate.

Milvus et Qdrant

Autre base de données vectorielle open source, Qdrant est réputée pour ses puissantes capacités de filtrage des métadonnées. Si Qdrant est bien adaptée aux utilisations à échelle modérée, Milvus peut généralement traiter des volumes plus importants de données vectorielles.

Milvus et Chroma

Chroma met l’accent sur la facilité d’utilisation et la rapidité des déploiements locaux. Moins évolutif, Chroma ne possède pas d’architecture distribuée. Si Chroma est couramment utilisé pour le prototypage et les tests, Milvus peut prendre en charge un plus large éventail de cas d’utilisation.

Cas d’utilisation courants de Milvus

Les entreprises font appel à Milvus pour prendre en charge de nombreuses applications d’IA, notamment :

  • Génération augmentée par récupération (RAG)

  • Les systèmes de recommandation

  • Les recherches dans les médias 

  • La détection des anomalies et des fraudes

La génération augmentée de récupération (RAG)

La RAG est une architecture qui relie les modèles d’IA à des bases de connaissances externes pour les aider à fournir des résultats plus pertinents et plus précis.

Milvus est couramment employé dans les implémentations de RAG en raison de sa prise en charge des recherches hybrides efficaces. En alliant la compréhension contextuelle de la recherche sémantique à la précision de la recherche par mot-clé et du filtrage des métadonnées, Milvus peut aider à faire émerger des documents, des extraits de code et d’autres informations pertinents à partir de sources RAG.

CacheGPT, un cache sémantique open source pour les LLM développé par Zilliz, aide également Milvus à prendre en charge les implémentations RAG. CacheGPT stocke les réponses des applications d’IA générative sous forme de plongements vectoriels.

Les services connectés (tels que les interfaces RAG) n’ont pas besoin d’effectuer un appel API à l’IA générative pour chaque recherche. En effet, ils peuvent d’abord consulter le cache et appeler l’IA générative uniquement si la réponse n’y figure pas.

Les systèmes de recommandation

Milvus est populaire dans les systèmes de recommandation qui font correspondre le contenu, les produits et les publicités aux utilisateurs en fonction de leurs comportements passés. 

Les préférences des utilisateurs peuvent être représentées sous forme de vecteurs, et une recherche de similarité peut faire apparaître les représentations vectorielles des produits, publicités et contenus similaires aux préférences de l’utilisateur.

Les recherches dans les médias

Les capacités de recherche de similarité de Milvus peuvent aider à rationaliser la recherche d’images, de fichiers audio, de vidéos et d’autres médias.

La détection des anomalies et des fraudes

Milvus permet de repérer les défauts des produits en comparant les vecteurs des images de produits à ceux représentant la forme appropriée de ces derniers. Les différences entre les vecteurs sont susceptibles d’indiquer la présence de défauts.

Milvus peut également aider à repérer des anomalies dans d’autres contextes. En matière de cybersécurité, les vecteurs représentant l’activité autorisée sur le réseau peuvent être comparés à ceux représentant une activité malveillante connue. De même, dans le secteur financier, les vecteurs représentant les transactions peuvent être analysés pour identifier les écarts susceptibles d’indiquer une fraude.

Solutions connexes
IBM watsonx.ai

Entraînez, validez, réglez et déployez une IA générative, des modèles de fondation et des capacités de machine learning avec IBM watsonx.ai, un studio d’entreprise nouvelle génération pour les générateurs d’IA. Créez des applications d’IA en peu de temps et avec moins de données.

Découvrir watsonx.ai
Solutions d’intelligence artificielle

Mettez l’IA au service de votre entreprise grâce à l’expertise de pointe d’IBM en matière d’IA et à son portefeuille de solutions.

Découvrir les solutions d’IA
Conseil et services en Intelligence Artificielle (IA)

IBM Consulting et ses services d'IA accompagnent les entreprises dans la redéfinition de leurs activités avec l'intelligence artificielle pour mener leur transformation.

Découvrir les services d’IA
Passer à l’étape suivante

Bénéficiez d’un accès centralisé aux fonctionnalités couvrant le cycle de développement de l’IA. Produisez des solutions IA puissantes offrant des interfaces conviviales, des workflows et un accès à des API et SDK conformes aux normes du secteur.

Découvrir watsonx.ai Réserver une démo en direct