StableHLO

StableHLO ist ein Vorgangssatz für High-Level-Vorgänge (HLO) in Modellen für maschinelles Lernen (ML). Im Wesentlichen ist es eine Portabilitätsebene zwischen verschiedenen ML-Frameworks und ML-Compilern: ML-Frameworks, die StableHLO-Programme erstellen, sind mit ML-Compilern kompatibel, die StableHLO-Programme nutzen.

Unser Ziel ist es, die ML-Entwicklung durch mehr Interoperabilität zwischen verschiedenen ML-Frameworks (wie TensorFlow, JAX und PyTorch) und ML-Compilern (wie XLA und IREE) zu vereinfachen und zu beschleunigen.

StableHLO basiert auf dem MHLO-Dialekt und bietet zusätzliche Funktionen, einschließlich Serialisierung und Versionsverwaltung. Wir verwenden MLIR-Bytecode als Serialisierungsformat und bieten Abwärts- und Vorwärtskompatibilität. Dadurch wird die Kompatibilität zwischen Frameworks und Compilern sichergestellt, auch wenn StableHLO sich weiter weiterentwickelt.

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

Anweisungen erstellen

Build-Anweisungen finden Sie unter StableHLO auf GitHub.

Community-Tab

Der Aufbau einer erstaunlichen Portabilitätsebene zwischen ML-Frameworks und ML-Compilern erfordert eine Zusammenarbeit in der gesamten ML-Branche. Daher freuen wir uns, dass wir Sie beim StableHLO-Projekt mit Ihrer Hilfe unterstützen können.

Wir verwenden 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.