StableHLO

StableHLO è un set di operazioni per operazioni di alto livello (HLO) nei modelli di machine learning (ML). Essenzialmente, è un livello di portabilità tra diversi framework ML e compilatori ML: i framework ML che producono programmi StableHLO sono compatibili con i compilatori ML che utilizzano programmi StableHLO.

Il nostro obiettivo è semplificare e accelerare lo sviluppo ML creando una maggiore interoperabilità tra vari framework ML (come TensorFlow, JAX e PyTorch) e compilatori ML (come XLA e IREE).

StableHLO si basa sul dialetto MHLO e lo migliora con funzionalità aggiuntive, tra cui serializzazione e controllo delle versioni. Utilizziamo il bytecode MLIR come formato di serie e forniamo garanzie di compatibilità con le versioni precedenti e successive. Ciò garantisce la compatibilità tra framework e compilatori, anche con l'evoluzione di StableHLO.

Questo repository include la specifica StableHLO, oltre a un'implementazione basata su MLIR in C++ e Python, che puoi utilizzare per definire i programmi StableHLO per l'utilizzo da parte di compilatori come XLA e IREE.

Istruzioni per la creazione

Consulta StableHLO su GitHub per istruzioni sulla build.

Community

La creazione di uno straordinario livello di portabilità tra framework ML e compilatori ML richiede la collaborazione nell'intero settore ML, quindi siamo lieti di avere il tuo aiuto per il progetto StableHLO.

Usiamo problemi GitHub / richieste di pull per organizzare lo sviluppo e openxla-discuss per avere discussioni più lunghe. Abbiamo anche un canale #stablehlo sul server OpenXLA Discord.