見出し画像

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に対応している。



この記事が気に入ったらサポートをしてみませんか?