Euclides y Hana
SAP TechEd 2023, Bangalore, India
Zu Beginn der TechEd 2023 erklärte SAP-Technikvorstand Jürgen Müller, dass er glücklich sei, nun eine wesentliche Erweiterung, wenn nicht sogar die bedeutendste, für die Datenbankplattform Hana anzukündigen. Der Spannungsbogen war gesetzt: zur TechEd eine Hana-Sensation jenseits von Large Language Models (LLMs), die lediglich Deep-Learning-Algorithmen nutzen, um große Datenmengen zusammenzufassen, zu ordnen oder daraus Vorhersagen zu generieren.
Jürgen Müller argumentierte auf der TechEd 2023 in Bangalore nicht unrichtig: Large Language Models können meistens nur die Vergangenheit erfassen. Sie werden mittels existierender, meist aus dem Internet extrahierter Daten trainiert. Eine unmittelbare Antwort in Echtzeit basierend auf operativen Daten ist schwierig. Für Ergebnisse in Echtzeit ist seit vielen Jahren die SAP-Datenbank Hana verantwortlich – jetzt mit Vektoren!
Vectores
Die vermeintliche Hana-Sensation ist nun nach SAP-Technikvorstand Jürgen Müller die Fähigkeit, Vektoren als Objekte auf der Datenbankplattform zu verwenden. In der traditionellen euklidischen Mathematik sind nun Vektoren wahrlich keine Sensation. Mit den existierenden IT-Werkzeugen der Hana-Datenbankplattform kann jeder Informatikstudent aus dem ersten Semester ein paar einfache Vektorfunktionen implementieren. Was Jürgen Müller eventuell meinte, ist eine SQL-DB-Spracherweiterung um ein paar Vektorbefehle.
Was ist ein Vektor? In einem Koordinatensystem mit einer x- und y-Achse können zwei beliebige Punkte gewählt werden, werden diese Punkte durch die kürzestmögliche Gerade verbunden und am Ende wird noch ein Pfeil hinzugefügt, dann liegt vor einem am Papier ein gerichteter Graph oder Vektor im zweidimensionalen Raum. Einfach vorstellbar ist auch ein Vektor im dreidimensionalen Raum (x-, y- und z-Achse), z. B. ein Bleistift, der auf einem Tisch liegt. Bleistiftende und Spitze lassen sich als Punkte im Raum genau bestimmen. Der Bleistift wäre demnach der Vektor.
Nun geht es in höhere Dimensionen, die nur noch schwer visuell vorstellbar sind (ein vierdimensionaler Würfel hätte beispielsweise einen dreidimensionalen Schatten), aber mit höheren Dimensionen lässt sich dennoch leicht rechnen – auch als Kopfrechnung, was ja mit diesem Chefredakteurs-Blog zu beweisen ist.
Muchos parámetros, muchas dimensiones
Aufgabenstellung: eine Million Angebote nach Kundengruppen, Maschinenauslastung, Umsatz etc. zu clustern, also in Gruppen zusammenzufassen, die Ähnlichkeiten besitzen. Jedes Angebot verfügt über spezifische Parameter, die leicht feststellbar sind. Aus dem Kundennamen kann der Status des Kunden abgeleitet werden. Schlechte Kunden bekommen den Wert null, gute Kunden den Wert neun. Kleine Angebote unter 1000 Euro bekommen den Wert eins, große Angebote über eine Million Euro den Wert 25 und alle anderen eine festgelegte Abstufung zwischen eins und 25. Ähnlich wird mit der angebotenen Ware verfahren: Lagerware, Einzelstückfertigung etc. Und so weiter und so fort: Am Ende dieses Prozesses gibt es zehn Kategorien und jedes Angebot hat einen Wert pro Kategorie. Diese zehn Werte können auch als Vektor (Ausgangspunkt ist die Nullstelle) in einem zehndimensionalen Raum interpretiert werden und folgend aufgeschrieben werden: (5, 9, 3, 7, 11, 2, 42, 15, 6, 102).
Distancia euclidiana
Zu jedem Angebot existiert nun ein Vektor im zehndimensionalen Raum. Nun gilt es diese Angebote in Gruppen zusammenzufassen für mögliche Marketingmaßnahmen, zu erwartende Umsätze oder zur vorausschauenden Rohstoffbestellung. Der Trick des Clusterns, also der Prozess, um Gruppen zu bilden, besteht in der Bestimmung der Abstände (Distanz) der unterschiedlichen Vektoren im zehndimensionalen Raum.
Die Abstände von Bleistiften, die auf dem Bürotisch im dreidimensionalen Raum liegen, sind simpel zu bestimmen. Mit einem Lineal misst man die Entfernung. Alle Bleistifte, die voneinander weniger als zehn Zentimeter entfernt sind, gehören zu einer Gruppe, alle anderen zu einer nächsten Gruppe. (Ich höre berechtigten Widerspruch: Das Clustern ist ein wenig komplexer, das Vektorprinzip, wie es SAP-Technikvorstand Jürgen Müller präsentierte, aber bleibt sehr einfach.)
Jeder Angebotsvektor hat als Ende einen Datenpunkt im zehndimensionalen Raum (siehe oben die zehn Zahlen). Euklidische Abstände werden unter anderem als Abstands- bzw. Ähnlichkeitsmaße verwendet, um zu messen, wie ähnlich oder unähnlich diese Datenpunkte sind. Wie berechnet sich nun aber der Abstand der zwei Datenpunkte zwischen dem erwähnten Beispielvektor (5, 9, 3, 7, 11, 2, 42, 15, 6, 102) und einem zweiten Angebot mit etwa dem Vektor (7, 2, 5, 13, 25, 9, 1, 132, 55, 8)?
Im ersten Schritt wird die jeweilige Differenz der Datenpunkte berechnet: Erster Wert aus dem ersten Angebotsvektor minus den ersten Wert aus dem zweiten Vektor, also: 5 minus 7, 9 minus 2, 3 minus 5 usw. Diese Ergebnisse werden quadriert und summiert: –2 zum Quadrat ist 4, 7 zum Quadrat ist 49 usw. Aus der Summe der zehn Quadratzahlen (4 plus 49 plus 4 plus 36 etc.) zieht man die Wurzel, dieses Ergebnis ist die euklidische Distanz! Eureka!
Damit gibt es mathematisch eindeutig bestimmte Beziehungen zwischen den eine Million Angeboten. Diese euklidischen Abstände können nun als Ähnlichkeitsmaße zum Clustern verwendet werden. Es lassen sich damit ganz hervorragend Landkarten anfertigen, deren Gebiete (Cluster) unmittelbar Auskunft über Präferenzen, Ähnlichkeiten und Trends geben. Vor etwa zehn Jahren hat der E3-Verlag gemeinsam mit Professor Alfred Taudes von der Wirtschaftsuniversität Wien eine solche Hana-Landkarte auf Basis einer Umfrage in der SAP-Community erstellt. (Was damals die Umfrageergebnisse waren, sind in diesem Beispiel die eine Million Angebote.)
Los mapas no son IA
Was SAP-Technikvorstand Jürgen Müller in Bangalore auf der TechEd 2023 vorgestellt hat, ist von sehr hoher praktischer Bedeutung. Viele Hana-Bestandskunden werden die Spracherweiterung in höhere Dimensionen sehr schätzen. Dennoch ist das Präsentierte sehr traditionelle und sehr bekannte Mathematik. Die euklidische Distanz als Meilenstein der Hana-Entwicklung darzustellen ist merkwürdig.
Ergänzung: Neben der euklidischen Distanz gibt es noch eine zweite Maßeinheit. Die Manhattan-Metrik ist ein Proximitätsmaß, also ebenfalls ein Maß für die Nähe bzw. Distanz oder Entfernung für metrische Variablen wie etwa die Körpergröße, das Alter oder das Gewicht. Die Manhattan-Metrik misst Distanzen als rechtwinklige Entfernungen; wie wenn man ein Straßensystem abläuft oder im Taxi abfährt. Im Gegensatz dazu misst die euklidische Distanz die direkte, kürzeste, diagonale Distanz (Luftlinie per Flugzeug). Zur Erzeugung von Clustern für eine Angebotslandkarte können beide Verfahren herangezogen werden. (Fuente)