StableHLO

StableHLO é um conjunto para operações de alto nível (HLO, na sigla em inglês) em modelos de machine learning (ML). Essencialmente, é uma camada de portabilidade entre diferentes frameworks e compiladores de ML: frameworks de ML que produzem programas StableHLO são compatíveis com compiladores de ML que consomem programas StableHLO.

Nosso objetivo é simplificar e acelerar o desenvolvimento de ML criando mais interoperabilidade entre vários frameworks de ML (como TensorFlow, JAX e PyTorch) e compiladores de ML (como XLA e IREE).

O StableHLO é baseado no dialeto MHLO e o aprimora com outras funcionalidades, incluindo serialização e controle de versões. Usamos o bytecode MLIR como formato de serialização e oferecemos garantias de compatibilidade com versões anteriores e posteriores. Isso garante compatibilidade entre frameworks e compiladores, mesmo à medida que o StableHLO continua evoluindo.

Esse repositório inclui a especificação StableHLO (em inglês) com uma implementação baseada em MLIR em C++ e Python, que pode ser usada para definir programas StableHLO para consumo por compiladores como XLA e IREE.

Criar instruções

Consulte StableHLO no GitHub (em inglês) para instruções de build.

Comunidade

Criar uma camada de portabilidade incrível entre os frameworks de ML e os compiladores de ML requer colaboração em todo o setor de ML. Por isso, estamos felizes em ter sua ajuda no projeto do StableHLO.

Estamos usando problemas do GitHub / solicitações de envio para organizar o desenvolvimento e openxla-discuss para ter discussões mais longas. Também temos um canal #stablehlo no servidor do OpenXLA do Discord.