PaMeLA: Parallelization of Machine Learning Algorithms
Machine Learning ist ein Forschungsgebiet mit hoher Relevanz für viele Anwendungen in verschiedenen Bereichen. Heutzutage ist es möglich, mit vergleichsweise geringen Kosten jederzeit große Datenmengen zu sammeln. Während diese Datenverfügbarkeit für die Entwicklung komplexer Modelle genutzt werden könnte, wird ihre Implementierung oft aufgrund von mangelnder Rechenleistung eingeschränkt. Um Performance-Probleme zu überwinden, haben Entwickler mehrere Möglichkeiten, wie z.B. die Verbesserung ihrer Hardware, die Optimierung ihres Codes oder die Verwendung von Parallelisierungstechniken wie dem MapReduce-Framework. Diese Optionen können aber zu kostenintensiv, nicht geeignet oder sogar zu zeitaufwendig sein.
Unter der Prämisse, dass Entwickler in der Regel keine SQL-Experten sind, möchten wir in diesem Beitrag einen anderen Ansatz diskutieren: die Verwendung transparenter Datenbankunterstützung für Big Data Analytics. Unser Ziel ist es, Machine-Learning-Algorithmen automatisch in parallele SQL-Datenbanksysteme zu transformieren.
- In einem ersten Schritt werden Machine-Learning-Algorithmen „SQL-ifiziert“, d.h., in eine Folge von SQL-Anweisungen umgewandelt. Als erstes Beispiel haben wir in PaMeLA ein Hidden-Markov-Modell, das in der Analysesprache R angegeben ist, in eine Folge von SQL-Anweisungen umgewandelt. Diese SQL-Anweisungen werden die Grundlage für eine (interoperator- und intraoperator-) parallele Ausführung auf parallelen DBMS als zweiten Schritt.
- In diesem zweiten Schritt parallelisieren wir die entstandenen SQL-Anweisungen. So werden etwa Verfahren angegeben, wie man Matrixoperationen auf parallelen relationalen Datenbanksystemen mit SQL effizient berechnen kann. Wir konzentrieren uns dabei auf die Grundoperationen der linearen Algebra, die für das maschinelle Lernen unerlässlich sind. Diese Grundoperationen sind meist in zwei Unterkategorien unterteilt, die sich mit dichtbesetzten bzw. dünnbesetzten Matrizen befassen. Diese Unterteilung ist entscheidend, um festzustellen, welche Arten von Problemen auf parallelen Datenbanksystemen im Vergleich zu hoch spezialisierten Lineare-Algebra-Bibliotheken effizient berechnet werden können.
Eine Anwendung des Grundlagenforschungs-Projektes PaMeLA wird mit PaMeLA-Automotive hier beschrieben.