LLMのプルーニングに関する論文紹介[ICLR2024]
論文名
DYNAMIC SPARSE NO TRAINING : TRAINING-FREE FINE-TUNING FOR SPARSE LLMS
arXivリンク
https://arxiv.org/pdf/2310.08915
ひとこと要約
プルーニングの手法としてDynamic Sparse No Trainingを提案。LLMのプルーニングにおいて、既存手法よりも高精度を達成
メモ
プルーニングの先行研究
Magnitude
絶対値が小さい重みを削除
SparseGP
ヘッセ行列(正確にはヘッセ行列の逆行列)を用いて、再構成誤差を最小化するように重みを削除
ただし逆行列は計算コストが大きいので、Optimal Brain Surgeon(OBS)を採用。
Wanda
重みとそれに対応する入力の活性値の積が小さい重みを削除。
提案手法:Dynamic Sparse No Training
提案手法はプルーニングに加えて、グローイングを採用している。
プルーニング
Wandaの基準に加えて、選択された重みが再構成誤差の減少に寄与を要求
グローイング
プルーニングした重みの中から、モデルの性能を改善するために重要だと思われる重みを選んで復活させる手法。
重みを復活させたときに、モデルの出力がどれだけ変化するか(再構成誤差への影響)の期待値と、その変化量が、入力データによってどれだけばらつくか(分散)を考慮して重みを復活。
補足: 分散が小さい重みは、様々な入力データに対して安定してモデルの出力を改善できる可能性が高い。
実験手法
プルーニング方法
エンベディング層と最後の分類層以外に対してプルーニングを実施
Magnitude、SparseGPT、Wandaによってプルーニングされたスパースモデルに適用。
モデル
7Bから70Bまでのパラメータ数を持つLLaMA-V1、LLaMA-V2、Vicuna、OPTの各ファミリー
データセット
WikiText-2データセット
評価
パープレキシティ
実験結果
Dynamic Sparse No Training = DS○T (<- 特殊文字を○としている)
パープレキシティによる評価
スパース率10%から90%の範囲で、DS○Tは常に性能向上を達成。効果はスパース率が高いほど顕著。
計算効率
DS○TはWandaと同等の高速性を維持しつつ、SparseGPTよりも大幅に効率的。
パラメータ効率の高いLoRAと比較しても、DS○Tは大幅に高速。
安定性
キャリブレーションサンプル数の低減に対してDS○TはSparseGPTよりロバスト。
補足: SparseGPTはヘッセ行列の逆行列を推定するために十分なサンプル数を必要とする可能性
応用
重みをより細かい単位でスパース化する手法であるFine-grained Sparsityにおいても、既存手法よりも低いパープレキシティを達成。
補足: NVIDIA AmpereのGPUに搭載されているTensor CoreはN:M Fine-grained Sparsityに対応している。