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 の Issues / pull リクエストを使用して開発を整理し、openxla-discuss を使用してより長いディスカッションを行っています。OpenXLA Discord サーバーにも #stablehlo
チャネルがあります。