EdgeKernelBench、大規模言語モデルのエッジ向けカーネル生成を評価
導入
大規模言語モデルは、サーバー向けGPUで高性能な計算カーネルを生成できることを示してきた。しかし、エッジ環境では事情が異なる。ハードウェアは多様で、コンパイラーやランタイムは分断され、メモリー、電力、計算量の制約も厳しい。そこで本研究は、異なるエッジバックエンドを横断してLLMによるカーネル生成を評価する EdgeKernelBench と、階層的な中間表現で最適化を進める Layered Edge Kernel Agent(LEKA) を提案した。
主なポイント
- 統一IRでバックエンドを接続。 計算、スケジューリング、メモリーに関する再利用可能な判断を統一形式で表し、コンパイラーインターフェースを通じて各ターゲットへ接続する。実装の基準にはTVMを用いた。
- プログラム規模を段階化。 評価対象は単一演算子から小規模なモデルグラフへ広がり、代表的なエッジ用途も扱う。局所的なコード生成能力が、より大きなワークロードへ移るかを確認できる設計だ。
- 正しさと速さは一致しない。 単一回の生成では、最良モデルのCorrect@1が64.5%に達した一方、Fast@1.0は25.5%だった。動作するカーネルでも、対象デバイスで十分な高速化を実現するとは限らない。
- LEKAは最適化を階層化。 一度にコードを出力するのではなく、階層IR上の判断を順に改善する。エージェント評価ではFast@1.0が43.5%となり、直接生成の13.0%、Claude Codeの26.1%を上回った。両者の基盤モデルと最適化予算は同じである。
意義と影響
EdgeKernelBenchの意義は、エッジ向けカーネル生成を個別ハードウェアの事例から、比較可能な研究課題へ整理した点にある。統一IRはバックエンドごとの表現差を抑え、階層ベンチマークは演算子レベルとモデルレベルのタスクを同じ枠組みで測定する。また、コード生成モデルを評価する際、コンパイル成功率や機能的正しさだけでなく、実機での性能を確認すべきことも示している。
LEKAの結果は、コードを何度も書き換えさせるだけでなく、スケジューリング、メモリーアクセス、バックエンド制約を階層的に扱うことの有効性を示唆する。ハードウェアやコンパイラーによって結果は変わり得るが、本研究はエッジ向けカーネル生成エージェントを比較するための基盤を提示した。
コメント
ログイン状態を確認中…
コメントを読み込み中…