軽量化シリーズ #5 — QAT:学習で量子化誤差を取り戻す

PTQは大きなモデルには効きますが、小さなモデル・低ビットでは崩壊します(2ビットで13.6%まで)。解決策は学習そのものに量子化を組み込むQATです。forwardにfake quantizationを差し込み、roundの勾配が0という問題をSTE(Straight-Through Estimator)で突破します。roundは微分が0なのに、なぜ学習できるのか? — MNIST MLPで直接測定したplotとともに。

2026年5月11日 · 3 分 · rick

軽量化シリーズ #4 — 低ビット量子化:アウトライアとの戦い

FP4が表現できる値はたった15個。それなのに最新GPUはどうやって4ビットで推論を回すのでしょうか?低ビット量子化を崩壊させる犯人はアウトライアです。アウトライア1個が層を丸ごと消す実験から、グループ量子化(MXFP4)・KLクリッピング・AdaRound・Hadamard回転という4つの処方箋まで — 2ビットで53%まで崩れた精度が97%に戻る実験とともに、コードで1つずつ検証します。

2026年5月4日 · 3 分 · rick

軽量化シリーズ #3 — ニューラルネット・プルーニング

1989年、LeCunのOptimal Brain Damageから始まる、重みを刈り込んで(pruning)モデルを小さくする物語。何を・どうやって・どれだけ削るのか、再学習すれば95%削ってもびくともしない圧縮の驚き、そしてハードウェア(NVIDIA 2:4)が支えて初めて実利益が出るところまで — MNIST MLPで実測したplotとともに。

2026年4月27日 · 3 分 · rick

軽量化シリーズ #2 — ニューラルネット量子化

学習済みの32ビットニューラルネットワークの重みを、K-Means(非均等)とLinear(均等・整数演算)の2つの方式で2〜8ビットまで削ってみます。アフィン写像 r=S(q−Z) から圧縮率・精度のトレードオフまで、MNIST MLPで実際にコードを回して測定したplotとともに。

2026年4月20日 · 3 分 · rick