StableHLO

StableHLO est un ensemble d'opérations destiné aux opérations de haut niveau (HLO) dans les modèles de machine learning (ML). Il s'agit essentiellement d'une couche de portabilité entre différents frameworks et compilateurs de ML: les frameworks de ML qui produisent des programmes StableHLO sont compatibles avec les compilateurs de ML qui utilisent des programmes StableHLO.

Notre objectif est de simplifier et d'accélérer le développement de ML en favorisant l'interopérabilité entre différents frameworks de ML (tels que TensorFlow, JAX et PyTorch) et des compilateurs de ML (tels que XLA et IREE).

Basé sur le dialecte MHLO, StableHLO lui offre des fonctionnalités supplémentaires telles que la sérialisation et la gestion des versions. Nous utilisons le bytecode MLIR comme format de sérialisation et fournissons des garanties de compatibilité ascendante et ascendante. Cela garantit la compatibilité entre les frameworks et les compilateurs, même si StableHLO continue d'évoluer.

Ce dépôt comprend la spécification StableHLO, ainsi qu'une implémentation basée sur MLIR en C++ et Python, que vous pouvez utiliser pour définir des programmes StableHLO destinés à des compilateurs tels que XLA et IREE.

Instructions de création

Consultez la section StableHLO sur GitHub pour obtenir des instructions de compilation.

Communauté

La création d'une couche de portabilité incroyable entre les frameworks de ML et les compilateurs de ML nécessite une collaboration dans l'ensemble du secteur du ML. Nous sommes donc ravis de pouvoir compter sur votre aide pour le projet StableHLO.

Nous utilisons des problèmes et des demandes d'extraction GitHub pour organiser le développement et openxla-discuss pour des discussions plus longues. Nous disposons également d'un canal #stablehlo sur le serveur Discord OpenXLA.