Model2Kernel: 安全なCUDAカーネルのためのモデル認識型シンボリック実行

arXiv cs.AI / 2026/3/27

📰 ニュース

要点

  • Model2Kernelは、LLM推論で特に使用されるCUDAカーネルのメモリ安全性を自動的に検証するための、最初の実用的なシステムとして提示される。テンソルのレイアウトやインデックス付けがモデル依存であることに対処する。

要旨: 大規模言語モデル(LLM)の広範な普及により、GPU による推論(inference)は現代の計算基盤の重要な一部となっています。実運用の推論システムでは、コアとなるトランスフォーマ処理を実装するために CUDA カーネルに依存していますが、これらのカーネルは、モデル依存のテンソル配置、複雑なメモリ参照(indexing)、および大量のスレッド単位の並列性のため、メモリ安全性(memory-safety)に関するバグに非常に影響を受けやすくなっています。このようなバグは、モデルの重みを破壊したり、推論サービスをクラッシュさせたり、さらには敵対的攻撃を可能にすることさえあります。既存の手法は、利用できないハードウェアに依存するか、大きなオーバーヘッドを生じるか、あるいはカーネル入力の可変長に対応できないなどの理由で、有効に機能しません。また、LLM 推論システムにおける CUDA メモリバグを効果的に検出できる手法は存在しません。本論文では、LLM 推論に用いられる CUDA カーネルのメモリ安全性を自動的に検証するための最初の実用的システムである Model2Kernel を提案します。Model2Kernel は、各モデルがどのようにカーネルを呼び出すかを判定するために、モデルを考慮した動的解析を行い、カーネル引数を「モデルのアーキテクチャによって固定されるもの」と「モデル利用者が制御するもの」のいずれかに分類します。これらの情報を用いて、Model2Kernel は、動的テンソルメモリとスレッド識別子に関する新しい抽象化を支えとして CUDA に特化したシンボリック実行を適用し、カーネル内のメモリバグを正確に特定します。vLLM、Hugging Face、ならびに近年の LLM 研究論文にある CUDA カーネルとモデルを対象とした評価において、Model2Kernel は、わずか 9 件の誤検出(false positives)で 353 件の従来未発見のバグを発見し、その有効性を示しました。

広告