StableHLO

StableHLO-Ökosystem

StableHLO ist ein Satz von High-Level-Operationen (HLO) in Modellen für maschinelles Lernen (ML). Im Grunde ist es eine Portabilitätsschicht zwischen verschiedenen ML-Frameworks und ML-Compilern: ML-Frameworks, die StableHLO-Programme generieren, sind mit ML-Compilern kompatibel, die StableHLO-Programme verwenden.

Unser Ziel ist es, die ML-Entwicklung zu vereinfachen und zu beschleunigen, indem wir die Interoperabilität zwischen verschiedenen ML-Frameworks (z. B. TensorFlow, JAX und PyTorch) und ML-Compilern (z. B. XLA und IREE) verbessern.

StableHLO basiert auf dem MHLO-Dialekt und erweitert ihn um zusätzliche Funktionen wie Serialization und Versionierung. Wir verwenden MLIR-Bytecode als Serialisierungsformat und bieten Abwärts- und Vorwärtskompatibilität. So wird die Kompatibilität zwischen Frameworks und Compilern sichergestellt, auch wenn StableHLO weiter entwickelt wird.

Dieses Repository enthält die StableHLO-Spezifikation sowie eine MLIR-basierte Implementierung in C++ und Python, mit der Sie StableHLO-Programme für Compiler wie XLA und IREE definieren können.

Anweisungen erstellen

Eine Anleitung zum Erstellen finden Sie unter StableHLO auf GitHub.

Community

Der Aufbau einer erstaunlichen Portabilitätsebene zwischen ML-Frameworks und ML-Compilern erfordert eine Zusammenarbeit in der gesamten ML-Branche. Daher freuen wir uns, Ihre Hilfe beim StableHLO-Projekt zu haben.

Wir nutzen GitHub-Probleme / Pull-Anfragen, um die Entwicklung zu organisieren, und openxla-discuss für längere Diskussionen. Wir haben auch einen #stablehlo-Kanal auf dem OpenXLA-Discord-Server.