StableHLO

StableHLO は、機械学習(ML)モデルにおける高レベル オペレーション(HLO)のためのオペレーション セットです。基本的に、これは異なる ML フレームワークと ML コンパイラ間のポータビリティ レイヤです。StableHLO プログラムを生成する ML フレームワークは、StableHLO プログラムを使用する ML コンパイラと互換性があります。

Google の目標は、さまざまな ML フレームワーク(TensorFlow、JAX、PyTorch など)と ML コンパイラ(XLA や IREE など)の間の相互運用性を高め、ML 開発を簡素化して加速することです。

StableHLO は MHLO 言語に基づいており、シリアル化やバージョニングなどの追加機能で強化されています。シリアル化形式として MLIR バイトコードを使用し、下位互換性と上位互換性を保証します。これにより、StableHLO が進化し続ける中でも、フレームワークとコンパイラ間の互換性が保証されます。

このリポジトリには、StableHLO 仕様と C++ および Python での MLIR ベースの実装が含まれており、これを使用して XLA や IREE などのコンパイラが使用する StableHLO プログラムを定義できます。

ビルド手順

ビルド手順については、GitHub の StableHLO をご覧ください。

コミュニティ

ML フレームワークと ML コンパイラの間に優れたポータビリティ レイヤを構築するには、ML 業界全体のコラボレーションが必要であるため、StableHLO プロジェクトにご協力いただき感謝いたします。

開発の整理には GitHub の問題 / pull リクエストを使用し、より長いディスカッションには openxla-discuss を使用します。OpenXLA Discord サーバーにも #stablehlo チャンネルがあります。