Machine Learning auf AWS bringt Datenanalysen ins Fußballspiel - Teil 2

Die Technologie hinter Bundesliga Match Facts xGoals
Keine Kommentare

Die für die Organisation und das Marketing der 1. und 2. Fußball-Bundesliga verantwortliche Deutsche Fußball Liga (DFL) will ihren Zuschauern und Fans neue, innovative Inhalte bieten. Ein Paradebeispiel hierfür ist die ML-basierte Berechnung der Wahrscheinlichkeit eines Torerfolgs mittels xGoals, eines der Bundesliga Match Facts powered by AWS. Nachdem der erste Teil die Grundlagen des Statistikangebots behandelt hat, wird im Folgenden die zugrundeliegende Cloud-Infrastruktur betrachtet.

Trainieren des xGoals Machine Learning-Modells mit Amazon SageMaker

Die traditionellen Elemente der xGoals ML-Modelle basieren ausschließlich auf Ereignisdaten: Nur die manuell bestimmte, näherungsweise Position des Schützen und dessen Entfernung zum Tor werden berücksichtigt, um die Erfolgschancen zu bewerten. Für die Bundesliga werden diese Ereignisse aber mit zusätzlichen, hochpräzise mit einer 25-Hertz-Bildrate erfassten Positionsdaten kombiniert. Das bedeutet zwar zusätzlichen Verarbeitungsaufwand in der Analyse-Pipeline sowie Datenvorverarbeitung; der Vorteil der höheren Qualität der Endergebnisse überwiegt aber den notwendigen einmaligen Entwicklungsaufwand und die damit einhergehende größere Komplexität des Gesamtsystems.

Durch das kontinuierliche Verfolgen von Spielern und Ball kann das ML-Modell ein Bündel zusätzlicher, für die Wahrscheinlichkeit des Torerfolgs relevanter Eigenschaften mit einbeziehen – etwa die Entfernung und den Winkel des Schützen zum Ziel, seine aktuelle Laufgeschwindigkeit, die Zahl der Verteidiger in der Schusslinie sowie die Abdeckung des Tors durch den Torwart.

Für xGoals wurde der Amazon SageMaker XGBoost-Algorithmus an über 40.000 Bundesliga-Torschüssen seit 2017 trainiert. Dazu lassen sich entweder das Standard-Trainingsskript (XGBoost als eingebauter Algorithmus) oder Skripte für zusätzliche Vor- und Nachverarbeitung (XGBoost als Framework) verwenden. Das Amazon SageMaker Python SDK erleichtert das automatische Ausführen und Skalieren von ML-Modell-Trainings im Programmcode. Außerdem werden so die für eine automatische Optimierung der XGBoost-Hyperparameter nötigen Cloud-Ressourcen automatisiert bereitgestellt. Bei der Entwicklung empfiehlt es sich, mit einer kleinen Teilmenge der verfügbaren Daten zu beginnen, um die Modelle schneller zu erproben. Zudem werden so schrittweise komplexere, anhand des vollständigen Datensatzes trainierte ML-Modelle entwickelt und optimiert.

Ein xGoals-Trainingsjob besteht aus einer binären Klassifikationsaufgabe mit Area Under the ROC Curve (AUC) als Performance-Metrik sowie aus einem ungleichmäßig verteilten Datensatz erfolgreich verwandelter und nicht-erfolgreicher Torschüsse.

Verschiedene ML-Modell-Kandidaten werden mittels eines bayesianischen Suchalgorithmus zur Optimierung von Hyperparametern ermittelt. Das beste Ergebnis wird dann in das Bundesliga-Match-Facts-System integriert, indem das ML-Modell auf einem Amazon SageMaker-Endpunkt eingerichtet wird. Der Endpunkt kann aus Anwendungen heraus via AWS Lambda-Funktionen oder innerhalb eines Amazon SageMaker Notebooks mittels API für Echtzeit-Interferenz aufgerufen werden.

Das Trainieren des ML-Modells mit Amazon SageMaker genügt aber nicht: Ebenso kommt es auf andere Komponenten der Cloud-Infrastruktur an, die zur Verwirklichung einer voll ausgereiften ML-Pipeline im Produktivbetrieb benötigt werden. Dazu gehören die Integration, das Bereinigen und das Vorverarbeiten von Daten. Hinzu kommen noch andere anwendungsspezifische Cloud-Komponenten, die es ebenfalls in das Gesamtsystem zu integrieren gilt.

Gesamtarchitektur von xGoals

Vor dem Entwurf der Anwendungsarchitektur entwickelte das Bundesliga Match Facts Team eine Pipeline für die kontinuierliche Integration und Delivery/Deployment (CI/CD). Im Einklang mit dem AWS-Leitfaden für gute Praxis bei der Konzeption und Implementierung von Cloud-Architekturen werden mehrere unabhängige AWS-Konten eingesetzt; jeweils für Development/Staging/Production. Für die Bereitstellung von Cloud-Komponenten wird ein Infrastructure-as-Code (IaC)-Ansatz verfolgt, um eine getrennte, reproduzierbare und versionierte Cloud-Infrastruktur bei anwendungsspezifischen Code-Änderungen sicherzustellen. Dies erleichtert das Testen des Gesamtsystems und verkürzt Entwicklungs- und Veröffentlichungszyklen. Nachdem die Cloud-Entwicklungsumgebung zur Verfügung stand, begann das Team mit dem Entwurf der Applikationsarchitektur.

Die Daten werden über zwei verschiedene Wege eingespeist: Die serverlose Datenverarbeitungseinheit für Container AWS Fargate empfängt die Informationen zu Positionen und Ereignissen, Amazon API Gateway zusätzliche Metadaten wie die Mannschaftsaufstellung und Spielernamen. Die einkommenden Daten lösen Lambda-Funktionen aus, welche kurzlebige und einmalige Aufgaben ausführen, wie etwa der automatische Abbau nicht mehr genutzter Ressourcen. Ebenso übernehmen sie die teilweise Vorverarbeitung von Daten, d. h. einfache ETL-Jobs zum Extrahieren, Transformieren und Laden von Daten sowie verschiedene automatische Überprüfungen zur Qualitätssicherung beim Konsumieren neuer Daten. AWS Lambda wird zudem dafür genutzt, den Amazon SageMaker-Endpunkt und die xGoals-Berechnungsroutinen einzuleiten.

Die Informationen zu Bundesliga Match Facts werden in Datenbanken gespeichert: Amazon DynamoDB, eine Schlüssel-Werte-Datenbank sowie die MongoDB-kompatible Dokumentendatenbank Amazon DocumentDB. Letztere erleichtert die Abfrage und Indexierung der Positions- und Ereignisdaten im JSON-Format mit verschachtelter Datenstruktur. Damit eignet sie sich insbesondere für Anwendungsfälle, die flexible Schemata für eine schnelle und iterative Entwicklung erfordern. Offizielle Spieldaten werden im Amazon Simple Storage Service (Amazon S3) zentral gespeichert. Darin befinden sich die Daten zu allen historischen Spieltagen, die für die iterative Verbesserung des xGoals-Modells genutzt werden.

Eine AWS Amplify Web-Applikation wird für die Überwachung der Anwendung genutzt. Techniker und Management erhalten so einen Überblick über den aktuellen Zustand des Systems beziehungsweise den Status der Bundesliga-Match-Facts-Berechnungen und der zugrundeliegenden Cloud-Infrastruktur. Derartige Informationen werden anwenderfreundlich in einem Dashboard präsentiert. Die Analyse wird für die rückblickende Bewertung nach einem Fußballspiel herangezogen und ermöglicht so kontinuierliche Verbesserungen am laufenden System. Das Dashboard sammelt auch Metriken zur Evaluation gewünschter Geschäftsziele. Die kontinuierliche Überwachung relevanter Leistungsindikatoren wie Gesamtbelastung und Leistung des Systems, Ende-zu-Ende-Latenz und andere nichtfunktionale Anforderungen bieten eine Übersicht über das Gesamtsystem – unter geschäftlichen wie technischen Gesichtspunkten.

Die xGoals-Architektur verbessert die Skalierbarkeit und Einfachheit der Entwicklung und Handhabung der Anwendung. Die vollständig verwalteten Amazon-Dienste ersparen der IT-Abteilung den Aufwand, Server oder andere grundlegende Infrastruktur-Komponenten zu betreiben und zu warten. Zudem erlaubt es die Bundesliga-Match-Facts-Architektur, die erhöhte Nachfrage nach Rechenleistung bei Spielbeginn dynamisch zu unterstützen und die nach Abpfiff nicht mehr notwendigen Ressourcen automatisch wieder freizugeben. Das sorgt für geringere Betriebskosten und vermeidet Überkapazitäten.

Zusammenfassung

Die Deutsche Fußball Liga (DFL) und Amazon Web Services (AWS) als offizieller Technologieausrüster haben für Fans und Medien in über 200 Ländern fortschrittliche Analysemöglichkeiten entwickelt: Bundesliga Match Facts helfen Zuschauern, die Strategie hinter den Entscheidungen auf dem Platz besser zu verstehen. xGoals quantifiziert die Wahrscheinlichkeiten eines Torerfolgs anhand einer Reihe von Faktoren. In der Gesamtschau können die Zuschauer so die Leistungen von Torschützen und Torhütern bewerten. Zudem misst das Angebot objektiv, ob das Endergebnis den Spielverlauf fair und angemessen widerspiegelt.

In enger Zusammenarbeit mit der DFL und deren Tochterunternehmen Sportec Solutions sorgt AWS Professional Services dafür, Abläufe digital zu transformieren, das Erreichen von Geschäftsergebnissen zu beschleunigen und Innovationen voranzutreiben. In den nächsten Spielsaisons wird die DFL weitere Bundesliga-Match-Facts-Angebote einführen.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Abonnieren
Benachrichtige mich bei
guest
0 Comments
Inline Feedbacks
View all comments
X
- Gib Deinen Standort ein -
- or -