KForge: LLM-Driven Cross-Platform Kernel Generation for AI Accelerators
KForgeは、2つの協調するLLMエージェントを活用して、AIアクセラレータ向けの高性能カーネルを反復的に生成および洗練させるクロスプラットフォームフレームワークであり、既存の手動チューニング済みおよびコンパイラ最適化済みのベースラインと比較して、NVIDIA B200およびIntel Arc B580の両ハードウェア上で大幅なスループット向上を実現します。
原論文は CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) でライセンスされています。 これは以下の論文のAI生成解説です。著者が執筆または承認したものではありません。技術的な正確性については原論文を参照してください。 免責事項の全文を読む
あなたは、大規模で高速な配送サービスを運営していると想像してください。あなたのフリート(車両群)は、単一の種類のトラックではありません。街中の道路を走る小さなスクーター、高速道路用の大型セミトレーラー、そしてエコゾーン用の電気自動車が混ざり合っています。それぞれの車両は特定の仕事に最適化されていますが、それらはすべて異なる言語を話し、異なるエンジンのルールを持っています。
人工知能(AI)の世界では、まさにこのようなことが起きています。AIシステムは「エージェンティック(Agentic)」になりつつあります。つまり、単に質問に答えるだけでなく、タスクをステップに分解し、ツールを使用し、他のAIエージェントと連携することを意味します。あるステップには重厚な数学的計算(セミトレーラーのようなもの)が必要であり、別のステップには素早く軽い思考(スクーターのようなもの)が必要です。システム全体を高速に動作させるためには、各ステップをその作業に最も適したコンピュータチップ(アクセラレータ)上で実行する必要があります。
問題点:翻訳の悪夢
問題は、これらの異なるチップ向けの「エンジンコード」(カーネルと呼ばれます)を書くことが非常に困難であることです。それは、フェラーリ、トラクター、そしてオートバイのすべてに対してマニュアルを作成するようなものですが、そのマニュアルはそれぞれ異なる言語(CUDA、Metal、SYBCLなど)で書かれています。
- 従来の方法: 人間の専門家が、何年もかけて手作業でコードを書き、微調整してきました。これは時間がかかり、コストがかかり、拡張が困難です。
- 新しい問題: AIを使ってこのコードを書こうとしても、失敗することがよくあります。AIは、一見正しく見えるコードを書いても、エンジンをクラッシュさせたり、NVIDIAのチップでは動作するのにIntelのチップでは完全に失敗したりすることがあります。
解決策:KForge(AIメカニック・チーム)
この論文は、自動的にこれらのエンジンを修理・最適化するために協力して働く、2つの特化したAIメカニックからなるチームとして機能する新しいシステム、KForgeを紹介しています。
一つのAIがすべてをやろうとするのではなく、KForgeは仕事を分割します:
- ジェネレーター(ビルダー/建設者): このAIはコードを書きます。もしコードがクラッシュしたりコンパイルできなかったりすると、「レッドライト」を受け取り、エラーを修正しながら再試行します。
- アナリスト(チューナー/調整者): コードが動作すると、このAIは「ダッシュボード」(プロファイリングデータ)を確認します。「このエンジンは燃料を無駄にしている」とか「車輪が回転しすぎている」といったことを察知します。そして、ビルダーに対して、コードをより速くするための具体的な指示を与えます。
彼らはループの中で働きます:構築 → テスト → 分析 → 微調整 → 繰り返し。 これが、コードが正しく、かつ驚異的な速さになるまで続きます。
結果:2つの異なるレース
著者らは、KForgeがどの程度うまく機能するかを確認するために、2つの非常に異なるシナリオでテストを行いました。
レース1:ヘビーウェイト・チャンピオン(NVIDIA B200)
ここでは、KForgeはNVIDIAのエンジニアが長年完成させてきたコードベース(TensorRT-LLM)と競い合わなければなりませんでした。それは、新人メカニックがF1チームのピットクルーに勝とうとするようなものです。- 結果: KForgeは、2.12%のスピード向上を絞り出すことに成功しました。ハイパフォーマンス・コンピューティングの世界では、チャンピオンをわずか1%上回ることさえ、非常に大きな成果です。それは、世界記録のラップタイムをコンマ数秒削るようなものです。
レース2:新しいトラック(Intel Arc B580)
ここでは、倒すべき「チャンピオン」はいませんでした。ハードウェアは新しく、コピーすべき既存の高性能なコードも存在しませんでした。KForgeはゼロからエンジンを構築しなければなりませんでした。- 結果: KForgeは、このチップ向けに現在利用可能な標準的な未最適化コードよりも、5.13倍高速なコードを生成しました。それは、以前は低速で基本的なものしかなかった場所に、強力な新しいエンジンを誕生させたのです。
なぜこれが重要なのか
この論文は、AIが複雑になるにつれ、あらゆる新しいチップに対して手動でコードを書くことに頼ることはできないと主張しています。KForgeは、AIチームが以下のことを実行できることを示しています:
- さまざまなハードウェアブランド(NVIDIA、Intel、Apple、AMD)間でコードを翻訳すること。
- 自らの間違いを修正すること。
- パフォーマンスデータから学習し、時間の経過とともに高速化すること。
要約すると、KForgeは、AIシステムが、そのチップが高度に調整されたベテランであろうと、全く新しいモデルであろうと、あらゆるコンピュータチップ上で効率的に動作することを助けるツールであり、低レベルのエンジンコードを書くという困難な作業を自動化するものです。
自分の分野の論文に埋もれていませんか?
研究キーワードに一致する最新の論文のダイジェストを毎日受け取りましょう——技術要約付き、あなたの言語で。