FairyFuse:CPU上で融合された三値(テトラ)カーネルによる乗算なしLLM推論

arXiv cs.LG / 2026/4/24

📰 ニュースDeveloper Stack & InfrastructureModels & Research

要点

  • 本論文では、重みを{-1, 0, +1}の三値にすることで浮動小数点の乗算をなくし、マスク付きの加算・減算、または何もしない操作に置き換えるCPU向けLLM推論システム「FairyFuse」を提案しています。
  • FairyFuseは、広く線形(widely-linear)な各層に含まれる8つの実数サブGEMVを1つのAVX-512ループに融合し、「乗算なし」実行を実現します。
  • Roofline解析により、16倍の重み圧縮がメモリ帯域依存のボトルネックを計算側へ寄せる可能性が示され、著者らはカーネルレベルでCPU上の29.6倍の高速化を報告しています。
  • エンドツーエンドのベンチマークでは、Intel Xeon 8558P単一構成で32.4トークン/秒を達成し、llama.cppのQ4_K_Mより1.24倍向上しつつ、WikiText-2のパープレキシティ(5.52 vs 5.47 FP16)などでほぼロスレスな品質を維持しています。
  • この手法はGPUでは利益が小さいため、CPUのメモリ帯域制約に合わせて最適化されていることが示唆されます。

要旨: 大規模言語モデルは、自己回帰生成における主要なボトルネックがメモリ帯域である、CPUのみのプラットフォーム上にますます導入されている。4ビット以下への重み量子化はメモリ負荷を低減するが、既存のシステムは依然として重みを復号(dequantize)し、浮動小数点の乗算を行うため、達成可能な効果が制限される。{-1, 0, +1} の3値重みは、乗算を条件付きの加算、減算、または無操作(no-op)に置き換える、より効率的な代替手段を提供する。Fairy2iは、3値LLMがFP16と同等の品質を実現できることを示しているが、その実行(ランタイム)はこの構造を活用していない。我々は、広く用いられている各ワイドリーン(widely-linear)層に含まれる8つの実数値のサブ-GEMVを、マスク付き加算と減算を用いて、1つのAVX-512ループに融合(fuse)することで、コモディティなCPU上で乗算なしの実行を可能にする推論システム FairyFuse を提示する。これにより、浮動小数点の乗算をゼロにする。Roofline解析では、16倍の重み圧縮により、帯域が制限されたCPU上でメモリバウンドのGEMVが計算(compute)領域へシフトし、GPUではほとんど利益がない一方で、29.6倍のカーネル速度向上が得られることが示される。エンドツーエンドでは、FairyFuse は単一の Intel Xeon 8558P 上で毎秒32.4トークンを達成し、ほぼロスレスな品質(WikiText-2 のパープレキシティ 5.52 vs. 5.47 の FP16、下流精度 66.0%)で llama.cpp の Q4_K_M を1.24倍上回る。

FairyFuse:CPU上で融合された三値(テトラ)カーネルによる乗算なしLLM推論 | AI Navigate