Comment un grand détaillant indien en ligne a fait évoluer l’appariement de produits avec Milvus

Utilisation de la mémoire réduite de 75 %
Déplacé les embeddings de la RAM vers le stockage objet, supprimant la mémoire comme goulot d’étranglement de mise à l’échelle.
Temps de traitement 6 fois plus rapides
Mise en correspondance de catalogues réduite de quelques jours à quelques heures pour des recherches à grande échelle.
Latence de ~200 ms
Offert une précision accrue à grande échelle tout en respectant des objectifs de latence stricts.
Flexibilité opérationnelle accrue
La mise à l’échelle indépendante des nœuds élimine les reconstructions complètes d’index lors des mises à jour.
À propos de l’entreprise
Le client est l’une des plus grandes plateformes de vente au détail en ligne d’Inde, souvent appelée « l’Amazon de l’Inde », desservant un public national dans des catégories telles que l’électronique, la mode, l’épicerie et les articles ménagers essentiels. Au-delà de sa marketplace destinée aux consommateurs, l’entreprise exploite également une division SaaS qui fournit des solutions de commerce de bout en bout aux entreprises et aux vendeurs en ligne. Un élément clé de cette offre est un système d’intelligence tarifaire qui aide les détaillants à rester compétitifs sur un marché où le prix demeure l’un des facteurs les plus influents dans la prise de décision des clients.
Cependant, assurer une tarification précise et en temps réel à l’échelle nationale a introduit d’importants défis d’ingénierie. L’équipe devait faire correspondre des produits dans un catalogue numérique en constante expansion — passant de quelques millions de SKU à des dizaines de millions — et les actualiser quotidiennement auprès de plusieurs grands concurrents, chacun disposant de vastes inventaires. Cette croissance explosive a submergé l’architecture existante basée sur les mots-clés et FAISS, faisant augmenter les coûts d’infrastructure et ralentissant les cycles de mise à jour.
Pour résoudre ces goulets d’étranglement, l’équipe a migré son pipeline de correspondance de produits vers la base de données vectorielle Milvus. Grâce à l’indexation sur disque et à l’architecture distribuée de Milvus, elle a considérablement réduit les temps de traitement et diminué les coûts opérationnels, permettant ainsi un système plus évolutif, durable et performant pour la gestion tarifaire de niveau entreprise.
Le défi : faire évoluer la correspondance de produits au niveau entreprise
La plateforme d’intelligence tarifaire de l’entreprise repose sur trois modules principaux : l’intelligence concurrentielle (suivi des prix des concurrents à l’aide du scraping et de la correspondance de produits), la tarification dynamique (ajustements fondés sur des règles en fonction des signaux du marché) et l’intelligence d’assortiment (identification des lacunes dans le catalogue d’un détaillant). À mesure que la plateforme intégrait davantage de clients entreprises, le moteur de correspondance de produits qui sous-tend ces capacités a commencé à montrer des signes de tension.
Les détaillants géraient plus de 20 millions de SKU, mis à jour quotidiennement, voire toutes les heures, tout en suivant 10 concurrents ou plus. Chaque catalogue concurrent ajoutait 5 millions de SKU supplémentaires à explorer et à comparer, créant une charge de travail qui augmentait presque de façon exponentielle.
Au-delà de l’échelle, les données non structurées elles-mêmes étaient désordonnées : images de produits dans des résolutions incohérentes, descriptions rédigées dans des styles différents, et nécessité de prendre en charge à la fois les correspondances exactes et les variantes « suffisamment proches ».
La précision était également essentielle. Même un faible taux d’erreur pouvait avoir un impact négatif sur les recommandations tarifaires, amenant les détaillants à perdre des ventes lorsque les articles étaient trop chers, à perdre de l’argent lorsqu’ils étaient trop bon marché, ou à se retrouver avec des stocks qui ne s’écoulent pas, réduisant directement les revenus et érodant la confiance des détaillants dans le système.
L’optimisation des ressources représentait un autre obstacle majeur. Le système devait gérer efficacement les ressources informatiques, notamment le CPU, la mémoire et le stockage, pour le traitement et l’interrogation continus des données à une échelle massive de niveau entreprise.
L’architecture héritée, construite sur un index en mémoire basé sur FAISS et hébergé sur un seul serveur, n’était tout simplement pas conçue pour un tel niveau de croissance des données. Les embeddings des concurrents étaient stockés sur disque local, puis chargés périodiquement en mémoire pour la recherche de similarité. Bien que fonctionnelle à plus petits volumes, cette conception s’est effondrée à grande échelle. L’utilisation de la mémoire a explosé — stocker environ 20 millions d’embeddings de 1 024 dimensions nécessitait près de 400 Go de RAM — entraînant une flambée des coûts d’infrastructure. Les performances se sont également dégradées, certains traitements de bout en bout prenant jusqu’à 12 jours. Pour des clients attendant des informations concurrentielles en temps opportun, le système avait clairement atteint ses limites.
Évaluer les voies de passage à l’échelle et choisir Milvus
Face à ces limitations critiques, l’équipe d’ingénierie a envisagé trois voies potentielles pour relever ses défis de mise à l’échelle.
Mise à l’échelle verticale — passer à des VM plus grandes et gourmandes en mémoire. Bien que cette option puisse temporairement répondre aux exigences de performance, les limites physiques de la solution réapparaîtraient rapidement, entraînant une augmentation significative des coûts. De toute évidence, ce n’était qu’une solution provisoire.
Étendre leur base de données SQL avec une fonctionnalité de recherche vectorielle. Du point de vue de l’intégration, cette approche était attrayante, mais l’équipe a rapidement pris conscience des risques : surcharger leur base de données SQL principale pourrait ralentir à la fois les opérations transactionnelles et les requêtes vectorielles, compromettant la fiabilité de l’ensemble du système.
Adopter une base de données vectorielle dédiée conçue pour la recherche de similarité à grande échelle. Cela s’est avéré être l’option la plus prometteuse. L’équipe a mené des benchmarks approfondis sur Milvus, Pinecone, Qdrant et Weaviate, en testant leur vitesse d’insertion, leur latence de requête, leur précision de filtrage et leur flexibilité de déploiement. Dans ces évaluations, Milvus s’est imposé comme le leader incontesté.
Pourquoi Milvus : facteurs clés de décision
Lors de l’évaluation, Milvus s’est imposé comme la seule solution répondant à tous les critères, car elle répondait directement aux défis de mise à l’échelle et de coûts de la plateforme. Voici les facteurs clés :
L’architecture distribuée de Milvus a permis une mise à l’échelle horizontale et une utilisation efficace des ressources, offrant à l’équipe la flexibilité nécessaire pour gérer des milliards d’embeddings sans surdimensionner l’infrastructure. De plus, la conception paramétrable de Milvus a permis à l’équipe d’ingénierie d’optimiser le système afin de répondre exactement aux exigences de charge de travail de leurs applications.
Un deuxième facteur de différenciation était DiskANN, l’algorithme d’indexation sur disque de Milvus. En réduisant les besoins en mémoire jusqu’à 75 % par rapport aux méthodes en mémoire comme HNSW, DiskANN a rendu la recherche à grande échelle non seulement réalisable, mais aussi rentable. Associé à la prise en charge du stockage d’objets tel que S3, cela a fourni à la plateforme une base évolutive et abordable.
Enfin, les capacités de préfiltrage de Milvus s’alignaient parfaitement avec la stratégie d’optimisation de la recherche de l’équipe, leur permettant de restreindre les ensembles de candidats par catégorie, marque ou prix avant d’effectuer une recherche vectorielle. Cela a considérablement réduit l’espace de recherche, améliorant à la fois les performances et la précision.
La solution : créer une correspondance de produits à grande échelle avec Milvus
Après avoir sélectionné Milvus, l’équipe d’ingénierie du client a conçu une nouvelle architecture optimisée à la fois pour l’échelle et la précision.
Le pipeline commence par l’ingestion des données, où les catalogues clients et les données des concurrents sont explorés et stockés. Une couche de normalisation traite ensuite les données désordonnées et non structurées, telles que les images et descriptions de produits incohérentes, pour les convertir en formats standardisés. Ensuite, les modèles d’apprentissage automatique propriétaires de l’équipe, explicitement entraînés sur des données de e-commerce, génèrent des vecteurs à 1024 dimensions avec des flottants de 4 octets qui capturent les attributs clés de chaque produit. Ces embeddings sont indexés et stockés dans Milvus, où la recherche de similarité compare les embeddings de produits clients aux catalogues concurrents à l’aide de la similarité cosinus dans un espace de grande dimension.
Le pipeline de recherche suit un processus en plusieurs étapes. Il commence par un préfiltrage basé sur des attributs structurés tels que la catégorie, la marque et la fourchette de prix, réduisant l’ensemble de candidats. Milvus effectue ensuite une recherche de similarité vectorielle au sein de ce sous-ensemble filtré, suivie d’un post-traitement et d’une notation des résultats. Enfin, un filtre basé sur des seuils génère des recommandations, avec une revue manuelle appliquée aux correspondances à forte confiance. Cette approche par couches établit un équilibre entre automatisation et supervision, garantissant à la fois rapidité et précision à l’échelle de l’entreprise.
En adoptant Milvus, l’équipe a accéléré les cycles de correspondance de produits tout en réduisant considérablement les coûts d’infrastructure. Plus important encore, elle a établi une base pérenne capable de prendre en charge des clients d’entreprise disposant de catalogues massifs et évoluant dans des environnements concurrentiels très dynamiques.
Les résultats : une mise en correspondance des produits évolutive, rentable et précise
La migration vers Milvus a transformé la manière dont la plateforme d’intelligence tarifaire gère la mise en correspondance des produits à l’échelle de l’entreprise. Ce qui était autrefois limité par des contraintes de mémoire, de longs cycles de traitement et des opérations rigides est devenu efficace, précis et prêt à évoluer avec la croissance de l’entreprise.
Coûts d’infrastructure réduits : La configuration FAISS précédente nécessitait de charger tous les embeddings en mémoire, rendant la mise à l’échelle à la fois coûteuse et peu pratique. En passant à Milvus, l’équipe d’ingénierie du client a réduit les besoins en mémoire jusqu’à 75 %, en déplaçant le stockage vers des buckets S3 et GCP. Ce qui constituait auparavant un obstacle en matière de coûts est désormais une base durable pour l’expansion.
Temps de traitement 6 fois plus rapides : Les grands travaux de mise en correspondance catalogue à catalogue, qui prenaient auparavant jusqu’à 12 jours, se terminent désormais en environ 2 jours sur 20 millions de recherches. Bien que le processus reste basé sur des traitements par lots, cette amélioration par un facteur six garantit que l’intelligence concurrentielle reste suffisamment à jour pour éclairer les décisions de tarification en temps réel.
Précision accrue à grande échelle : Pour la tarification, la précision est non négociable. Milvus a offert une précision supérieure à celle d’alternatives, telles que HNSW, tout en respectant l’objectif de latence d’environ 200 ms de l’équipe pour les requêtes par lots. En combinant des filtres structurés (catégorie, marque, prix) avec la recherche par similarité vectorielle, l’équipe a minimisé les erreurs de correspondance coûteuses et renforcé la confiance dans ses recommandations.
Flexibilité opérationnelle accrue : Avec Milvus, l’équipe n’a plus besoin de reconstructions complètes d’index pour gérer les mises à jour. Son architecture distribuée permet aux nœuds de requête, d’index et de données d’évoluer indépendamment. Une intégration hybride avec MySQL a encore rationalisé le flux de travail, en associant le filtrage structuré à la recherche vectorielle pour une efficacité maximale.
Conclusion
Pour l’équipe derrière cette plateforme, une meilleure mise en correspondance des produits signifiait bien plus qu’un simple traitement plus rapide — elle a créé une base plus solide pour l’ensemble de leur moteur de tarification. En adoptant Milvus, elle a acquis la capacité de gérer des catalogues massifs et désordonnés avec précision et à un coût durable. En utilisant DiskANN pour l’indexation, une architecture distribuée auto-hébergée pour la mise à l’échelle, et une approche hybride intégrée à leurs bases de données existantes, l’équipe a construit un système à la fois pratique et résilient.
Cette transition leur a permis de fournir des insights concurrentiels fiables et des recommandations tarifaires sur lesquels les clients d’entreprise peuvent s’appuyer en toute confiance. À mesure que les catalogues d’e-commerce se développent et que la concurrence s’intensifie, cette expérience démontre que les bases de données vectorielles offrent une approche pratique pour atteindre à la fois l’échelle et la précision — des qualités désormais essentielles pour rester compétitif sur des marchés en évolution rapide.
- À propos de l’entreprise
- Le défi : faire évoluer la correspondance de produits au niveau entreprise
- Évaluer les voies de passage à l’échelle et choisir Milvus
- La solution : créer une correspondance de produits à grande échelle avec Milvus
- Les résultats : une mise en correspondance des produits évolutive, rentable et précise
- Conclusion
Contenu
Cas d'usage
Secteur d'activité
Commerce électronique


