- Sigstore署名とNix再現ビルドで配布セキュリティを強化
- Torch Stable ABI・TVM FFI対応でPyTorch/JAX/CuPy横断利用が可能に
- LLMエージェントが自律的にカーネル最適化できるCLI設計を導入
GPU最適化の民主化を加速する刷新
2025年初頭、HuggingFaceは機械学習カーネルの配布基盤「Kernels」を大幅に刷新しました。この更新により、コミュニティ主導のGPU最適化が安全性・再現性・相互運用性の3軸で大きく前進します。
従来のKernelsは、開発者が独自のCUDAカーネルやTritonカーネルをHugging Face Hubで共有できる仕組みでしたが、コード署名の不在や特定フレームワークへの依存が課題でした。今回の刷新では、これらの問題に正面から取り組んでいます。
Sigstore署名で配布の信頼性を確保
今回の刷新で最も重要な変更の一つが、Sigstoreによるコード署名の導入です。Sigstoreは、Linux Foundationがホストするオープンソースのソフトウェア署名基盤であり、透明性ログとキーレス署名を組み合わせることで、従来のGPG鍵管理の複雑さを解消します。
開発者がKernelsにカーネルコードをアップロードすると、HuggingFaceのビルドシステムが自動的にSigstore署名を付与します。利用者は署名を検証することで、コードが改ざんされていないこと、公式リポジトリから配布されたものであることを確認できます。
この仕組みにより、第三者によるマルウェア混入や供給チェーン攻撃のリスクが大幅に低減されます。機械学習インフラにおけるセキュリティ標準が、PyPI(Python Package Index)のような成熟したエコシステムに近づいたといえるでしょう。
Nixで完全に再現可能なビルド環境を実現
セキュリティ強化のもう一つの柱が、Nixパッケージマネージャーを用いた再現可能ビルドです。機械学習カーネルのビルドは、CUDAツールキットのバージョン、コンパイラ最適化フラグ、依存ライブラリのバージョンといった多数の変数に依存するため、従来は「開発環境では動くが本番環境では動かない」という問題が頻発していました。
Nixは宣言的な設定ファイルで依存関係を完全に固定し、ビルド環境を原子的に再現します。Kernelsでは、各カーネルに`.nix`設定ファイルを添付することで、誰でも同一のバイナリを生成できる仕組みを提供します。
これにより、研究者が論文で報告した性能を他の開発者が完全に再現できるようになり、機械学習研究の再現性危機への一つの回答となります。
フレームワーク横断で使えるマルチABI対応
技術面での最大の進化が、Torch Stable ABIとApache TVM FFIへの対応です。従来のカスタムカーネルは特定のフレームワーク(多くの場合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エージェントが標準出力とエラーコードを解釈しやすい形式で結果を返すため、自律的な最適化ループを構築できます。例えば、推論最適化エージェントが次のようなワークフローを自動実行できます。1) ベースライン性能を計測、2) Kernelsライブラリから候補カーネルを検索、3) 各カーネルをベンチマーク、4) 最速のカーネルを本番環境にデプロイ。人間の介入なしに継続的な性能改善が可能になります。開発者コミュニティへの影響この刷新により、GPU最適化への参入障壁が大きく下がります。従来は、CUDAプログラミング、フレームワーク内部構造の理解、複雑なビルド環境の構築といったハードルがありましたが、Kernelsのセキュアな配布基盤と再現可能ビルドにより、コミュニティメンバーが作成したカーネルを安心して利用できるようになります。また、マルチフレームワーク対応により、研究段階ではJAX、本番ではPyTorchという構成を持つチームでも、同一のカーネルを使い回せます。加えて、LLMエージェントとの統合により、専門知識を持たない開発者でも最適化の恩恵を受けることが可能です。これにより、小規模チームでも大企業並みの推論性能を実現でき、イノベーションの加速が期待されます。詳細はHugging Faceの公式ブログで確認できます。今後のカーネル最適化エコシステムの発展が注目されます。