Euclide et Hana


SAP TechEd 2023, Bangalore, Inde
Au début du TechEd 2023, le directeur technique de SAP, Jürgen Müller, a déclaré qu'il était heureux d'annoncer une extension importante, voire la plus importante, de la plate-forme de base de données Hana. Le suspense était lancé : pour le TechEd, une sensation Hana au-delà des Large Language Models (LLM), qui n'utilisent que des algorithmes d'apprentissage en profondeur pour résumer et ordonner de grandes quantités de données ou pour générer des prédictions à partir de celles-ci.
Lors du TechEd 2023 à Bangalore, Jürgen Müller a fait valoir, non sans raison, que les grands modèles linguistiques ne peuvent généralement saisir que le passé. Ils sont entraînés à l'aide de données existantes, généralement extraites d'Internet. Une réponse immédiate en temps réel basée sur des données opérationnelles est difficile. Depuis de nombreuses années, la base de données SAP Hana est responsable des résultats en temps réel - désormais avec des vecteurs !
Vecteurs
Selon Jürgen Müller, directeur technique de SAP, la prétendue sensation de Hana est la capacité d'utiliser des vecteurs comme objets sur la plate-forme de base de données. Dans les mathématiques euclidiennes traditionnelles, les vecteurs ne sont vraiment pas une sensation. Avec les outils informatiques existants de la plate-forme de base de données Hana, n'importe quel étudiant en informatique de premier cycle peut implémenter quelques fonctions vectorielles simples. Ce à quoi Jürgen Müller faisait peut-être allusion, c'est à une extension du langage SQL-DB par quelques commandes vectorielles.
Qu'est-ce qu'un vecteur ? Dans un système de coordonnées avec un axe x et un axe y, on peut choisir deux points quelconques, relier ces points par la droite la plus courte possible et ajouter une flèche à la fin, on a alors devant soi sur le papier un graphique orienté ou un vecteur dans l'espace bidimensionnel. Il est également facile d'imaginer un vecteur dans un espace tridimensionnel (axes x, y et z), par exemple un crayon posé sur une table. L'extrémité et la pointe du crayon peuvent être définies avec précision comme des points dans l'espace. Le crayon serait donc le vecteur.
On passe maintenant à des dimensions supérieures qui sont difficilement imaginables visuellement (un cube à quatre dimensions aurait par exemple une ombre à trois dimensions), mais il est tout de même facile de calculer avec des dimensions supérieures - même en tant que calcul mental, ce qui est d'ailleurs à prouver avec ce blog du rédacteur en chef.
De nombreux paramètres, de nombreuses dimensions
Problématique : clusteriser un million d'offres en fonction des groupes de clients, du taux d'utilisation des machines, du chiffre d'affaires, etc., c'est-à-dire les rassembler en groupes qui présentent des similitudes. Chaque offre dispose de paramètres spécifiques qui sont facilement identifiables. Le statut du client peut être déduit de son nom. Les mauvais clients se voient attribuer la valeur zéro, les bons clients la valeur neuf. Les petites offres de moins de 1 000 euros ont une valeur de un, les grandes offres de plus d'un million d'euros ont une valeur de 25 et toutes les autres ont une gradation fixe entre un et vingt-cinq. On procède de la même manière pour les marchandises proposées : Marchandise en stock, fabrication à l'unité, etc. Et ainsi de suite : à la fin de ce processus, il y a dix catégories et chaque offre a une valeur par catégorie. Ces dix valeurs peuvent également être interprétées comme un vecteur (le point de départ est le point zéro) dans un espace à dix dimensions et être écrites comme suit : (5, 9, 3, 7, 11, 2, 42, 15, 6, 102).
Distance euclidienne
Pour chaque offre, il existe maintenant un vecteur dans l'espace à dix dimensions. Il s'agit maintenant de regrouper ces offres en vue d'éventuelles mesures de marketing, de chiffres d'affaires attendus ou de commandes anticipées de matières premières. L'astuce du regroupement, c'est-à-dire le processus permettant de former des groupes, consiste à déterminer les distances (distance) des différents vecteurs dans l'espace à dix dimensions.
Les distances entre les crayons posés sur la table de bureau dans l'espace tridimensionnel sont simples à déterminer. On mesure la distance avec une règle. Tous les crayons qui se trouvent à moins de dix centimètres les uns des autres appartiennent à un groupe, tous les autres à un groupe suivant. (J'entends une contradiction justifiée : le clustering est un peu plus complexe, mais le principe vectoriel, tel que l'a présenté Jürgen Müller, directeur technique de SAP, reste très simple).
Chaque vecteur d'offre a pour extrémité un point de données dans l'espace à dix dimensions (voir ci-dessus les dix nombres). Les distances euclidiennes sont utilisées, entre autres, comme mesures de distance ou de similitude pour mesurer la similitude ou la dissemblance de ces points de données. Comment calculer la distance des deux points de données entre l'exemple de vecteur mentionné (5, 9, 3, 7, 11, 2, 42, 15, 6, 102) et une deuxième offre ayant approximativement le vecteur (7, 2, 5, 13, 25, 9, 1, 132, 55, 8) ?
La première étape consiste à calculer la différence respective des points de données : Première valeur du premier vecteur d'offre moins la première valeur du deuxième vecteur, soit : 5 moins 7, 9 moins 2, 3 moins 5, etc. Ces résultats sont élevés au carré et additionnés : -2 au carré est égal à 4, 7 au carré est égal à 49, etc. De la somme des dix nombres au carré (4 plus 49 plus 4 plus 36, etc.), on tire la racine, ce résultat est la distance euclidienne ! Eurêka !
Il existe donc des relations mathématiquement définies entre les un million d'offres. Ces distances euclidiennes peuvent maintenant être utilisées comme mesures de similitude pour le regroupement. Il est ainsi possible de réaliser d'excellentes cartes dont les zones (clusters) fournissent des informations immédiates sur les préférences, les similitudes et les tendances. Il y a une dizaine d'années, la maison d'édition E3 a réalisé une telle carte Hana en collaboration avec le professeur Alfred Taudes de l'université d'économie de Vienne, sur la base d'une enquête menée au sein de la communauté SAP. (Ce qui était à l'époque les résultats de l'enquête sont dans cet exemple le million d'offres).
Les cartes ne sont pas des IA
Ce que le directeur technique de SAP, Jürgen Müller, a présenté à Bangalore lors du TechEd 2023 est d'une très grande importance pratique. De nombreux clients existants de Hana apprécieront l'extension du langage à des dimensions supérieures. Néanmoins, ce qui a été présenté est des mathématiques très traditionnelles et très connues. Présenter la distance euclidienne comme une étape importante du développement de Hana est étrange.
Complément : Outre la distance euclidienne, il existe une deuxième unité de mesure. La métrique de Manhattan est une mesure de proximité, c'est-à-dire également une mesure de la proximité ou de la distance pour des variables métriques telles que la taille, l'âge ou le poids. La métrique de Manhattan mesure les distances sous forme de distances à angle droit, comme lorsque l'on parcourt un système de rues ou que l'on prend un taxi. En revanche, la distance euclidienne mesure la distance directe, la plus courte, en diagonale (à vol d'oiseau). Les deux méthodes peuvent être utilisées pour générer des clusters pour une carte de l'offre. Source