StableHLO è un insieme di operazioni per le operazioni di alto livello (HLO) nei modelli di machine learning (ML). In sostanza, si tratta di 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 di ML creando una maggiore interoperabilità tra vari framework di ML (come TensorFlow, JAX e PyTorch) e compilatori di 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 serializzazione e forniamo garanzie di compatibilità con versioni precedenti e future. Ciò garantisce la compatibilità tra framework e compilatori, anche se StableHLO continua a evolversi.
Questo repository include la specifica StableHLO oltre a un'implementazione basata su MLIR in C++ e Python, che puoi usare per definire programmi StableHLO per l'utilizzo da parte di compilatori come XLA e IREE.
Istruzioni per la compilazione
Consulta StableHLO su GitHub per le istruzioni per la build.
Community
La creazione di un livello di portabilità straordinario tra i framework e i compilatori ML richiede la collaborazione di tutto il settore dell'IA, quindi siamo felici di ricevere il tuo aiuto per il progetto StableHLO.
Utilizziamo i problemi/le richieste di pull di GitHub per organizzare lo sviluppo e openxla-discuss per avere discussioni più lunghe. Abbiamo anche un #stablehlo
canale sul server Discord di OpenXLA.