StableHLO 是针对机器学习 (ML) 模型中的高级操作 (HLO) 的操作集。从本质上讲,它是不同机器学习框架和机器学习编译器之间的可移植层:生成 StableHLO 程序的机器学习框架与使用 StableHLO 程序的机器学习编译器兼容。
我们的目标是在各种机器学习框架(例如 TensorFlow、JAX 和 PyTorch)与机器学习编译器(例如 XLA 和 IREE)之间建立更高的互操作性,从而简化和加速机器学习开发。
StableHLO 基于 MHLO 方言,通过额外的功能(包括序列化和版本控制)对其进行了增强。我们使用 MLIR 字节码作为序列化格式,并提供向后和向前兼容性保证。即使 StableHLO 不断发展,也能确保框架和编译器之间的兼容性。
此代码库包含 StableHLO 规范,以及在 C++ 和 Python 中基于 MLIR 的实现,您可以使用它们定义 StableHLO 程序以供 XLA 和 IREE 等编译器使用。
构建说明
如需查看构建说明,请参阅 GitHub 上的 SttableHLO。
社区
在机器学习框架和机器学习编译器之间构建令人惊叹的可移植层需要整个机器学习行业的协作,因此,我们很乐意帮助您参与 StableHLO 项目。
我们使用 GitHub 问题 / 拉取请求来组织开发工作,并使用 openxla-discuss 进行更长时间的讨论。此外,我们在 OpenXLA Discord 服务器上还有一个 #stablehlo
频道。