Suchen

Definition Was ist Horovod?

| Autor / Redakteur: Dipl.-Ing. (FH) Stefan Luber / Nico Litzel

Horovod wurde ursprünglich von Uber entwickelt und ist seit 2018 ein Projekt der LF AI Foundation. Es handelt sich um ein Framework für TensorFlow, Keras, PyTorch und MXNet, das verteiltes Deep Learning mit hoher Performance ermöglicht. Verfügbar ist Horovod als Open Source Software über GitHub.

Firmen zum Thema

(Bild: © aga7ta - stock.adobe.com)

Der Name Horovod geht auf einen alten ost-slavischen Kreistanz zurück. Der Begriff soll eine Verbindung zum TensorFlow-Ring-Allreduce-Algorithmus herstellen. Bei Horovod handelt es sich um ein ursprünglich von Uber entwickeltes Framework für TensorFlow, Keras, PyTorch und MXNet, das verteiltes Deep Learning mit hoher Performance ermöglicht. Es stützt sich auf Ideen der Baidu-Versuchsimplementierung des erwähnten TensorFlow-Ring-Allreduce-Algorithmus. Horovod verwendet fortgeschrittene Algorithmen und Funktionen hochleistungsfähiger vernetzter Rechner.

Seit 2018 ist Horovod ein Inkubationsprojekt der LF AI Foundation. Die Software ist frei verfügbar und lässt sich über GitHub herunterladen. Datenwissenschaftler oder Unternehmen können Horovod verwenden, um ihre Deep-Learning-Modelle in verteilten Architekturen mit geringem Aufwand und mit hoher Leistung zu trainieren. Laut Aussage von Uber erreicht Horovod gegenüber einer Standard-TensorFlow-Umgebung eine bis zu doppelte Trainingsgeschwindigkeit. Uber verwendet Horovod beispielsweise für eigene Anwendungen Künstlicher Intelligenz (KI) im Umfeld der Vorhersagen von Fahrstrecken, für autonomes Fahren oder zur Betrugserkennung. Auch Unternehmen wie Amazon, Nvidia, IBM oder Alibaba sind Anwender der Software.

Horovod und die LF AI Foundation (LF AI)

Uber spendete sein Horovod-Projekt im Jahr 2018 der LF AI Foundation. Es wird seither von der Foundation betreut und weiterentwickelt. Aktuell befindet es sich im Inkubationsstatus. Ziel der LF AI Foundation ist es, Open-Source-basierte Innovationen im Bereich der Künstlichen Intelligenz, des Deep Learnings und des Machine Learnings zu fördern und zu unterstützen. Es soll ein Open-Source-Ökosystem entstehen, das die Entwicklung von KI-Produkten und -Services unter Verwendung frei zugänglicher Technologien vereinfacht. Der Foundation gehören namhafte Unternehmen an wie AT&T, Baidu, Ericsson, Huawei, Nokia, ZTE, Red Hat und viele weitere an.

Das Konzept von Horovod

Das Funktionsprinzip von Horovod basiert auf dem MPI-Konzept. Horovod nutzt MPI zum Austausch von Nachrichten zwischen den Knoten. Die Abkürzung MPI steht für Message Passing Interface und benennt einen Standard für den Nachrichtenaustausch paralleler Berechnungen verteilter Computersysteme. MPI beinhaltet eine Sammlung von Operationen inklusive einer Programmierschnittstelle. MPI-Anwendungen bestehen aus gleichzeitig gestarteten Prozessen, die sich untereinander austauschen und gemeinsam an einer Aufgabe arbeiten. Als Operationen kommen beispielsweise folgende zum Einsatz:

  • Allreduce – aggregiert Daten zwischen verschiedenen Prozessen und liefert die Ergebnisse an diese zurück
  • Allgather – sammelt die Daten aller einzelnen Prozesse
  • Broadcast – sendet die Daten eines einzelnen Prozesses an alle weiteren Prozesse als Broadcast

Für eine eigene Version der Operation „Ring Allreduce“ wird die Nvidia NCCL (Nvidia Collective Communications Library) ebenfalls von Horovod genutzt.

Horovod und Uber

Horovod wurde ursprünglich von Uber entwickelt. Uber ist ein weltweit agierender Anbieter von Online-Vermittlungsservices zur Beförderung von Personen. Um verlässliche Vorhersagen zu treffen, das Zusammenspiel zwischen beförderten Personen und Fahrern zu optimieren und autonomes Fahren zu ermöglichen, nutzt Uber intensiv verschiedene Anwendungen mit Künstlicher Intelligenz. Beispielsweise müssen Modelle entwickelt werden, um die passende Kombinationen zwischen Fahrern, Fahrgästen und zurückzulegenden Strecken zu finden.

Uber entwickelte Horovod, um die KI-Modelle mit höherer Performance auf verteilten Systemen zu trainieren. Das ursprünglich für diese Aufgabe verwendete Framework TensorFlow zeigte sich in der Standardinstallation als nicht performant genug. Uber schuf auf Basis des MPI-Konzepts das Horovod-System, das nach eigenen Aussagen KI-Modelle bis zu doppelt so schnell trainiert wie eine klassische Implementierung von TensorFlow. Uber selbst nutzt Deep Learning mit Horovod für die Betrugserkennung, autonomes Fahren oder die Vorhersage von Fahrstrecken.

Das Unternehmen Uber betreibt eine eigene Machine-Learning-as-a-service-Plattform unter dem Namen Michelangelo. Horovod ist ein Bestandteil der Michelangelo-Umgebung. Da Horovod-Berechnungen nicht nur für eigene Anwendungen von Uber verwendet und KI-Anwendungen generell vorangetrieben werden sollen, machte Uber Horovod auch anderen Anwendern zugänglich, indem das Unternehmen das Projekt an die LF AI Foundation (LF AI) übertrug.

(ID:46024486)

Über den Autor