Interview mit Reynold Xin, Mitgründer und Chief Architect von Databricks

Machine Learning mit Apache Spark: „Ein maschinelles Lernmodell ist nur so gut wie sein Input!“

Gabriela Motroc
© Shutterstock.com / Konstantin Faraktinov

Zu Beginn des Jahres wurde Apache Spark 2.3 veröffentlicht und bildet einen bedeutenden Meilenstein für das Structured Streaming. Es gab allerdings noch viele weitere, interessante Features, die ebenso wichtig sind. Wir sprachen daher mit Reynold Xin, dem Mitgründer und Chief Architect von Databricks, über die Databricks Runtime und andere Verbesserungen in Apacke Spark 2.3.

JAXenter: Was steht als nächstes für Apache Spark an?

Reynold Xin: Wir verfolgen immer noch aktiv die innovative Entwicklung für Apache Spark mit dem Ziel, große Datenmengen und Künstliche Intelligenz auch für die breite Masse zu vereinheitlichen. Wir haben uns das Ziel gesetzt, Maschinelles Lernen und Deep Learning für Unternehmen zugänglicher zu machen, die sonst nicht dazu in der Lage wären. Diese Problematik im Hinblick auf den Zugang liegt oft daran, dass diesen Unternehmen das technische Wissen dafür fehlt. Mit unserer Hilfe leisten wir so auch einen Beitrag zur Apache Spark Community.

Das Ziel bleibt weiterhin, in einem kostengünstigen Verhältnis auf den einfachsten und schnellsten Open Source Streaming APIs aufzubauen.

Außerdem fließt eine ganze Menge Arbeit in die Unterstützung von Unternehmen, die mit Continous Processing durch strukturiertes Streaming arbeiten möchten – das ist ein hochgradig benutzerfreundliches Streaming API, für die Entwicklung kontinuierlicher Anwendungen mit einer Latenzzeit von Millisekunden. Das Ziel bleibt weiterhin, in einem kostengünstigen Verhältnis auf den einfachsten und schnellsten Open Source Streaming APIs aufzubauen.

Zu guter Letzt konzentrieren wir uns darauf, die Verwendung von Spark in Python und R zu vereinfachen, die Leistung zu verbessern und die Bereitstellung auf weiteren Plattformen wie Kubernetes, Apache Mesos oder verschiedenen Clouds zu erleichtern.

JAXenter: Die Databricks Runtime – auf Basis von Apache Spark – konzentriert sich auf die Vereinfachung großer Datenmengen und Künstlicher Intelligenz für Unternehmen. Wie sieht hier der Plan aus?

Reynold Xin: Die Databricks Unified Analytics Platform ist eine vollständig gemanagte Plattform, die große Datenmengen und KI vereint – und damit die operative Komplexität von Spark beseitigt. Das Herzstück der Databricks Unified Analytics Platform ist die Databricks Runtime.

Die Databricks Runtime verbessert Apache Spark um schneller, zuverlässiger und skalierbarer in der Cloud zu sein. Es beschleunigt die Leistung in mehrfacher Hinsicht:

  • Leistung
    Wir haben eine spezielle I/O-Ebene in Databricks Runtime, die für den einfachen und schnellen Zugriff auf Daten aus Cloud-Objektspeichern, wie Azure Blob Store und AWS S3, optimiert ist.
    Wir bieten automatisiertes Caching und Indizierung an, um die Abfragegeschwindigkeit massiv zu beschleunigen. Durch das TPC-DS-Benchmark konnten wir bis zu 5x mehr Leistung im Vergleich zu Vanilla Spark in der Cloud erzielen und haben bis zu 1200x Speed-ups bei den Workloads unserer Kunden beobachtet.
  • Zuverlässigkeit
    Wir können die Datenintegrität und Zuverlässigkeit mit Transaktionen für mehrere gleichzeitige Autoren von Batch- und Streaming-Aufträgen gewährleisten.
  • Skalierbarkeit
    Da die Databricks Runtime ursprünglich für die Cloud entwickelt wurde, können wir deren Vorteile und Skalierbarkeit nutzen.

Um den End-to-End-Prozess vollständig zu vereinheitlichen, bieten wir einen kollaborativen Workspace an, der mehrere Programmiersprachen (R, Scala, Python, SQL) unterstützt und integrierte Visualisierungen bietet. Auch Bibliotheken für das maschinelle Lernen und Deep Learning sowie Integrationen mit gängigen Frameworks (z.B. MLlib, TensorFlow) umfasst der Workspace. Diese vereinfachen die Datenverarbeitung und erleichtern das Erstellen, das Training und die Bereitstellung von Modellen in der Produktion. Mit dem kollaborativen Workspace ist es möglich, die Qualifikationslücken zu überbrücken, indem die Produktivität um das mehr als Fünffache erhört wird. Diese Steigerung wird dadurch erreicht, dass Datenwissenschaftlern mit unterschiedlichen Fähigkeiten Daten erforschen, gemeinsam mit anderen Datenteams und dem Unternehmen Modelle erstellen sowie trainieren können.

JAXenter: Wie will Databricks es leichter machen, Modelle für das maschinelle Lernen bereitzustellen?

Die Databricks Runtime verbessert Apache Spark um schneller, zuverlässiger und skalierbarer in der Cloud zu sein.

Reynold Xin: Indem Databricks einen kollaborativen Workspace anbietet, der über eine interaktive Notebook-Umgebung für Datenwissenschaftler verfügt. In ihr ist einfaches Erstellen, Trainieren und Bereitstellen von maschinellen Lernmodellen möglich – alles in einem einzigen Tool. Die Notebooks unterstützen zudem mehrere Programmiersprachen (R, Scala, Python und SQL), damit die Datenteams produktiver arbeiten können. Des Weiteren sind Bibliotheken für das maschinelle Lernen und Deep Learning in die Plattform integriert, damit der Modellierungsprozess erleichtert werden kann. Zu guter Letzt können Modelle und ganze maschinelle Lernpipelines mithilfe einer Modell-Exportfunktion aus Spark MLlib exportiert werden. Diese exportierten Modelle und Pipelines können dann wiederum in andere Spark-(und Nicht-Spark)-Plattformen importiert werden, um Scoring zu betreiben und Vorhersagen zu machen. Mit dieser Funktion ist es Unternehmen möglich, leichtgewichtige Anwendungen mit geringen Latenzzeiten und maschineller Lernfähigkeit zu entwickeln.

JAXenter: Runtime 4.0 ist doppelt so schnell wie der Vorgänger. Wie haben Sie das geschafft? Was steckt unter der Haube von Runtime 4.0?

Reynold Xin: Wir haben eine Reihe von Optimierungen in DBR 4.0 vorgenommen, aber die einschlägigste ist das Databricks Caching. Das Databricks Caching in Version 4.0 der Runtime speichert automatisch den Hot-Input und die Lastverteilung für einen Benutzer über Cluster hinweg. Es macht sich dabei den Fortschritt der NVMe SSD Hardware zunutze, deren Säulenkomprimierung auf dem neusten Stand der Technik ist und kann damit die Leistung von interaktiven und berichtenden Workloads erheblich verbessern. Es kann 30-mal mehr Daten zwischenspeichern als Sparks In-Memory-Cache. Zusammen mit den weiteren Leistungsverbesserungen ist Databricks Runtime 4.0 doppelt so schnell, wie Databricks Runtime 3.0 im Industriestandard TPC-DS Benchmark.

JAXenter: Sowohl Spark 2.3 als auch Databricks Runtime 4.0 kamen mit mehreren neuen Features. Wie können diese Neuerungen Big Data und Machine Learning vereinen?

Reynold Xin: In den durch Spark 2.3 eingeführten Verbesserungen wird besonderer Wert auf Usability, Stabilität und Optimierung gelegt (Spark 2.3 wird übrigens bereits von Databricks Runtime 4.0 unterstützt). Diese drei Punkte sind für Data Engineers von entscheidender Wichtigkeit, wenn es darum geht, verbreitete und für ML-Anwendungen unerlässliche Big-Data-Herausforderungen zu bewältigen und dadurch performante und zuverlässige Datenpipelines aufzubauen. Aber warum ist es so entscheidend, sich noch vor Machine Learning Use Cases, mit den jeweiligen Big-Data-Herausforderungen zu beschäftigen? In einfachen Worten ist jedes Machine-Learning-Modell nur so gut, wie die ihm verfütterten Daten. Diese Daten müssen, noch bevor sie in das Modell übernommen werden, effizient und zuverlässig aufbereitet werden. Ohne die passenden Daten wird das Modell unbrauchbar.

Ferner gibt es neue Features wie bspw. Stream-to-Stream-Joins, die Unternehmen dabei helfen Continuous Applications zu bauen. Die Ausdehnung neuer Funktionalitäten auf SparkR, Python, MLlib und GraphX wird es Datenwissenschaftlern zusätzlich erleichtern, ML-Modelle zu bauen und zu deployen. Unser Ziel ist es, Unternehmen dabei zu unterstützen, Big Data und ML zusammenzuführen und somit die KI-Entwicklung zu fördern.

Zu guter Letzt sorgt unser neues Pandas UDF für verbesserte Performance und Usability von „user-defined functions“ (UDFs) in Python. Dadurch entsteht eine zentrale Möglichkeit, ML-Frameworks in Python mit Spark zu verknüpfen und somit letztlich Big Data und KI zu vereinen.

Vielen Dank!

Reynold S. Xin is a co-founder and Chief Architect at Databricks, where he builds cloud computing infrastructure and systems for Big Data and AI.
 
 
 
Geschrieben von
Gabriela Motroc
Gabriela Motroc
Gabriela Motroc ist Online-Redakteurin für JAXenter.com. Vor S&S Media studierte Sie International Communication Management an der The Hague University of Applied Sciences.
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: