Metalバックエンドは、2〜16のソース行を対象とした新しい行列乗算カーネルを導入し、テンソルAPIを欠くApple Siliconデバイスでより高速な推論デコーディングを可能にします。これらのカーネルは重みを一度だけ脱量子化し、K次元をスレッドグループ間で分割することで、以前のmat-vecアプローチと比較して大幅なパフォーマンス向上を実現します。

  • Q4_0、Q8_0、Q5_K用の特定のMMAカーネルを実装し、F32、F16、その他の量子化タイプには汎用パスを提供。
  • 行カウントがmat-vecカーネルを上回る閾値を超えた場合、MTLGPUFamilyApple7+以上のハードウェアでこれらのカーネルを有効化。
  • MUL_MAT + ADD演算を結合する融合ロジックを追加し、最大16の隣接する同じレイアウトのf32コピーを単一のディスパッチにバッチ処理。
  • グラフ最適化器とエンコーダーを更新し、デバイスプロパティ、並列性チェック、および融合グループのビュー追跡に対応。

この最適化により、M3 Ultraハードウェアにおける推論デコーディングのパフォーマンス低下が解消され、小さなバッチサイズでもテンソル演算が効率的に維持されます。