Data Science: Ray 1.5 führt neues Datenaustauschformat Ray Datasets ein

In Machine-Learning-Projekten ermöglicht das Framework für verteiltes Rechnen nun auch fehlertolerantes Multi-Node- und Multi-GPU-Training mit LightGBM.

In Pocket speichern vorlesen Druckansicht

(Bild: TierneyMJ / Shutterstock.com)

Lesezeit: 3 Min.
Von
  • Matthias Parbel

Ray, das am Artificial Intelligence Research Lab der Universität Berkeley entwickelte Open-Source-Framework für Distributed Computing, liegt neu in Version 1.5 vor. Zu den wesentlichen Neuerungen im Release zählen Ray Datasets, ein Datenaustauschformat, das Data Scientists vor allem das Parallelisieren der Datenerfassung und -transformation vereinfachen soll. Für Machine-Learning-Anwendungen verspricht das nun als Betaversion implementierte Backend für das Gradient-Boosting-Framework LightGBM on Ray unter anderem fehlertolerantes Multi-Node- und Multi-GPU-Training.

Die zunächst noch als Alphaversion eingeführten Ray Datasets sollen eine neue Standardmethode zum Laden und Austauschen von Daten in Ray-Bibliotheken und -Anwendungen etablieren. Das Ray-Entwicklerteam verfolgt dabei nach eigener Einschätzung die Implementierung einer verteilten Version von Apache Arrow, das als sprachübergreifende Entwicklungsplattform für In-Memory-Analysen ausgelegt ist. Die Datasets bestehen jeweils aus einer Liste von Ray-Objektverweisen auf blocks. Jeder dieser Blöcke enthält wiederum eine Reihe von Elementen – entweder im Arrow-Tabellenformat oder als Python-Liste, falls es sich um mit Arrow inkompatible Objekte handelt. Die folgende Grafik zeigt exemplarisch ein Ray Dataset mit drei Arrow-Tabellen-Blöcken, die jeweils 1000 Zeilen umfassen.

Beispiel für ein Ray Dataset mit drei Arrow-Tabellen-Blöcken

(Bild: ray.io)

Als simple Liste von Ray-Objektverweisen lassen sich die Datasets frei zwischen Ray-Tasks, -Aktoren und -Bibliotheken weitergeben. Über diese Flexibilität hinaus eröffnen sich Data Scientists zudem erweiterte Optionen zum Parallelisieren von Data Ingestion und Transformationsprozessen, durch gleichzeitiges Verarbeiten mehrerer Blöcke. Verglichen mit Spark RDDs und den Dask Bags stellen Ray Datasets jedoch nur einen begrenzten Funktionsumfang zur Verfügung. Anwenderinnen und Anwendern, die komplexere Aufgaben bearbeiten wollen, empfiehlt das Ray-Team daher, die Datasets in funktionsreichere Dataframe-Typen zu übertragen. Dafür stehen unter anderem APIs wie ds.to_dask() oder ds.to_spark() zur Verfügung. Ein vollständiger Überblick zum Einsatz der neuen Ray Datasets einschließlich Kompatibilitätsmatrizen für Input und Output findet sich in der Dokumentation.

Der Alphastufe entwachsen ist in Ray 1.5 nun die Implementierung des verteilten Backends des Gradient-Boosting-Framework LightGBM on Ray. Es soll sich jetzt nicht nur nahtlos zur verteilten Hyperparameter-Optimierung in die Library Ray Tune integrieren, sondern Machine-Learning-Fachleuten auch den Einsatz fehlertoleranter Multi-Node- und Multi-GPU-Trainings ermöglichen. Darüber hinaus bietet LightGBM on Ray Mechanismen zum Handhaben von Fehlertoleranz und lässt sich für verteiltes Datenladen sowie verteilte Data-Frames nutzen.

Überarbeitet hat das Ray-Team auch die Reinforcement-Learning-Bibliothek RLLib. Sie verfügt über eine neue API, die das Anpassen von Offline-Datensätzen ermöglicht. Zudem lassen sich neue Trainer-Richtlinien künftig auch im laufenden Betrieb hinzufügen. Einen vollständigen Überblick aller weiteren – rund 10 Monate nach der ersten Vollversion – jetzt in Ray 1.5 eingeflossenen Verbesserungen und Bugfixes bieten die Release Notes im GitHub-Repository.

(map)