プルーニング(Pruning, 枝刈り)
概要
プルーニング(Pruning, 枝刈り)は、大規模言語モデル の 重要度の低いパラメータ・アテンションヘッド・ニューロンを除去 して、性能をできるだけ保ちながら計算量とメモリを削減する軽量化手法です。量子化(数値精度を落とす)や 知識蒸留(小モデルに知識を移す)と並ぶモデル圧縮技術の一つで、これらと組み合わせて使われることもあります。
重要度の測り方
従来は 大きさ(magnitude)ベース — 値の小さい重みを「重要でない」とみなして削る方法が主流でした。しかしこれは推論タスクでの実際の寄与を反映しないことがあり、近年は 因果的な寄与 を測るアプローチが提案されています。
因果帰属プルーニング(CAP, Daily フィード)
- Pruning via Causal Attribution — 大きさベースではなく、推論タスク上での 因果的影響 を測ってアテンションヘッドの重要度を決める手法(CAP)。少数の推論問題で評価中にヘッドをマスクし、その性能低下から因果スコアを推定、対応する射影行列の重要度の重みへ変換する。20% スパーシティで ARC-Challenge において Wanda 比で最大 61% の相対精度向上を達成し、GSM8K / StrategyQA / ARC-Challenge で検証。中程度のスパーシティ(10〜20%)で特に強く、高スパーシティでは MLP 成分の扱いの制約で有効性が落ちる。「因果スコアリングは大きさベースより推論タスクで効果的」という主張。Pruning_via_Causal_Attribution
トレードオフ
- スパーシティ(削る割合)を上げるほど軽くなるが、ある閾値を超えると精度が急落する
- 何を残すかの基準 が肝心 — 大きさベースは安価だが推論能力を壊しやすく、因果ベースは精度を保ちやすいが評価コストがかかる
- 量子化 や 知識蒸留 と併用して、軽量かつ高性能なモデルを狙うことが多い