OpenXLA, ein Open-Source-Projekt zur Beschleunigung und Vereinfachung des maschinellen Lernens

OpenXLA

OpenXLA ist ein gemeinsam entwickeltes Open-Source-ML-Compiler-Ökosystem

Kürzlich die größten Entwicklungsunternehmen im Bereich des maschinellen Lernens vorgestellt das Projekt OpenXLA, bestimmt für die gemeinsame Entwicklung von Tools Modelle für maschinelle Lernsysteme zu erstellen und zu optimieren.

Das Projekt hat die Entwicklung von Tools übernommen, die es ermöglichen, die Kompilierung von Modellen zu vereinheitlichen, die in den Frameworks TensorFlow, PyTorch und JAX vorbereitet wurden, um ein effizientes Training und eine effiziente Ausführung auf verschiedenen GPUs und spezialisierten Beschleunigern zu ermöglichen. Unternehmen wie Google, NVIDIA, AMD, Intel, Meta, Apple, Arm, Alibaba und Amazon schlossen sich der gemeinsamen Arbeit des Projekts an.

Das OpenXLA-Projekt bietet einen hochmodernen ML-Compiler, der inmitten der Komplexität der ML-Infrastruktur skaliert werden kann. Seine Grundpfeiler sind Leistung, Skalierbarkeit, Portabilität, Flexibilität und Erweiterbarkeit für Benutzer. Mit OpenXLA streben wir danach, das wahre Potenzial der KI zu erschließen, indem wir ihre Entwicklung und Bereitstellung beschleunigen.

OpenXLA ermöglicht es Entwicklern, Modelle aus allen führenden ML-Frameworks für effizientes Training und Wartung auf einer Vielzahl von Hardware zu kompilieren und zu optimieren. Entwickler, die OpenXLA verwenden, werden deutliche Verbesserungen bei Trainingszeit, Leistung, Servicelatenz und letztendlich Markteinführungszeit und Rechenkosten feststellen.

Es ist zu hoffen, dass durch gemeinsame Bemühungen der wichtigsten Forschungsteams und Vertreter der Community, es wird möglich sein, die Entwicklung von maschinellen Lernsystemen anzuregen und lösen Sie das Problem der Infrastrukturfragmentierung für verschiedene Frameworks und Teams.

OpenXLA ermöglicht die Implementierung einer effektiven Unterstützung für verschiedene Hardware, unabhängig vom Framework, auf dem das maschinelle Lernmodell basiert. Es wird erwartet, dass OpenXLA die Modelltrainingszeit verkürzt, die Leistung verbessert, die Latenz reduziert, den Rechenaufwand reduziert und die Markteinführungszeit verkürzt.

OpenXLA besteht aus drei Hauptkomponenten, dessen Code unter der Apache 2.0-Lizenz vertrieben wird:

  1. XLA (beschleunigte lineare Algebra) ist ein Compiler, mit dem Sie maschinelle Lernmodelle für die Hochleistungsausführung auf verschiedenen Hardwareplattformen, einschließlich GPUs, CPUs und spezialisierten Beschleunigern verschiedener Hersteller, optimieren können.
  2. StableHLO ist eine grundlegende Spezifikation und Implementierung einer Reihe von High-Level-Operationen (HLOs) zur Verwendung in Systemmodellen für maschinelles Lernen. Es fungiert als Schicht zwischen Frameworks für maschinelles Lernen und Compilern, die das Modell so umwandeln, dass es auf bestimmter Hardware ausgeführt werden kann. Schichten sind vorbereitet, um Modelle im StableHLO-Format für die PyTorch-, TensorFlow- und JAX-Frameworks zu generieren. Als Basis für StableHLO dient die MHLO-Suite, die um Unterstützung für Serialisierung und Versionskontrolle erweitert wird.
  3. IREE (Intermediate Representation Execution Environment) ist ein Compiler und eine Laufzeitumgebung, die Machine-Learning-Modelle in eine universelle Zwischenrepräsentation basierend auf dem MLIR-Format (Intermediate Multi-Level Representation) des LLVM-Projekts konvertiert. Von den Funktionen werden die Möglichkeit der Vorkompilierung (im Voraus), die Unterstützung der Flusskontrolle, die Möglichkeit, dynamische Elemente in Modellen zu verwenden, die Optimierung für verschiedene CPUs und GPUs und der geringe Overhead hervorgehoben.

In Bezug auf die Hauptvorteile von OpenXLA wird das erwähnt optimale Leistung wurde erreicht, ohne sich mit dem Schreiben von Code befassen zu müssen gerätespezifisch, zusätzlich zu Bereitstellung von Out-of-the-Box-Optimierungen, einschließlich Vereinfachung algebraischer Ausdrücke, effizienter Speicherzuweisung, Ausführungsplanung unter Berücksichtigung der Reduzierung des maximalen Speicherverbrauchs und der Overheads.

Ein weiterer Vorteil ist die Vereinfachung der Skalierung und Parallelisierung von Berechnungen. Es reicht aus, wenn ein Entwickler Anmerkungen für eine Teilmenge kritischer Tensoren hinzufügt, auf deren Grundlage der Compiler automatisch Code für paralleles Rechnen generieren kann.

Es wird auch hervorgehoben, dass Portabilität wird mit Unterstützung für mehrere Hardwareplattformen bereitgestellt, wie AMD- und NVIDIA-GPUs, x86- und ARM-CPUs, Google TPU ML Accelerators, AWS Trainium Inferentia IPUs, Graphcore und Wafer-Scale Engine Cerebras.

Unterstützung für die Anbindung von Erweiterungen mit der Implementierung zusätzlicher Funktionen, als Unterstützung für das Schreiben von Deep-Machine-Learning-Primitiven mit CUDA, HIP, SYCL, Triton und anderen Sprachen für paralleles Rechnen sowie die Möglichkeit der manuellen Anpassung von Engpässen bei Modellen.

Wenn Sie mehr darüber erfahren möchten, können Sie die Details im folgenden Link.


Hinterlasse einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert mit *

*

*

  1. Verantwortlich für die Daten: AB Internet Networks 2008 SL
  2. Zweck der Daten: Kontrolle von SPAM, Kommentarverwaltung.
  3. Legitimation: Ihre Zustimmung
  4. Übermittlung der Daten: Die Daten werden nur durch gesetzliche Verpflichtung an Dritte weitergegeben.
  5. Datenspeicherung: Von Occentus Networks (EU) gehostete Datenbank
  6. Rechte: Sie können Ihre Informationen jederzeit einschränken, wiederherstellen und löschen.