Nächster Act des Databricks-Mitbegründers: Shining a Ray on serverless Autoscaling

0
124

Tony Baer (dbInsight)

Von Tony Baer (dbInsight) für Big on Data | 22. Juni 2021 — 12:00 GMT (13:00 BST) | Thema: Big Data Analytics

sun-rays.jpg

Shutterstock

Vor zehn Jahren haben Ion Stoica und seine Kollegen an der School of Computing der UC Berkeley das Hindernis für die Durchführung fortschrittlicher Analysen identifiziert. Die Herausforderung damals war das, was wir damals Big Data nannten. Dank des Hadoop-Projekts konnten billige Speicher- und Rechenkapazitäten genutzt werden, aber die Jobs dauerten in der Regel Stunden oder Tage. Stoica und Kollegen arbeiteten an einer Lösung, die den Speicher nutzt, und das Ergebnis war das Projekt “Apache Spark”. Es wurde im AMPLab der UC Berkeley entwickelt und hat sich zum De-facto-Standard für die Batch-Datenverarbeitung in großem Maßstab entwickelt, ganz zu schweigen von der Technologie, die ein Unternehmen mit einem Wert von derzeit 28 Milliarden US-Dollar hervorbrachte.

Schneller Vorlauf in die Gegenwart und Stoica und seine Kollegen haben Computing als den neuen Engpass identifiziert, da das maschinelle Lernen die Verarbeitung von Workloads komplexer gemacht hat. Sie verbrauchen natürlich immer noch viele Daten.

Ironischerweise ist die Trennung nicht auf einen Mangel an Ressourcen zurückzuführen. Alle Zutaten für den Betrieb von KI-Modellen in der Produktion sind jetzt vorhanden, und wenn sie richtig ausgeführt werden, kann dies recht kostengünstig sein. Zum Beispiel sind serverlose Dienste in der Cloud populär geworden, aber sie waren in der Regel auf die Bereitstellung einfacher Apps beschränkt, die aus Funktionen bestehen, bei denen die große Anforderung Autoscaling war. Speicher ist ziemlich billig geworden, und Entwickler sehen sich mit einer Fülle von Prozessorinstanzen konfrontiert, die an das Problem angepasst werden können, von GPUs bis hin zu spezialisierten ASICs. Es gibt viele Frameworks wie TensorFlow, die Entwicklern helfen, die Orchestrierung des Computings zu strukturieren. Und es gibt Kubernetes, das die Orchestrierung automatisieren kann.

Aber halt. Heutzutage erfordert es End-to-End-Dienste, die die Bereitstellung von ML-Modellen automatisieren, Kenntnisse in Kubernetes und/oder eine komplexe Toolchain, um das Autoscaling zu handhaben. Und im Gegensatz zu den relativ einfachen Apps, die aus Funktionen aufgebaut sind, umfassen Machine Learning und Deep Learning in der Regel komplexe, mehrstufige, iterative Programme, die aus Computing-Sicht Ressourcen wie klassisches HPC (High Performance Computing) verbrauchen.

Die im AMPLab-Nachfolger RISELab entwickelte Lösung ist Ray, ein Open-Source-Projekt, das auf GitHub gehostet wird. Stoica hat das Projekt zusammen mit seinem Laborkollegen Robert Nishihara und dem Berkeley-Professor Michael I. Jordan ins Leben gerufen, und sie haben das Unternehmen Anyscale mitgegründet, um es zu kommerzialisieren. Mit einer Finanzierung in Höhe von 60 Millionen $ wird es von einigen der gleichen Venture-Partner unterstützt, die auch hinter Databricks stehen. Kurz gesagt, Ray wird es Entwicklern und Datenwissenschaftlern ermöglichen, serverloses Computing für ihre eigenen ML-Modelle und Anwendungen zu starten, ohne dass Kenntnisse über die zugrunde liegende Installation erforderlich sind. Heute startet die Ray-Community den zweiten Ray Summit mit den üblichen Verdächtigen von Early Adopters, die zeigen, wie Datenwissenschaftler und Entwickler auf Laptops dies geschafft haben.

Einfach gesagt bietet Ray eine API zum Erstellen verteilter Anwendungen. Es ermöglicht jedem Entwickler, der an einem Laptop arbeitet, ein Modell in einer serverlosen Umgebung bereitzustellen, in der Bereitstellung und Autoscaling unter dem Deckmantel automatisiert werden. Es bietet ein serverloses Erlebnis, ohne dass sich der Entwickler für einen bestimmten serverlosen Cloud-Dienst anmelden oder etwas über die Einrichtung und den Betrieb einer solchen Infrastruktur wissen muss.

Ein Ray-Cluster besteht aus einem Hauptknoten und einer Reihe von Worker-Knoten, die in jeder Infrastruktur, lokal oder in einer öffentlichen Cloud, arbeiten können. Zu seinen Fähigkeiten gehört ein Autoscaling, das ausstehende Aufgaben überprüft und dann die minimale Anzahl von Knoten aktiviert, um sie auszuführen, und die Ausführung überwacht, um mehr Knoten hochzufahren oder sie zu schließen. Es ist jedoch einige Assembly erforderlich, da sich der Entwickler registrieren muss, um Instanztypen zu berechnen.

Ray kann VMs in der Cloud Ihrer Wahl starten und stoppen; Die ray-Dokumente bieten Informationen dazu, wie dies in jeder der großen Clouds und Kubernetes zu tun ist.

Man könnte es verzeihen, wenn man das Gefühl bekommt, dass Ray wieder einmal ein Déjà-vu ist. Stoica, die maßgeblich an der Entstehung von Spark beteiligt war, übernimmt mit Ray eine ähnliche Rolle. Beide haben ihren Ursprung in der UC Berkeley und gehen als Open-Source-Projekte den Community-Weg. So wie Spark über ein Portfolio von Dutzenden von Open-Source-Bibliotheken verfügt, die von der Community bereitgestellt wurden, wird das auch für Ray gelten. Der Hauptunterschied liegt in der Zielgruppe: Während sich Spark und Databricks an Data Scientists und Data Engineers richteten, richtet sich Ray in erster Linie an Entwickler, die nach Abkürzungen suchen, um komplexe Machine-Learning-Modelle in die Produktion zu bringen.

ray-logo.png

Ray-Logo

Ray

kafka-logo.png

Kafka-Logo

Apache Kafka

Und über dieses Logo. Ja, es sieht Kafka sehr ähnlich, oder? Aber lass dich nicht täuschen. Die Eingabe oder Ausgabe beim Ausführen eines Modells auf einem Ray-Cluster kann einen Kafka-Stream beinhalten, aber so nah wie die Verbindung zwischen den beiden wird.

So wie Spark in Scala entwickelt und zunächst dafür optimiert wurde, wurde Ray für Python und sein Ökosystem von Bibliotheken als erstklassiger Bürger konzipiert, verfügte jedoch über eine API, die ausreichend offen ist, um aus anderen Sprachen aufgerufen zu werden. Aber zunächst werden einige Sprachen und Modelle gleichberechtigter sein als andere. Jede Bibliothek aus jeder Sprache kann Compute über die API von Ray aufrufen. Dennoch können Bibliotheken mit spezialisierten Ausführungsroutinen optimiert werden, um die serverlose Orchestrierung von Ray effizienter zu nutzen, wobei Horovod das Aushängeschild ist.

So wie Databricks gegründet wurde, um eine kommerzielle Platform-as-a-Service für optimiertes Spark bereitzustellen, wird Anyscale in die gleichen Fußstapfen treten. Stoica, der weiterhin Executive Chairman von Databricks ist, nimmt seine Rolle beim neuen Startup wieder auf und startet, wie bereits erwähnt, mit einigen der gleichen Venture-Unternehmer. Der Dienst von Anyscale befindet sich derzeit in der Beta-Phase.

Wir können uns vorstellen, dass Anyscale mit der Open-Source-Community-Edition einige Schnickschnack hinzufügt, z. B. das Vorabbelegen von Merkmalen beliebter Knotentypen (z. B. Amazon EC2 C6g) und eine umfangreichere Verwaltungskonsole über das grundlegende Dashboard hinaus. Und obwohl Anyscale seine API als “universal” bezeichnet, was bedeutet, dass auf sie von Programmen aus zugegriffen werden kann, die in jeder Sprache geschrieben sind, seien Sie nicht überrascht, wenn das Unternehmen (wie zuvor Databricks) Optimierungen entwickelt.

Big Data

Wo ist das Hybrid Cloud Launchpad von IBM? Sieben Möglichkeiten, Echtzeit-Technologie für Ihr Unternehmen real zu machen Machine Learning am Edge: TinyML wird groß Was kommt als nächstes für Cloudera? McDonald's möchte maschinelles Lernen für alle Benutzer im gesamten Betrieb „demokratisieren“

Verwandte Themen:

Cloud Digitale Transformation Robotik Internet der Dinge Innovation Unternehmenssoftware Tony Baer (dbInsight)

Von Tony Baer (dbInsight) für Big on Data | 22. Juni 2021 — 12:00 GMT (13:00 BST) | Thema: Big-Data-Analyse