BESA: Pruning Large Language Models with Blockwise Parameter-Efficient Sparsity Allocation

要約

大規模言語モデル (LLM) は、テキストの要約、テキストの質問応答など、さまざまなタスクで優れたパフォーマンスを実証しています。そのパフォーマンスは優れていますが、パラメーターの数が膨大であるため、計算量が法外に大きくなる可能性があります。
SparseGPT や Wanda などの既存のソリューションは、重み枝刈りによってこの問題を軽減しようとしています。
ただし、レイヤーごとのアプローチではモデルの出力に大きな変動が生じ、枝刈り率などのハイパーパラメーターの細心の注意が必要となり、モデル全体のパフォーマンスに悪影響を与える可能性があります。
これに対処するために、この論文では、ブロック単位の再構成損失を適用することによる、ブロック単位のパラメーター効率的なスパース性割り当て (BESA) と呼ばれる新しい LLM プルーニング手法を紹介します。
典型的な層ごとの枝刈り技術とは対照的に、BESA は 2 つの特徴的な属性によって特徴付けられます。i) 個々のトランス ブロックに関する全体的な枝刈り誤差をターゲットにし、ii) 微分可能な方法で層固有のスパース性を割り当てます。
これにより、プルーニング後のパフォーマンスの低下が確実に軽減されます。
私たちの実験では、BESA が最先端のパフォーマンスを実現し、単一の A100 GPU 上で 7B ~ 70B のパラメーターを持つ LLaMA1 や LLaMA2 などの LLM をわずか 5 時間で効率的にプルーニングできることがわかりました。
コードは https://github.com/OpenGVLab/LLMPrune-BESA で入手できます。

要約(オリジナル)

Large language models (LLMs) have demonstrated outstanding performance in various tasks, such as text summarization, text question-answering, and etc. While their performance is impressive, the computational footprint due to their vast number of parameters can be prohibitive. Existing solutions such as SparseGPT and Wanda attempt to alleviate this issue through weight pruning. However, their layer-wise approach results in significant perturbation to the model’s output and requires meticulous hyperparameter tuning, such as the pruning rate, which can adversely affect overall model performance. To address this, this paper introduces a novel LLM pruning technique dubbed blockwise parameter-efficient sparsity allocation (BESA) by applying a blockwise reconstruction loss. In contrast to the typical layer-wise pruning techniques, BESA is characterized by two distinctive attributes: i) it targets the overall pruning error with respect to individual transformer blocks, and ii) it allocates layer-specific sparsity in a differentiable manner, both of which ensure reduced performance degradation after pruning. Our experiments show that BESA achieves state-of-the-art performance, efficiently pruning LLMs like LLaMA1, and LLaMA2 with 7B to 70B parameters on a single A100 GPU in just five hours. Code is available at https://github.com/OpenGVLab/LLMPrune-BESA.

arxiv情報

著者 Peng Xu,Wenqi Shao,Mengzhao Chen,Shitao Tang,Kaipeng Zhang,Peng Gao,Fengwei An,Yu Qiao,Ping Luo
発行日 2024-04-19 07:54:27+00:00
arxivサイト arxiv_id(pdf)

提供元, 利用サービス

arxiv.jp, Google

カテゴリー: cs.AI, cs.CL, cs.LG パーマリンク