Online Magazine
DataRobot und Domino Data Lab auf dem Prüfstand

Bist du ein versierter Data Scientist oder jemand mit nur wenig Coding-Erfahrung? So oder so, eine Machine Learning-Plattform kann dir helfen, deine ML-Lösung in die Produktion zu bringen. Aber welche? Schauen wir uns die beiden Plattformen DataRobot und Domino Data Lab an.
von Marcel Moldenhauer

Nachdem wir herausgefunden haben, warum ML-Plattformen wichtig sind und wie man sie bewertet, um herauszufinden, welche für den eigenen Use Case am besten geeignet ist, wollen wir uns nun zwei Plattformen genauer ansehen, die es leicht machen, ML-Modelle zu skalieren und in die Produktion zu bringen: DataRobot und Domino Data Lab.
Obwohl beide Plattformen darauf abzielen, den Skalierungs-Prozess von ML-Modellen zu vereinfachen, sind ihr Ansatz und ihre Zielgruppe recht unterschiedlich. Bei DataRobot dreht sich alles um AutoML und der Schwerpunkt liegt auf No-Code-Lösungen. Im Gegensatz dazu ist Domino für Programmiererinnen und Programmierer gedacht, welche die volle Kontrolle über ihr Modell haben wollen und nicht viele automatisierte Funktionen oder Dienste benötigen. Lass uns genauer untersuchen, wie dies in den verschiedenen Komponenten der Plattformen umgesetzt wird.
Abbildung 1: DataRobot und Domino Data Lab im direkten Vergleich.
1. Datenerfassung und -speicherung
Beide Plattformen können Daten aus einer breiten Palette von Quellen laden, darunter Datenbanken und Speicher in AWS, Azure und GCP. Für letztere bietet nur DataRobot sofort einsatzbereite Konnektoren. Batch-Laden ist problemlos möglich, aber keine der beiden Plattformen bietet eine ausgefeilte Option für das Streaming von Eingabedaten.
DataRobot wirbt für die Nutzung seines separaten Dienstes Praxata zur Datenverarbeitung. Praxata bietet viele nützliche Tools zur Umwandlung und Bereinigung von Daten ohne jegliches Coding. Da es sich jedoch um ein separates Produkt handelt, werden wir hier nicht näher darauf eingehen. Betrachtet man nur das Kernprodukt von DataRobot ohne Praxata, sind die Möglichkeiten zur Datentransformation begrenzt. Daher muss die Datenqualität bereits auf einem hohen Niveau sein.
In Domino kann man jede Art von Datentransformation durchführen, die man in einer gängigen Programmiersprache wie Python oder R, aber auch in exotischeren Sprachen wie SAS und Matlab durchführen kann. Dazu startet man einen Arbeitsbereich und programmiert die erforderlichen Transformationen. Während dies für versierte Data Scientists grossartig ist, fehlt eine Option, um schnelle Transformationen in einer grafischen Oberfläche auszuführen, ohne einen Arbeitsbereich zu erstellen. Eine weitere Funktion, die Domino fehlt, ist eine automatische Qualitätsprüfung. Um Ausreisser und fehlende Werte zu erkennen oder einfach nur die Verteilung einer Variablen zu sehen, muss man zunächst einen weiteren Arbeitsbereich erstellen und etwas coden.
2. Experimentierbereich
Für das Experimentieren bieten beide Plattformen ein gut entwickeltes und ausgereiftes, aber grundlegend unterschiedliches Angebot. Die Experimentierzone von DataRobot ist um eine grafische Schnittstelle herum aufgebaut, in der man mit wenigen Klicks eine Auswahl verschiedener Modelle ausführen kann. Das Feature-Engineering erfolgt auf automatisierte Weise als Teil des allgemeinen Modelltrainings, ohne dass dem Benutzer weitere Details mitgeteilt werden. DataRobot stützt sich stark auf AutoML, um das am besten geeignete Modell vorzuschlagen, und stellt die Leistung auf der Grundlage einer ausgewählten Metrik auf einem Leaderboard dar. Von dort aus kann man die Modelle anpassen, die Hyperparameter abstimmen und die Leistung mit dem ursprünglichen Modell vergleichen. Die Benutzeroberfläche bietet auch praktische Möglichkeiten zur Visualisierung der Modelle und zur Gewinnung daraus hervorgehender Erkenntnisse. Dies ist besonders hilfreich, wenn man an erklärungsbedürftigen KI-Themen arbeitet, bei denen man nicht nur wissen will, was das Ergebnis ist, sondern auch, warum das ML-Modell es so vorhersagt.
Im Gegensatz dazu werden die Experimente in Domino in einer Codierungsumgebung ausgeführt. Man kann einen Arbeitsbereich seiner Wahl starten, z. B. Jupyter Notebook, RStudio oder VSCode, und Umgebungen in einer Programmiersprache erstellen, mit der man vertraut ist. Die Ergebnisse der Modellläufe sowie die Modelle selbst kannst du genauso speichern und exportieren, wie du es bei der Arbeit auf deinem lokalen Rechner tun würdest. Der Hauptvorteil gegenüber einem lokalen Rechner ist, dass dein Arbeitsbereich als Docker-Container auf einem bereitgestellten Cluster mit flexibler und skalierbarer Rechenleistung ausgeführt wird. Darüber hinaus können Docker-Container und -Umgebungen leicht gemeinsam genutzt werden und andere können an deinen Experimenten mitarbeiten, ohne sich um die Installation der richtigen Pakete und Abhängigkeiten kümmern zu müssen. Domino ermöglicht auch die Ausführung von Code als Teil eines sogenannten Experiments. So kann man die Infrastruktur auswählen, Hyperparameter bereitstellen und alle verfolgten Artefakte während der Ausführung des Codes aufbewahren. Darüber hinaus hilft es, viele verschiedene Experimentdurchläufe in einer einzigen Schnittstelle zu organisieren.
LUST AUF WEITERE KI-GESCHICHTEN?
Finde hier heraus, wie du eine KI entwickeln kannst, die Lungenentzündungen erkennt.
Hör dir unseren Podcast darüber an, wie KI hilft, Straßenschäden zu reparieren.
Entdecke hier, wie KI Satelliten davor bewahrt, mit Weltraumschrott zu kollidieren.
3. Kontinuierliche Integration
Der Integrationsprozess in DataRobot ist für User gedacht, die vielleicht noch nicht viel von CI/CD gehört haben, und bietet daher keine echten CI/CD-Pipelines. Stattdessen werden neu trainierte Modelle an DataRobot MLOps gesendet, und ein Administrator kann die neuen Modelle direkt über die Benutzeroberfläche prüfen und genehmigen. Extern entwickelte Modelle können über einen Code-Wrapper in Python in die DataRobot-Plattform importiert werden. So können User DataRobot MLOps nutzen. Es gibt keinen integrierten Feature Store, aber du kannst eine sehr grundlegende Funktionalität erreichen, indem du Spark-SQL-Abfragen als Teil der DataRobot-Benutzeroberfläche speicherst und freigibst. Modelle können in der Modellregistrierung gespeichert und mit anderen Personen geteilt werden. Es ist jedoch nicht möglich, Modelle für die Verwendung ausserhalb von DataRobot zu exportieren.
Domino verfügt über eine tiefe Git-Integration. Dies macht es einfach, die Standard-CI/CD-Funktionen von Git auszuführen. Du kannst zum Beispiel verschiedene Zweige erstellen und deinen Änderungen Prüfer*innen zuweisen. Allerdings bietet Domino weder einen eingebauten CI/CD-Prozess noch ein integriertes Test-Framework. Daher müssen alle CI/CD-Schritte durch zusätzliche Tools und Dienste ausserhalb von Domino abgedeckt werden, um einen vollständigen CI/CD-Prozess zu ermöglichen. Im Gegensatz zu DataRobot ist es in Domino möglich, Modelle als Docker-Images zu exportieren und diese ausserhalb von Domino auszuführen. Auch hier gibt es keinen eingebauten Feature Store, aber eine externe Integration ist möglich. Da auch Domino keinen Modellspeicher hat, müssen die Benutzer die Metadaten der Modellartefakte manuell protokollieren.
4. Industrialisierungsbereich
Das Retraining von Modellen ist der Punkt, an dem es in DataRobot knifflig wird. Wenn du ein Modell mit neuen Daten neu trainieren willst, musst du zurück in den Experimentierbereich gehen, dein Modell aus der Modellregistrierung öffnen und es manuell neu ausführen. Da eine kontinuierliche Umschulung bei der Industrialisierung von Modellen von entscheidender Bedeutung ist, ist dies ein Punkt, in dem DataRobot sicherlich noch Raum für Verbesserungen hat. Die Überwachungsfunktionalitäten sind gut abgedeckt, und wenn sich deine Modelle unerwartet verhalten, kannst du alle wichtigen Metriken visualisieren und über DataRobot MLOps benutzerdefinierte Benachrichtigungsregeln erstellen. Das Einzige, was in Bezug auf die Überwachung fehlt, ist eine umfassende Protokollierung.
Domino verfügt auch nicht über eine vollautomatische Umschulungsfunktion, aber es ist einfach, ein Notizbuch oder ein Skript für die kontinuierliche Umschulung zu planen. Der Industrialisierungsbereich zeigt, dass Domino für Entwickler*innen und Data Scientists mit einem Fokus auf Engineering gemacht ist. Man kann alle notwendigen Funktionen für die Umschulung und Validierung von Modellen implementieren, aber man sollte keine One-Click-Lösung erwarten. Man kann zum Beispiel Validierungsschritte in ein Skript coden und sie bei jedem Training eines Modells ausführen lassen. Die Modellüberwachung und -protokollierung ist in Domino möglich, aber anders als in DataRobot gibt es keine eingebauten Dashboards, die die Leistung der Modelle anzeigen.
5. Datenpräsentation
Um deine Modelle aus DataRobot heraus zu bringen, kannst du sie als REST-API bereitstellen. Es besteht auch die Möglichkeit, sehr einfache Web-Apps zu erstellen, die jedoch hauptsächlich für Scoring-Modelle verwendet werden. Ein Highlight von DataRobot ist der sogenannte Challenger-Modus, in dem verschiedene Modelle gegeneinander laufen können, um die Leistung zu vergleichen und zu prüfen, ob ein neues Modell besser ist als ein Basismodell. Die Containerisierung befindet sich noch in der Beta-Phase, und obwohl es in diesem Bereich bald Fortschritte geben könnte, sollte man sich noch nicht auf containerisierte Modelle verlassen. Um Ergebnisse zu präsentieren, bietet DataRobot eine Integration mit Tableau, Alteryx sowie Excel. Die REST-APIs können in jeden Code integriert werden, um die Modelle in massgeschneiderte Softwarelösungen einzubinden.
Modelle aus Domino können auch als REST-APIs oder Webanwendungen bereitgestellt werden. Ein Vorteil von Domino ist die integrierte Containerisierung. Jede Umgebung wird als Docker-Container geliefert, der automatisch von der Plattform versioniert wird und problemlos als Microservice ausserhalb von Domino genutzt werden kann. Eine Funktion, die noch fehlt, ist ein einfach zu bedienendes Test-Framework. Es gibt kein eingebautes Tool für A/B-Tests oder Canary Releases in Domino.
WILLST DU WISSEN, WIE UNSERE EXPERTEN ANDERE ML-PLATTFORMEN EINSCHÄTZEN?
In diesem Artikel stehen Dataiku und H2O Driverless AI & MLOps auf dem Prüfstand.
Dein Key-Takeaway
Die in diesem Artikel vorgestellten Plattformen bieten beide gute Lösungen für die einfache Erstellung und das Testen von Machine Learning-Modellen und, was noch wichtiger ist, für deren Skalierung und Industrialisierung. Wenn es darum geht, eine Plattform der anderen vorzuziehen, kommt es darauf an, welchen Ansatz du bei der Erstellung von Modellen bevorzugst:
- DataRobot ist die richtige Wahl für dich, wenn du wenig bis gar keine Programmiererfahrung hast, lieber mit grafischen Oberflächen arbeitest oder schnell einen Prototyp auf einem Datensatz erstellen möchtest.
Der Nachteil von DataRobot ist, dass es nur eine begrenzte Anzahl von Algorithmen für ML-Modelle bietet. Insbesondere wenn du modernste NLP- oder Computer-Vision-Modelle verwenden möchtest, solltest du prüfen, ob DataRobot diese unterstützt. Für die Arbeit mit strukturierten Daten ist es jedoch eine solide Plattform mit guten Möglichkeiten zur Zusammenarbeit. - Domino ist für dich gemacht, wenn du Modelle selbst coden und die volle Kontrolle über sie haben willst.
Diese Plattform ist besonders gut geeignet, wenn mehrere versierte Data Scientists an einem Projekt zusammenarbeiten wollen. Sie zeichnet sich durch ihre Integration mit Jira aus, die es IT- und Geschäftsverantwortlichen leicht macht, die Entwicklung von ML-Modellen und Data-Science-Anwendungsfällen zu verfolgen. Die Git-Integration sowie die eingebaute Fähigkeit der Containerisierung ermöglichen eine einfache gemeinsame Nutzung von Modellen. Flexibilität ist der Schlüssel zu Domino, aber sie hat ihren Preis: Es gibt keine One-Click-Lösungen, weder für Experimente noch für die Bereitstellung oder AutoML-Dienste.

DIESE BEITRÄGE WURDEN EVALUIERT UND FÜR "TOP" BEFUNDEN:

