openxla/stablehlo

Backward compatible ML compute opset inspired by HLO/MHLO

解决的问题

StableHLO 是一个可移植层,解决了不同的机器学习框架(如 PyTorch、TensorFlow 和 JAX)与为硬件优化它们的编译器(如 XLA 和 IREE)之间的不兼容问题。它确保由一个框架生成的模型可以可靠地被各种编译器使用,而无需为每种组合重新编写代码。

工作原理

它为 ML 模型提供了一套标准的高层操作 (HLO)。基于 MLIR (Multi-Level Intermediate Representation) 方言,它通过序列化和版本控制增强了 MHLO 方言。通过使用 MLIR 字节码作为序列化格式,它提供了向后和向前兼容性保证,允许框架和编译器使用稳定且版本化的接口进行通信。

适用对象

本项目面向需要创建可通过 XLA 和 IREE 等编译器在各种硬件上运行的互操作模型的 ML 编译器工程师和框架开发人员,也面向通过 Google AI Edge 在设备上部署模型的人员。

亮点

  • 互操作性:通过弥合 JAX、PyTorch 和 TensorFlow 等框架之间的鸿沟来简化开发。
  • 版本化稳定性:使用 MLIR 字节码,确保随着操作集的演进,程序仍保持兼容性。
  • 广泛的兼容性:与 XLA 和 IREE 等 ML 编译器兼容。
  • 转换工具:包括将 StableHLO 程序(包括权重和偏置)转换为 TensorFlow SavedModels 的工具。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目