StableHLO to operacja ustawiona na potrzeby operacji wysokiego poziomu w modelach systemów uczących się. Zasadniczo jest to warstwa przenośności między różnymi platformami ML i kompilatorami ML: platformy systemów uczących się, które tworzą programy StableHLO, są zgodne z kompilatorami ML, które używają programów StableHLO.
Naszym celem jest uproszczenie i przyspieszenie tworzenia systemów uczących się przez zapewnienie większej interoperacyjności między różnymi platformami ML (np. TensorFlow, JAX i PyTorch) a kompilatorami ML (np. XLA i IREE).
StableHLO jest oparty na dialekcie MHLO i wzbogaca go o dodatkowe funkcje, takie jak serializacja i obsługa wersji. Jako formatu serializacji używamy kodu bajtowego MLIR i zapewniamy zgodność wsteczną i przyszłą. Zapewnia to zgodność między platformami i kompilatorami, nawet w miarę ewoluowania systemu StableHLO.
To repozytorium zawiera specyfikację StableHLO oraz implementację opartą na MLIR w językach C++ i Python. Pozwala ona definiować programy StableHLO do wykorzystania przez kompilatory takie jak XLA i IREE.
Instrukcje kompilacji
Instrukcje kompilacji znajdziesz na stronie StableHLO na GitHubie.
Społeczność
Stworzenie wyjątkowej warstwy przenośności między platformami ML i kompilatorami ML wymaga współpracy z całą branżą systemów uczących się, dlatego z przyjemnością pomożemy Ci przy projekcie StableHLO.
Rozwiązania problemów w serwisie GitHub i żądania pull wykorzystujemy do organizowania programowania, a openxla-discuss pozwala na dłuższe dyskusję. Mamy też kanał #stablehlo
na serwerze OpenXLA Discord.