- ハーバード大などがHawkeye公開、GPUカーネル自動生成を支援
- 単位テストの分類体系でハードウェア固有の最適化を学習
- 新興アテンションで既存ライブラリを上回る性能を達成
発表内容と開発体制
米ハーバード大学、スタンフォード大学、Together AI、カリフォルニア工科大学の研究者らは、AIエージェントがGPUカーネルを効率的に記述できるようにするためのオープンソースフレームワーク「Hawkeye」を発表した。特定のGPUハードウェア向けに最適化されたカーネルを、最小限の人間の監督で生成することを目指している。
「最小限かつ包括的な分類体系」に基づき、自律的なカーネル生成を実現する点が特徴だ。研究チームは、このフレームワークにより、新興のハードウェアアクセラレータを支援する際のオーバーヘッドを削減できるとしている。
仕組み: 単位テストの分類体系
Hawkeyeの核となるのは、ハードウェアプラットフォームと最適化戦略を単位テストとしてパッケージ化した分類体系だ。各単位テストは、人間が作成した解決カーネルと、最適化を検証するプロファイリング指標を最小限の組み合わせとして提供する。
エージェントは、このカーネルを構文例として読み、直接呼び出し、または断片を組み合わせてより大きなカーネルを構成することができる。これにより、アーキテクチャ固有の機能を最大限に活用したコード生成が可能になる。
性能評価の結果
研究チームは、PyTorchワークロードをNVIDIA Ampere、Hopper、Blackwell、AMD MI350向けの高性能カーネルに移植して評価した。精度はBF16、FP8、NVFP4、MXFP4の各形式で検証している。
確立済みのワークロードでは、torch.compileがcuBLASやcuDNNなどの専門家向けライブラリにディスパッチする場合と比較して、Hawkeyeは同等以上の性能を示した。新興のアテンション変種では、Flash Linear Attentionライブラリの専門家作成Tritonカーネルに対して相乗平均で18.9倍の高速化を達成し、Blackwellでは1.22倍、MI350では1.00倍という結果だった。
意義と注意点
Hawkeyeの成果は、人間が厳選した知識を少し与えるだけで、AIシステムが高度に最適化された人間の作業に追いつき、上回ることができることを示している。GPUカーネルのような複雑なチューニング作業が自動化される可能性がある。
ただし、この手法は単位テストの分類体系を事前に人間が整備することが前提だ。また、カーネル生成の性能は、ベースとなるモデルの能力に依存すると考えられる。現時点では、評価対象外のGPUや新しいアーキテクチャへの汎用性は不明である。
| 項目 | Hawkeye | 既存手法 |
|---|---|---|
| 確立済みワークロード | 同等以上 | torch.compile (cuBLAS等) |
| 新興アテンション(相乗平均) | 18.9倍高速 | Flash Linear Attention (専門家作成Tritonカーネル) |
| Linear Attention (Blackwell) | 1.22倍 | FLA |
| Linear Attention (MI350) | 1.00倍 | FLA |
an open-source framework that grounds autonomous kernel generation in a minimal and comprehensive taxonomy
「最小限かつ包括的な分類体系に基づいて、自律的なカーネル生成を基礎づけるオープンソースフレームワーク」
今後の見通し
Hawkeyeのようなフレームワークは、AIエージェントによるハードウェア最適化の新しい流れを示している。今後は、分類体系を拡張してより多くのアーキテクチャや精度形式をカバーするかどうか、またテスト時計算のスケーリングがどの程度まで性能向上に寄与するかが焦点になりそうだ。さらに、Hawkeyeが生成したカーネルが実運用でどの程度安定しているか、検証が進めば判断材料がそろうとみられる。
日本の開発者・IT企業にとっての意味
日本のIT企業にとって、HawkeyeはGPUカーネル最適化にかかる高コストな作業をAIで代替する可能性を示します。特に、新しいハードウェアの導入を検討する際、専門知識の不足が障害になるケースでは、AIエージェントが支援ツールとして有用になり得ます。また、カーネル最適化の自動化が進めば、AIシステム自体の性能向上にも寄与し、開発工程におけるエンジニアの役割が変化する可能性があります。一方で、Hawkeyeはまだ研究段階であり、本番環境への適用には検証が必要です。
気になる点
- Hawkeyeは誰でも使えますか?
- オープンソースのフレームワークとして公開されていると原文にあります。ただし、具体的なライセンス形態やコードの入手先は記事内では明記されておらず、詳細は論文やプロジェクトページの確認が必要です。
- 対応するGPUはどのようなものがありますか?
- NVIDIA Ampere、Hopper、Blackwell、AMD MI350で評価されています。対応精度はBF16、FP8、NVFP4、MXFP4で、新しいハードウェアや精度への対応状況は現時点では不明です。
- 既存のPyTorchコードから簡単に移行できますか?
- 評価はPyTorchワークロードを移植する形で行われていますが、具体的な移行手順やツールの統合方法は原文では説明されていません。研究段階のため、実運用へそのまま適用するには追加の検証が必要です。
用語解説
- GPUカーネル
- GPU上で実行される処理を記述した関数。性能に直結するため、ハードウェアごとの最適化が重要。
- 単位テスト
- ソフトウェアの個々の機能を検証するテスト。ここではカーネル最適化の評価基準を指す。
- torch.compile
- PyTorchのコンパイル機能。事前定義されたカーネルライブラリに処理を最適化して実行する。
- テスト時計算
- モデルが推論時に多くの計算を利用して性能を高める手法。カーネル生成の試行回数を増やすことも含まれる。
出典
Import AI 470: No rights for machines; automating environment generation with SPADE; and building better GPU kernels with Hawkeye
https://importai.substack.com/p/import-ai-470-no-rights-for-machines
AI導入も顧問も、お任せください
何から手をつけるか、どこまでAIに任せるか。自社の業務に合わせて整理し、導入から運用まで伴走します。相談だけでも構いません。
AI導入について相談する