StableHLO

Ecossistema StableHLO

O StableHLO é um conjunto de operações 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: os frameworks de ML que produzem programas StableHLO são compatíveis com os 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 mais funcionalidades, incluindo a serialização e a versão. Usamos o bytecode MLIR como formato de serialização e oferecemos garantias de compatibilidade reversa e futura. Isso garante a compatibilidade entre frameworks e compiladores, mesmo que o StableHLO continue evoluindo.

Esse repositório inclui a especificação StableHLO (link em inglês) e 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 para ver instruções de build.

Comunidade

A criação de uma incrível camada de portabilidade entre frameworks e compiladores de ML requer colaboração em todo o setor de ML, por isso ficamos felizes em ter sua ajuda no projeto StableHLO.

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