InfoWorld Award 2019

Die besten Tools für Cloud, Analytics und Machine Learning

08.03.2019
Von 
Jens Dose ist Editor in Chief von CIO. Seine Kernthemen drehen sich rund um CIOs, ihre IT-Strategien und Digitalisierungsprojekte.

Horovod

Horovod
Horovod

Horovod ist ein verteiltes Trainings-Framework für TensorFlow, Keras und PyTorch, das von Uber entwickelt wurde. Horovod soll verteiltes Deep Learning schnell und einfach in der Handhabung machen. Horovod stützt sich auf Ideen von Baidus Versuchsimplementierung des TensorFlow Ring-Allreduce-Algorithmus'.

Uber versuchte ursprünglich, Distributed TensorFlow mit Parameter-Servern zu verwenden. Die Ingenieure fanden heraus, dass das MPI-Modell unkomplizierter war und weniger Code-Anpassungen brauchte. Uber behauptet, das Horovod-System ermögliche es, ein KI-Modell ungefähr doppelt so schnell trainieren zu können wie eine traditionelle TensorFlow-Implementierung.

Horovod benutzt Open MPI (oder eine andere MPI-Implementierung), um Nachrichten zwischen Knoten auszutauschen, und Nvidia NCCL für seine hoch-optimierte Version von Ring Allreduce. Horovod erreicht 90 Prozent Scaling-Effizienz für Inception-v3 und ResNet-101. Für VGG-16 erzielt es auf bis zu 512 Nvidia Pascal GPUs eine Scaling-Effizienz von 68 Prozent.

Im Dezember 2018 kündigte Uber an, dass sie das Horovod-Projekt unter die Ägide der LF Deep Learning Foundation für Open-Source-KI-Software der Linux-Foundation gibt.

XGBoost

XGBoost
XGBoost

XGBoost (eXtreme Gradient Boosting) ist eine Open-Source Machine Learning Library, die verteiltes Gradienten-Boosting für Python, R, Java, Julia und andere Programmiersprachen implementiert. Der Kern-Code des Projekts ist C++.

XGBoost bietet einen parallelen Baum-Boosting-Algorithmus, der viele Data-Sciene-Probleme auf schnelle und akkurate Weise löst. Derselbe Code läuft auf einzelnen Maschinen und in verteilten Umgebungen (wie Hadoop, MPI oder Spark). Die verteilte Version kann skalieren, um Probleme mit Milliarden von Beispielen zu lösen.

XGBoost wurde in Data-Science-Kreisen bekannt, als es einige Wettbewerbe der Kaggle-Community gewann. Es nahm seinen Anfang in einem Forschungsprojekt der University of Washington. Das Paper zu XGBoost von Tianqi Chen und Carlos Guestrin aus dem Jahr 2016 erklärt die Gradienten-Baum-Boosting-Algorithmen. Zudem beschreibt die Arbeit vorgenommene Verbesserungen an XGBoost wie Cache-aware Prefetch und Spracity-Awareness.

Außerdem testen die Forscher XGBoost gegen pGBRT (parallel gradient boosted regression trees) im Learning-to-rank-Problem. Dabei handelt es sich im Grunde um ein Optimierungs-Problem in Bezug auf Metriken, die bewerten, wie gut ein Algorithmus anhand von Daten lernt. Learning to rank bedeutet, Suchmaschinen mit Machine-Learning zu kombinieren und Nutzern so ein Ergebnis zu liefern, bei dem die die Gesamtheit aller zur Suchanfrage passenden gefundenen Ergebnisse nach Relevanz für den Nutzer geordnet ist.

H2O Driverless AI

H2O Driverless AI
H2O Driverless AI

Wenn es darum geht, Rohdaten in Predictive Analytics umzuwandeln, glänzt H2O Driverless AI durch seine automatisierte Einfachheit. Best-Practice-Leitlinien und Wegweiser helfen KI-Laien, versteckte Muster durch überwachtes sowie unbeaufsichtigtes maschinelles Lernen zu entdecken.

Anwender stellen die Daten bereit und isolieren die abhängigen Variablen. Die selbstgeschriebenen Algorithmen von H2O übernehmen dann den Löwenanteil des Feature Engineering, der Modell-Auswahl und Optimierung.

Nutzer brauchen immer noch ein Verständnis ihres Datensets und Kapazitäten zur Interpretation des Outputs. Die visuellen Tools und klaren Erklärungen von H2O helfen aber dabei, eine gemeinsame Sprache und Verständnis zwischen Unternehmensabteilungen, IT und Data Scientists zu schaffen.

Data Scientists und Entwickler können Modell-Parameter verfeinern und Funktionen mit Python und R ausbauen. Jupyter Notebook-Webanwendungen exportieren Code aus der Machine Learning Pipeline für die Produktivumgebung. H2O kann On-Premise und in der Cloud mit der bestehenden Big-Data-Infrastruktur wie Hadoop oder Spark arbeiten. Es kann Daten aus HDFS, Amazon S3 oder Azure Data Lake aufnehmen und Nvidia GPU-Verarbeitung nutzen für zusätzliche Geschwindigkeit.

2018 bekam H2O wichtige Updates. Darunter in den Bereichen:

  • Natural Language Processing;

  • Zeitreihenvorhersage;

  • Gradient Boosting;

Visuelle Entscheidungsbäume leiten Nutzer jetzt grafisch durch den Prozess, "wie" eine Vorhersage entstanden ist - um beispielsweise zu klären, warum ein Versicherungsfall als betrügerisch gekennzeichnet wurde. H2O hat sogar angefangen, seine Algorithmen in den Amazon- und Microsoft-Clouds direkt verfügbar zu machen.

H2O Driverless AI wird Data Engineers nicht den Job kosten oder jedes fortschrittliche Machine-Learning-Problem lösen. Es bietet aber eine schlanke Alternative dazu, eine KI von Grund auf aufzubauen. Damit verkürzt sich die Zeit, bis ein Unternehmen Predictive statt reaktiv wird.