要旨: すべてのMLカーネルには、それが何を計算するかに関する暗黙の契約(implicit contract)が付随しています。人々はその契約を書き下すことはめったにありません。2つのカーネルが食い違う場合――AMDで行った行列積(matmul)が、同じ行列積のNVIDIAでの結果と異なる勾配を返すとき、結合された注意(fused attention)カーネルが蓄積器(accumulator)を静かにダウンキャストするとき、あるスタックでは範囲外アクセスがゼロを返し、別のスタックではガベージ(ゴミデータ)を返すとき――紛争を裁定するための形式的な成果物(formal artifact)は存在しません。最近の実証研究は、シリコン・プラットフォーム間のギャップを測定してきましたが、それらはいずれも、違反されるべき契約そのものを特定していません。
私たちはカーネル契約のための仕様言語を提示します。契約は8つの部分から成ります: 識別子(identifier)、スコープ(scope)、前提条件(precondition)、事後条件(postcondition)、許容誤差(tolerance)、参照オラクル(reference oracle)、計測プロトコル(measurement protocol)、違反シグネチャ(violation signature)。これを用いて、精度(precision)、順序(ordering)、コンパイラが引き起こすもの(compiler-induced)、および例外的な値(exceptional-value)の失敗モードをカバーする12の契約クラスを定式化します。これらはすべて、公表された実証的エビデンスに基づいています。私たちは3状態のキャリブレーションを要求します: すべての契約は、少なくとも1つの参照に適合する実装と、基本的な機能テストに合格する少なくとも1つの契約違反の実装を含まなければなりません。この枠組みを、3つの記録されたインシデント――Huawei Ascendによるサイレントな精度強制(silent precision coercion)、Sakana AIのCUDAエンジニアによるリワードハッキング、AMDにおける範囲外アクセスのサイレントな許容(out-of-bounds silent acceptance)――に適用し、それぞれの非公式な診断が、測定可能なシグネチャを伴う特定の契約違反に対応づけられることを示します。カーネル契約スイートは、ISASecureが工業用制御システムをIEC 62443に照らして評価するのと同様に、適合性を段階評価(graded)するための規範的参照(normative reference)となります。
カーネル契約:異種シリコンにわたるMLカーネルの正しさを保証するための仕様言語
arXiv cs.LG / 2026/4/27
📰 ニュースDeveloper Stack & InfrastructureModels & Research
要点
- この論文は、MLカーネルが「暗黙の契約」に依存しているにもかかわらず、契約が文書化されないまま運用されるために、ハードウェア/ソフトウェア環境の違いで結果が食い違うと論争が生じると主張しています。
- 提案されるのは、8つの構成要素(識別子、スコープ、事前条件/事後条件、許容誤差、参照オラクル、計測プロトコル、違反シグネチャ)を明示する「カーネル契約」の仕様言語です。
- 著者らは、精度・順序・コンパイラ起因・例外的な値に関する失敗モードを含む12種類の契約クラスを定義し、公開された実験的エビデンスに基づけています。
- 重要な要件として、各契約は「参照準拠の実装」と「基本的な機能テストは通るが契約違反の実装」の少なくとも2種類を含むことに加え、三状態のキャリブレーションを行う必要があるとしています。
- さらに、Huawei Ascendのサイレントな精度強制(silent precision coercion)やAMDの範囲外アクセスのサイレント受容(out-of-bounds silent acceptance)などの既知のインシデントに適用し、非公式な診断が計測可能なシグネチャを伴う特定の契約違反に対応づけられることを示しています。
- 提案される「カーネル契約スイート」は、ISASecureがIEC 62443に基づいて産業用制御システムを評価するのと同様の考え方で、カーネルの適合度を格付けするための規範的ベンチマークとして位置づけられています。




