Description
Cleora est un moteur d'intégration de graphes révolutionnaire basé sur Rust, conçu pour fournir des intégrations de graphes déterministes et de haute précision. Contrairement aux méthodes traditionnelles qui s'appuient sur des marches aléatoires, l'échantillonnage négatif et les clusters GPU, Cleora calcule la distribution exacte de toutes les marches possibles dans une seule puissance de matrice clairsemée. Cette approche élimine le bruit et l'approximation stochastique, garantissant une reproductibilité parfaite et un calcul significativement plus rapide sur un seul cœur CPU.
Lire la suite
Le cœur de l'innovation de Cleora réside dans son algorithme. Il construit une matrice de transition clairsemée à partir du graphe d'entrée, gérant nativement les hypergraphes hétérogènes avec des arêtes typées et multi-relationnelles. Chaque itération de multiplication matricielle avec cette matrice de transition capture la distribution complète des marches d'une longueur spécifique. Ceci est suivi d'une propagation normalisée L2, où l'intégration de chaque nœud est mise à jour vers la moyenne normalisée des intégrations de ses voisins. Ce processus ne nécessite que quelques itérations pour la similarité de co-occurrence et un peu plus pour la similarité contextuelle, ce qui le rend plusieurs ordres de grandeur plus rapide que les méthodes basées sur l'échantillonnage.
Les principaux avantages de Cleora incluent sa vitesse, sa précision et son efficacité. Il est jusqu'à 240 fois plus rapide que GraphSAGE et utilise significativement moins de mémoire que d'autres bibliothèques comme NetMF. Le moteur est déterministe par défaut, ce qui est crucial pour la recherche reproductible et les pipelines ML de production. Il prend en charge nativement les hypergraphes hétérogènes, éliminant le besoin d'un prétraitement complexe du graphe. De plus, Cleora affiche une taille d'installation minimale d'environ 5 Mo avec seulement numpy et scipy comme dépendances, évitant les maux de tête liés à l'installation des pilotes GPU et aux frameworks lourds.
Cleora est prêt pour la production, offrant des intégrations stables et inductives qui prennent en charge l'intégration de nouveaux nœuds sans réentraîner l'ensemble du graphe. Ses capacités s'étendent à diverses applications, notamment les systèmes de recommandation, les graphes de connaissances, la résolution d'entités, la détection de fraude et la découverte de médicaments. L'efficacité du moteur est mise en évidence par des études de cas comme Zomato, qui a remplacé GraphSAGE par Cleora, réduisant le temps de génération des intégrations de 20 heures à moins de 5 minutes pour des millions d'utilisateurs.
Cleora fournit une suite complète d'outils, y compris des algorithmes alternatifs intégrés pour la comparaison, une riche suite d'évaluation pour l'évaluation de la qualité des intégrations, des capacités d'échantillonnage de graphes et de réglage des hyperparamètres. Il comprend également un outil CLI pour une intégration facile dans les pipelines de scripting et CI/CD. L'ensemble de la bibliothèque est open-source, libre d'utilisation, de modification et de déploiement, offrant une solution rentable par rapport aux alternatives basées sur GPU.
- CatégorieMachine learning et data science
- Modèle tarifaireOpen Source
- DéploiementUniquement CPU
- PlateformesWeb
Fonctionnalités principales de Cleora Graph Embedding Engine
Calcul déterministe d'intégration de graphes via des puissances de matrices clairsemées
Exécution uniquement sur CPU, aucun GPU requis
Gère nativement les hypergraphes hétérogènes avec des arêtes typées et multi-relationnelles
Élimine l'échantillonnage de marches aléatoires et l'entraînement par skip-gram
Atteint une grande précision sur des graphes réels
Significativement plus rapide que les méthodes basées sur GPU et sur échantillonnage
Dépendances minimales et petite taille d'installation (~5 Mo)
Prend en charge l'apprentissage inductif pour de nouveaux nœuds sans réentraînement
Inclut des algorithmes alternatifs intégrés pour la comparaison
Fournit une riche suite d'évaluation pour la qualité des intégrations
Offre un outil CLI pour l'intégration de scripts et CI/CD
Open-source et libre d'utilisation, de modification et de déploiement
Comment utiliser Cleora Graph Embedding Engine ?
Installation : pip install pycleora
Données d'entrée : Fournir des listes d'arêtes, des journaux d'interactions ou des triples de connaissances au format TSV.
Construction du graphe : Cleora construit un hypergraphe hétérogène à partir des données d'entrée.
Puissance matricielle : Calcule la matrice de transition clairsemée et ses puissances pour capturer les distributions de marches.
Génération d'intégrations : La propagation normalisée L2 génère des vecteurs d'intégration déterministes.
ML en aval : Utiliser les intégrations générées pour les recommandations, la classification, la recherche, etc.
Cas d'utilisation de Cleora Graph Embedding Engine
- Systèmes de recommandation
- Graphes de connaissances
- Résolution d'entités
- Détection de fraude
- Analyse de réseaux sociaux
- Découverte de médicaments
- Optimisation de la chaîne d'approvisionnement
- Segmentation client









