- Sigstore署名とNix再現ビルドで配布セキュリティを強化
- Torch Stable ABI・TVM FFI対応でPyTorch/JAX/CuPy横断利用が可能に
- LLMエージェントが自律的にカーネル最適化できるCLI設計を導入
GPU最適化の民主化を加速する刷新
2025年初頭、Hugging Faceは機械学習カーネルの配布基盤「Kernels」を大幅に刷新しました。今回の更新は、コミュニティ主導のGPU最適化を安全性・再現性・相互運用性の3点で改善する内容です。
従来のKernelsは、開発者が独自のCUDAカーネルやTritonカーネルをHugging Face Hubで共有できる仕組みでした。一方で、コード署名がないことや特定フレームワークへの依存が課題とされており、今回の刷新はこれらに対応しています。
Sigstore署名で配布の信頼性を確保
刷新の柱の一つが、Sigstoreによるコード署名の導入です。Sigstoreは、Linux Foundationがホストするオープンソースのソフトウェア署名基盤です。改ざんできない公開記録である透明性ログと、鍵を利用者が管理しなくてよいキーレス署名を組み合わせ、従来のGPG鍵管理の手間を省きます。
開発者がKernelsにカーネルコードをアップロードすると、Hugging Faceのビルドシステムが自動的にSigstore署名を付与します。利用者は署名を検証することで、コードが改ざんされていないこと、公式リポジトリから配布されたものであることを確認できます。
この仕組みにより、第三者によるマルウェア混入や、配布経路を狙う供給チェーン攻撃のリスクが下がります。機械学習インフラのセキュリティ水準が、PyPI(Python Package Index)のような成熟したエコシステムに近づいたといえます。
Nixで完全に再現可能なビルド環境を実現
セキュリティ強化のもう一つの柱が、Nixパッケージマネージャーを用いた再現可能ビルドです。機械学習カーネルのビルドは、CUDAツールキットのバージョン、コンパイラ最適化フラグ、依存ライブラリのバージョンなど多数の条件に左右されます。そのため従来は「開発環境では動くが本番環境では動かない」という問題が頻発していました。
Nixは宣言的な設定ファイルで依存関係を完全に固定し、ビルド環境をまるごと再現します。Kernelsでは各カーネルに.nix設定ファイルを添付することで、誰でも同一のバイナリを生成できるようにしています。
これにより、研究者が論文で報告した性能を他の開発者が再現しやすくなります。機械学習研究で指摘されている再現性の問題に対して、一つの手段になると見られます。
フレームワーク横断で使えるマルチABI対応
技術面での大きな変更が、Torch Stable ABIとApache TVM FFIへの対応です。ABIはプログラム同士をバイナリの水準でつなぐ取り決めを指します。従来のカスタムカーネルは特定のフレームワーク(多くの場合PyTorch)に強く依存しており、JAXやCuPyで再利用するには大規模な書き換えが必要でした。
Torch Stable ABIは、PyTorchの内部実装に依存しない安定したインターフェース層を提供します。PyTorchのバージョンアップでカーネルが動作しなくなるリスクがなくなり、長期的なメンテナンス負担も軽くなります。
一方、Apache TVM FFIは、異なる機械学習フレームワーク間で共通のカーネルインターフェースを定義するオープンスタンダードです。KernelsがTVM FFIをサポートしたことで、同一のカーネルコードをPyTorch、JAX、CuPyのいずれからも呼び出せるようになりました。
例えば、FlashAttentionのようなカスタムAttentionカーネルを一度実装すれば、PyTorchベースの推論サーバーでもJAXベースの研究コードでも使い回せます。関連技術として、FlashMorphによるTransformerのHybrid Attention変換手法も、こうしたカーネル最適化の恩恵を受けられます。
LLMエージェントが自律的に最適化するCLI
他の変更点と異なる特徴が、LLMエージェント向けのCLI(Command Line Interface)設計です。従来のカーネル最適化では、CUDA開発者が手動でプロファイリングを行い、ボトルネックを特定してカーネルコードを書き換える必要がありました。
新しいKernels CLIは、hf-kernels optimize --model --hardwareのような単純なコマンドで、モデルとハードウェア構成に応じた最適なカーネルを自動検索します。結果はLLMエージェントが標準出力とエラーコードを解釈しやすい形式で返されるため、自律的な最適化ループを組めます。
例えば推論最適化エージェントは、ベースライン性能の計測、Kernelsライブラリからの候補カーネルの検索、各カーネルのベンチマーク、最速カーネルの本番環境へのデプロイという流れを自動で実行できます。これにより、人間が介入しなくても継続的に性能を改善できる仕組みになっています。
従来のGPU最適化には、CUDAプログラミング、フレームワーク内部構造の理解、複雑なビルド環境の構築といったハードルがありました。今回の刷新は、次の点でこうしたハードルを下げる内容です。
- 署名付きの配布基盤と再現可能ビルドで、コミュニティ製のカーネルを安心して使える
- マルチフレームワーク対応で、研究はJAX、本番はPyTorchというチームも同じカーネルを使い回せる
- LLMエージェントとの統合で、専門知識を持たない開発者も最適化を利用できる
これらが組み合わさることで、小規模なチームでも高い推論性能を得やすくなると見られます。詳細はHugging Faceの公式ブログで確認できます。