Data Science: Apache SystemDS 3.0 erhält ein Backend für Multi-Tenancy

Das neue Release der Data-Science-Software SystemDS führt ein Federated Backend für Mehrmandantenfähigkeit ein und vollzieht das Update auf Java 11 und Spark 3.

In Pocket speichern vorlesen Druckansicht
Apache Spark 3.0 liefert erweiterte SQL-Funktionen und ein Update der Python-API

(Bild: Maxger/Shutterstock.com)

Lesezeit: 3 Min.
Von
  • Matthias Parbel

Die Apache Software Foundation (ASF) hat ein neues Major Release von Apache SystemDS vorgelegt. Version 3.0.0 der Open-Source-Software für Machine Learning und Data Science bietet eine Reihe von Verbesserungen und führt einige neue Funktionen ein, darunter ein Federated Backend, über das sich Mehrmandantenfähigkeit umsetzen lässt.

Das auf die Zusammenarbeit mit dem Big-Data-Framework Apache Spark ausgelegte SystemDS vollzieht nun auch die Anpassung an Spark 3.0 und liefert ein Update auf Java 11. Die vermutlich wichtigste Neuerung im Major Release dürften die Optionen für Mehrmandantenfähigkeit sein. Dazu hat das Entwicklerteam SystemDS 3.0.0 um ein Federated Backend erweitert, das Support für Multi-Tenancy bietet, sodass sich unterschiedliche Mandanten voneinander isolieren lassen. SystemDS-Nutzerinnen und -Nutzer sollen zudem von höherer Leistung und Stabilität profitieren – unter anderem durch Kompression der Workloads im Verbund sowie den Einsatz eines kostenbasierten Planers.

Data Scientists erhalten mit dem neuen Release nun vollen Zugriff auf sämtliche Funktionen des Cleaning-Frameworks Top-K, mit dem sich automatisiert Datenbereinigungs-Pipelines auf Basis des top-k-Algorithmus erstellen lassen. Das Entwicklerteam stellt in SystemDS 3.0.0 zudem erstmals einen neuen Unified Memory Manager bereit, der sich zumindest eingeschränkt nutzen lässt. Leistungsorientierte Verbesserungen betreffen unter anderem Compressed Linear Algebra und die multi-threaded Feature-Transformationen. Einen Überblick aller Änderungen bieten die Release Notes zu SystemDS 3.0.0 sowie das Changelog auf der Projektseite auf GitHub.

Das Projekt geht zurück auf das ursprünglich von IBM entwickelte SystemML, das die Sprache DML (Declarative Machine Learning) bot, mit der sich Algorithmen in einer R- oder Python-ähnlichen Syntax schreiben ließen. SystemML setzte zudem eine MapReduce- oder Spark-Umgebung voraus. Das mit Googles TensorFlow vergleichbare System für maschinelles Lernen hatte IBM als Unterstützer der Spark-Community schon 2015 zunächst als Open Source freigegeben und später dann offiziell an die ASF übertragen. In nur anderthalb Jahren vollzog SystemML bei der ASF den Sprung von der Bewährungsphase im Inkubator zum Top-Level-Projekt.

Seither wurde das System von der Community kontinuierlich weiterentwickelt und hat dabei den Schritt vom reinen Machine Learning hin zu einer Software für den kompletten Data-Science-Lifecycle vollzogen, der sich auch in der Umbenennung von SystemML in SystemDS seit Version 2.x widerspiegeln soll. Mit verschiedenen deklarativen Sprachen, deren Syntax sich an R anlehnt, können ML-Fachleute und Data Scientists ihre Skripte und Pipelines für sämtliche Arbeitsschritte von der Datenintegration und -bereinigung, das Feature-Engineering und ML-Modelltraining bis hin zu Bereitstellung erstellen. Diese lassen sich anschließend über Apache Spark ausführen – beispielsweise in den Modi Spark MLContext und Spark Batch.

Als zugrunde liegendes Datenmodell baut SystemDS auf DataTensors. Dabei handelt es sich um Tensoren (mehrdimensionale Arrays), deren erste Dimension ein heterogenes und verschachteltes Schema haben kann. SystemDS will sich dadurch von vergleichbaren ML-Systemen abgrenzen, die auf homogene Tensoren oder 2D-Datensätze begrenzt sind.

(map)