Die größten an der Entwicklung im Bereich des maschinellen Lernens beteiligten Unternehmen stellten das OpenXLA-Projekt vor, das auf die gemeinsame Entwicklung von Tools zur Zusammenstellung und Optimierung von Modellen für maschinelle Lernsysteme abzielt. Das Projekt hat die Entwicklung von Tools übernommen, die es ermöglichen, die Zusammenstellung der in den Frameworks TensorFlow, PyTorch und JAX vorbereiteten Modelle zu vereinheitlichen, um ein effektives Training und eine effektive Ausführung auf verschiedenen GPUs und spezialisierten Beschleunigern zu ermöglichen. Unternehmen wie Google, NVIDIA, AMD, Intel, Meta, Apple, Arm, Alibaba und Amazon haben sich der gemeinsamen Arbeit an dem Projekt angeschlossen.
Es wird erwartet, dass es durch die Kombination der Bemühungen führender Forschungsteams und Community-Vertreter möglich sein wird, die Entwicklung maschineller Lernsysteme anzuregen und das Problem der Infrastrukturfragmentierung für verschiedene Frameworks und Geräte zu lösen. Mit OpenXLA können Sie eine effektive Unterstützung für verschiedene Hardware implementieren, unabhängig vom Framework, auf dem das maschinelle Lernmodell erstellt wird. Es wird erwartet, dass OpenXLA die Modelltrainingszeit verkürzt, den Durchsatz erhöht, die Latenz verringert, die Rechenkosten senkt und die Markteinführungszeit verkürzt.

OpenXLA besteht aus drei Hauptkomponenten, deren Code unter der Apache 2.0-Lizenz vertrieben wird:
- XLA (Accelerated Linear Algebra) ist ein Compiler, der es Ihnen ermöglicht, Modelle für maschinelles Lernen für eine Hochleistungsausführung auf verschiedenen Hardwareplattformen, einschließlich GPUs, CPUs und speziellen Beschleunigern verschiedener Hersteller, zu optimieren.
- StableHLO ist eine Spezifikation und grundlegende Implementierung einer Reihe von High-Level-Operationen (HLO, High-Level Operations) zur Verwendung in Systemmodellen für maschinelles Lernen. Fungiert als Schicht zwischen Frameworks für maschinelles Lernen und Compilern, die das Modell für die Ausführung auf bestimmter Hardware umwandeln. Für die Frameworks PyTorch, TensorFlow und JAX sind Schichten zur Generierung von Modellen im StableHLO-Format vorbereitet. Das MHLO-Set dient als Grundlage für StableHLO, das um die Unterstützung von Serialisierung und Versionierung erweitert wird.
- IREE (Intermediate Representation Execution Environment) ist ein Compiler und eine Laufzeit, die Modelle für maschinelles Lernen in eine universelle Zwischendarstellung basierend auf dem MLIR-Format (Multi-Level Intermediate Representation) aus dem LLVM-Projekt umwandelt. Zu den Funktionen gehören 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 sowie ein geringer Overhead.
Die Hauptvorteile des OpenXLA-Toolkits:
- Erreichen Sie optimale Leistung, ohne sich um das Schreiben von gerätespezifischem Code kümmern zu müssen. Bereitstellung vorgefertigter Optimierungen, einschließlich der Vereinfachung algebraischer Ausdrücke, effizienter Speicherplatzierung und Planung der Ausführung unter Berücksichtigung der Reduzierung von Spitzenspeicherverbrauch und Überlastungen.
- Vereinfachung der Skalierung und Parallelisierung von Berechnungen. Der Entwickler muss lediglich Anmerkungen für eine Teilmenge kritischer Tensoren hinzufügen, auf deren Grundlage der Compiler automatisch Code für paralleles Rechnen generieren kann.
- Sorgen Sie für Portabilität durch Unterstützung verschiedener Hardwareplattformen wie AMD- und NVIDIA-GPUs, x86- und ARM-CPUs, TPU Googl ML-Beschleuniger, AWS Trainium Inferentia IPUs, Graphcore und Cerebras Wafer-Scale Engine.
- Unterstützung für die Verbindung von Erweiterungen mit der Implementierung zusätzlicher Funktionen, z. B. Unterstützung für das Schreiben von Grundelementen für tiefes maschinelles Lernen mit CUDA, HIP, SYCL, Triton und anderen Sprachen für paralleles Rechnen. Möglichkeit der manuellen Optimierung von Engpässen in Modellen.
Source: opennet.ru
