Nach den jüngsten Fortschritten in der künstlichen Intelligenz (KI) und insbesondere in den Bereichen Machine Learning (ML) und Deep Learning (DL) * sind verschiedene andere Bereiche der Informatik in einen Wettlauf geraten, um ihre bestehenden Methoden mit ML/DL zu „vermischen“. Es gibt zwei Möglichkeiten, eine solche Mischung zu ermöglichen: Entweder mithilfe von ML, um das Feld voranzubringen, oder mithilfe der in diesem Bereich entwickelten Methoden, um ML zu verbessern. Ein häufig verwendeter Slogan, wenn ML mit einem Bereich der Informatik kombiniert wird, lautet: ML für X oder X für ML, wobei X beispielsweise eine der {Datenbanken, Systeme, Argumentation, Semantic Web} sein kann.
In diesem Blogbeitrag konzentrieren wir uns auf Fälle, in denen X = Verwaltung großer Datenmengen. Wir haben bereits Arbeiten beobachtet an ML für Datenmanagement und weiter Datenmanagement für ML seit einigen Jahren. Beide Richtungen haben sowohl in der akademischen Welt große Auswirkungen, da spezielle neue Konferenzen ins Leben gerufen werden, als auch in der Branche, wo mehrere Unternehmen entweder daran arbeiten, ihre Technologie mit ML zu verbessern oder skalierbare und effiziente Lösungen für ML anzubieten.
Databloom.ai ist eines der ersten Unternehmen, das beide Richtungen in einem einzigen Produkt vereint. In Blossom, dem Produkt von Databloom, verwenden wir ML, um den Optimierer zu verbessern und so den Benutzern eine bessere Leistung zu bieten, aber wir nutzen auch bekannte Big-Data-Management-Techniken, um das föderierte Lernen zu beschleunigen. Databloom.ai ist das erste Unternehmen, das beide Richtungen in einem einzigen Produkt vereint.
ML für Datenmanagement
In einem früheren Blogbeitrag haben wir besprochen, wie wir ML in den Optimizer von Blossom integrieren wollen. Ein ML-Modell zur Vorhersage der Laufzeit eines Ausführungsplans kann mehrere Vorteile haben. Erstens kann die Systemleistung in die Höhe schnellen, da der Optimierer in der Lage ist, sehr effiziente Pläne zu finden. Zum Beispiel gibt ein ML-basierter Optimierer [1] für k-means sehr effiziente Pläne aus, indem er die richtige Plattformkombination findet und erreicht 7x bessere Laufzeit Leistung als ein hochoptimierter kostenbasierter Optimierer! Zweitens entfällt der schwierige Teil der manuellen Optimierung eines Kostenmodells in einem Optimierer. Mit den gerade gesammelten Trainingsdaten (Pläne und deren Laufzeit) können Sie ganz einfach ein ML-Modell trainieren.
Datenmanagement für ML
In einem früheren Blogbeitrag haben wir erörtert, wie Blossom, ein föderiertes Data Lakehouse-Analytics-Framework, eine effiziente Lösung für föderiertes Lernen nach den Prinzipien des Datenmanagements bieten kann. Um föderatives Lernen zu ermöglichen, arbeiten wir an einer Parameter-Serverarchitektur. Da Server mit einfachen Parametern jedoch aufgrund übermäßiger Netzwerkkommunikation (d. h. einer großen Anzahl von Nachrichten, die über das Netzwerk gesendet werden) sehr ineffizient sind, verwenden wir Datenverwaltungstechniken wie die Erhöhung der Lokalität, das Verbergen von Latenzen und das Ausnutzen von Massennachrichten. Die Datenbank-Community hat solche Optimierungen bereits ausgenutzt und gezeigt, dass sie zu folgenden Ergebnissen führen können mehr als eine Größenordnung schnellere Trainingszeiten.
Referenzen
[1] Zoi Kaoudi, Jorge-Arnulfo Quiané-Ruiz, Bertty Contreras-Rojas, Rodrigo Pardo-Meza, Anis Troudi, Sanjay Chawla: ML-basierte plattformübergreifende Abfrageoptimierung. ICDE 2020:1489-1500.
[2] Alexander Renz-Wieland, Rainer Gemulla, Zoi Kaoudi, Volker Markl: NuPS: Ein Parameterserver für maschinelles Lernen mit ungleichmäßigem Parameterzugriff. SIGMOD-Konferenz 2022:481-495.
* Wir verwenden den Begriff ML, um uns sowohl auf maschinelles Lernen als auch auf Deep Learning zu beziehen.
** Die in der Abbildung erscheinenden Symbole wurden von Creative Stall Premium - Flaticon erstellt
Über Scalytics
Apache Wayang: Das führende Java-basierte Federated Learning-Framework
Scalytics nutzt Apache Wayang als Basis, und wir sind stolz darauf, dieses Projekt zu fördern. Sie können das öffentliches GitHub-Repository hier einsehen. Wenn Ihnen unsere Software gefällt, zeigen Sie Ihre Wertschätzung und Unterstützung – ein Stern ⭐ würde uns viel bedeuten!
Wenn Sie professionelle Unterstützung von unserem Team von branchenführenden Experten benötigen, können Sie sich jederzeit an uns über Slack oder E-Mail wenden.