๐ ์์ฝ ๐
โจ Point โจ
Abstract๋ก ํ๋ฆ ํ์ ํ๊ธฐ
๊ธฐ์กด์ pruning ๋ฐฉ๋ฒ์ end-to-end LLM inference ์๋ ํฅ์์ ์ด๋ ค์์ ๊ฒช๋๋ค.
๋ถํ์ํ transformer blocks์ ์ ๊ฑฐํ๋ ์๋ก์ด ๋ฐฉ์ ์ ์ (streamline ๊ฐ์ํ(๋ฅ๋ฅ ํ)ํ๋ค)
- high similarity between the outputs of neighboring blocks ์ ๊ธฐ๋ฐํ๋ค.
(์ค ์ด ๋ ผ๋ฌธ์ importance score๋ก ํ๋ฃจ๋ํ๋ ๊ฒ ์๋๊ณ redundency/similarity๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ฃจ๋ํ๋ค)
์? ๊ทผ๋ฐ metric2๋ก ํ ๊ฑฐ๋ฉด ์ ์ฌ๋ ๊ธฐ๋ฐ์ด ์๋์์;;;;??
LLM ์๋ ํฅ์, ์ฑ๋ฅ ์ ์ง๋์๋ค-
1. Introduction
์๋นํ ์์ parameters๋ real-world sevices์ ๋ชจ๋ธ ์ ์ฉ์ ์ด๋ ต๊ฒ ํ๋ค. (๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ ์ฆ๊ฐ, computational demands)
๋ฐ๋ผ์ ์๊ณ ํจ์จ์ ์ธ ๋ชจ๋ธ์ ๋ง๋๋ ๊ธฐ์ ๋ฐ์ ์ด ์ค์ํจ.
Network pruning(ํ๋ผ๋ฏธํฐ ์ ๊ฑฐ)์ ๋จ์ - sparse matrix๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฐ ๋ฐ์ํ๋ ์ด๋ ค์. ์ง๊ธ GPU๋ dense matrix๋ฅผ ๊ณ์ฐํ๋๋ฐ ์ต์ ํ๋์ด์๋ค.
In the realm of LLMs, a significant similarity in output is observed among successive transformer blocks (Din et al., 2023; Liu et al., 2023).

Transformer ๋ธ๋ญ ๋ด๋ถ์ ์๋ residual path ๋๋ฌธ์ ๋ธ๋ญ๊ฐ ์ถ๋ ฅ์ด ์๋นํ ์ ์ฌํด์ง๋ฉฐ, ๊ฒฐ๊ณผ์ ์ผ๋ก redundancy๊ฐ ์๊ธด๋ค.
(์ .. ๊ทธ๋ผ pre training ๋๋ ๋ชจ๋ธ์์, residual connection์ ์ ๊ฑฐํ๊ณ finetuning ํ๋ฉด, ์ข ๋ ์ธ๋ถ์ ์ธ ์ ๋ณด๋ฅผ ์ก์ ์ ์์ผ๋ ค๋? ์๋ฅผ ๋ค๋ฉด ์ถ๋ก ๋ฅ๋ ฅ์ด๋ผ๋ ๊ฐ..)
* residual path๋ ํ์ตํ๋ ๋์, backpropagation์ ์์ ์ํค๊ธฐ ์ํด ๋์ ๋ ๊ฒ (ใ ใ ใฑ.,๊ทธ๋ ๊ตฌ๋..)

SLEB ์ ์ํจ.
์ด ๋ฐฉ๋ฒ์ผ๋ก careful elimination of redundant transformer blockํ๋ฉด text generation ๋ฅ๋ ฅ์ ์ํฅ์๋ค๊ณ ํ๋ค.
2. Motivation
2.1. Pruning
compact and fast LLMs์ ๋ง๋๋ ๋ ๊ฐ์ง ๋ฐฉ๋ฒ์ด ์์
1. ๊ฐ๋ณ ๋ธ๋ญ์ ํจ์จ์ ํฅ์
2. ์ ์ฒด ๋ธ๋ญ์ ๊ฐ์๋ฅผ ์ค์ด๊ธฐ
Challenge 1) Limitation in Achieving LLM Inference Speedup:
ํ๋ฃจ๋์ ๋ ๊ฐ์ง ์ฃผ์ type์ด ์์ 1. Unstructured 2. Structured
- Unstructured pruning์ individual weight๋ฅผ ์ ๊ฑฐํ๋๋ฐ, ์ด๋ sparse weight matrix๋ฅผ ๋ง๋ค์ด๋ฒ๋ฆฐ๋ค.
๋ณต์กํ data access pattern์ ๋ง๋ค๊ณ , ๊ด๋ฆฌ๋ฅผ ๋ณต์กํ๊ฒ ํ๋ฉฐ, ์ฌ์ง์ด ๋ชจ๋ธ ๊ฐ์ํ๋ฅผ ๋ฐฉํดํ ์๋ ์์
NVIDIA GPU์์๋ unstructured pruning์ ํตํด ์๋ ํฅ์์ ์ป์ผ๋ ค๋ฉด ์ผ๋ฐ์ ์ผ๋ก 90% ์ด์์ ๋์ sparsity์ ๋ฌ์ฑํด์ผ ํ๋ค๋ ์ฐ๊ตฌ ๊ฒฐ๊ณผ ()
ํ์ค์ 50% ํ๋ฃจ๋๋ ํ๋ค๊ธด ํจ
- Sturctured pruning์ (๊ฐ์ ์ ์ํ) units of weights๋ฅผ ์ ๊ฑฐํ๋ค.
ํ๋์จ์ด friendlyํ dense matrix ํํ๋ฅผ ๊ตฌ์ฑํ๋ ๊ฒ์ด ๋ชฉํ์ด๋ค.
์ด์๊ณผ๋ ๋ฌ๋ฆฌ ํ๋ฃจ๋ ๋น์จ์ ๋น๋กํ๊ฒ ์๋ ํฅ์์ด ๋์ง๋ ์์
- GPU ์ด์ฉ๊ณ ์ด์ฉ๊ณ ใ ใ 2:4 pruning techniques (์ผ๋จ ๋์ด๊ฐ..)

- ์ต์ ํ๋ฃจ๋ ๋ฐฉ๋ฒ๋ค!! [LLM-Pruner] [SliceGPT]
weight matrix์ ์ ์ฒด ์ฑ๋(row/column) ๋จ์ (channel-wise)๋ก ์ ๊ฑฐํ๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉ. (dense format์ด ์ ์ง๋๋ค)
ํ์ง๋ง extensive fine-tuning์ ๋์์ด ํ์ํ๋ค๋ ๋จ์ [LLM-Pruner]
์๋์ ํฐ ํฅ์ X [SliceGPT]
- ์๋ก์ด ํ๋ฃจ๋ ๋ฐฉ๋ฒ [Deja Vu]
์ ๋ ฅ context๋ฅผ ๊ธฐ๋ฐ์ผ๋ก, ๋ ์ด์ด ์ฐ์ฐ์ ํน์ ๊ตฌ๊ฐ์ dynamicํ๊ฒ ์ฐํํ ์ง ํ๊ฐํ๋ ๋ฐฉ์
์ฑ๊ธ ๋ฐฐ์น ์๋๋ฆฌ์ค์์ ํจ๊ณผ์ ์ธ ์ถ๋ก ์๋ ํฅ์, but Early Exit๊ณผ ์ ์ฌํ ๋ฌธ์ ์ .. contd...
2.2. Early Exit
ํธ๋์คํฌ๋จธ ๋ธ๋ก ์๋ฅผ ์ค์ด๋ ๊ฒ์ ์ฒ๋ฆฌ ์๋๋ฅผ ์ง์ ์ ์ผ๋ก ํฅ์์ํจ๋ค. ์ด๋ฅผ ์ด์ฉํ ๋ฐฉ๋ฒ์ด Early Exit.
๋ชจ๋ธ์ด ์ผ์ ํ ์์ค์ confidence level์ ๋๋ฌํ๋ฉด ๋ฉ์ถ๊ณ output์ ๋ธ๋ค.
ํธ๋์คํฌ๋จธ ๋ธ๋ก์ ๊ฑด๋๋ฐ๋ ๋ฐฉ๋ฒ๋ ์์ - ์ด ์ ๋ต์ ํนํ LLM์ ์ด๊ธฐ ๋ธ๋ก์ ์ ๊ฑฐํ๋ ๊ฒ์ด ๋ ์ฉ์ดํ ์ ์์์ ์์ฌ (์ค???????????????????????? ์ถฉ๋ํ๋ค;;;;;; ์ด์ฐจํผ ๊ฑด๋๋ฐ๋ ๊ฑฐ๋ฉด remove๋ ๊ฐ์ ๊ฑฐ ์๋??)
* dynamic decision-making or extensive training to be effective ์ด ์๊ตฌ๋๋ค๋ ๋จ์ .

์ผ๋ฆฌ์์ฏํ๋ฉด ppl ๋์์ง (์ฑ๋ฅ ์ ํ)
์ ๊ฑฐํ๋ ๋ธ๋ญ ์๊ฐ ๋ง์์๋ก ppl ๋์์ง (์ฑ๋ฅ ์ ํ) - by testing all possible removable points of consecutive blocks
==> ๋ฐ๋ผ์ LLM์์ ์ฐ์๋ ๋ธ๋ก์ ๋จ์ํ ์ ๊ฑฐํ๋ ๊ฐ๋ ์ dynamic decision-making๊ณผ training ์์ด๋ ํจ๊ณผ์ ์ด์ง ์๋ค
Challenge 2) Limitation in Acceleration in Multi-batch Settings
์ฃผ๋ก multi-batch ์๋๋ฆฌ์ค์์ ์๋ํ๋๋ฐ, ๊ฐ๋ณ ํ ํฐ์ ๋ํด skipํ๋ ๋ ์ด์ด๊ฐ ๋ค๋ฅผ ์ ์๋ค.
implementation์ ๋ณต์กํ๊ฒ ํ๊ฑฐ๋ ํจ์จ์ฑ์ ๊ฐ์์ํจ๋ค๋ ๋ฌธ์
Challenge 3) Inability to Reduce Memory Requirements:
early exit๊ณผ ๊ฐ์ dynamic methods๋ ๋ชจ๋ธ์ ๋ชจ๋ ํ๋ผ๋ฏธํฐ๋ฅผ ์ ์ฅํ๊ณ ์๊ธด ํด์ผ ํ๋ฏ๋ก,
๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ ์ค์ด์ง ๋ชปํ๋ค.
Challenge 4) Resource-Intensive Training

์ ์คํ -> ๋ชจ๋ธ์ ํ๋ฐ๋ถ๋ถ์ด ๋์ด์์ผ ์ต์ข ๊ฒฐ๊ณผ์ ๋น์ทํด์ง.
early exit์ ์จ๋ ๋๋ต 90%์ transformer ๋ธ๋ญ์ ์ฌ์ ํ ํ์ํ ์ํฉ์ด๋ค. ์ฆ ์ผ๋ฆฌ์์ฏ์ ์ํ training ๋ง์ด ํด์ผ๋จ.
๊ทธ๋ ๊ธฐ ๋๋ฌธ์ LLaMA2-70B ๊ฐ์ ๋งค์ฐ ํฐ ๋ชจ๋ธ์๋ ์ผ๋ฆฌ์์ฏ ์ ๋ต์ ์ฑํํ๊ธฐ ์ด๋ ต๋ค.
Solution!!
1) LLM Inference Speedup
transformer block์ ์ ๊ฑฐ ๋จ์๋ก ์ค์
2) Acceleration in Multi-batch Setting
์ฒ ์ ํ ์ค๋ณต์ฑ ๊ฒ์ฆ์ ๊ฑฐ์น ํ ํธ๋์คํฌ๋จธ ๋ธ๋ก์ ์ ์ (static) ๋ฐฉ์์ผ๋ก ์ ๊ฑฐํ๋ ์ ๊ทผ๋ฒ์ ์ฌ์ฉํ๋ค.
์ด๋ ์ ํต์ ์ธ ํ๋ฃจ๋(pruning) ๊ธฐ๋ฒ๊ณผ ๋์ผํจ
(์ฆ ๋ค์ด๋๋ฏนํ์ง ์๋ค๋ ๋ป๊ฐ์..)
3) Reduction in Memory Requirements
๋ถํ์ํ ๋ธ๋ญ์ ์์ ์ ๊ฑฐํจ์ผ๋ก์จ ใฑใด
4) Training-free Compression (์ค-)
training-freeํ ์ค๋ณต์ฑ ๋ถ์์ ์งํํ๊ธฐ ๋๋ฌธ์, intensive(์ง์ฝ์ ์ธ) (์ฌ)ํ์ต ๊ณผ์ ํ์ ์๋ค.
3. Proposed SLEB
3.1. Output Similarity across Transformer Blocks

x_i : i๋ฒ์งธ transformer block์ output
T_i : i๋ฒ์งธ transformer block์ ๊ณ์ฐ ๊ฒฐ๊ณผ

transformer ๋ธ๋ญ์ Output ๋ผ๋ฆฌ์ cosine similarity๋ฅผ ๊ตฌํ๋ค.

-> ๋ชจ๋ธ ์ ๋ฐ์์๋ ๋ค์ํ ์ ์ฌ๋๊ฐ ์กด์ฌํ์ง๋ง ์ธ์ ํ ๋ธ๋ญ๋ผ๋ฆฌ๋ ์ผ๊ด์ ์ผ๋ก ๋์ ์ ์ฌ๋๋ฅผ ๋ณด์ธ๋ค.
์ด๋ฌํ ๊ฒฐ๊ณผ๋ ๋ชจ๋ธ ๋ด์ ์ ์ฌ์ ์ธ redundancy๊ฐ ์์์ ์์ฌํ๋ค.
- ์ฌ๊ธฐ์ early exit์ ๊ทผ๋ณธ์ ์ธ misalignment๊ฐ ์์์ ์ ์ ์์ฃ
์ฐ์์ ์ธ ๋ธ๋ญ์ ์ ์งํ๋ฉด์ ์งํํ๊ธฐ ๋๋ฌธ
๋ํ ๊ผญ ํ์ํ ์ค์ ๋ธ๋ญ์ ๋์น ์ฐ๋ ค๋ ์๋ค
3.2. Redundancy Verification of Transformer Blocks
์ผ๋จ ๋ถํ์ํ ๋ธ๋ญ์ ์๋ณํด๋ด๋ ๊ฒ ์ฐ์ ์.
Metric 1. ๊ฐ ๋ธ๋ญ์ Input๊ณผ Output๊ฐ์ distance๋ฅผ ๊ณ์ฐ.
์์ ๊ฐ์ ๊ฐ์ง๋ฉด, ์ ๋ฐ์ ์ธ LLM inference์ ์์ด minor impact๋ฅผ ๊ฐ์ง๋ค๊ณ ์๊ฐํ ์ ์๋ค.

* cosine similarity
A_j : j ๋ฒ์งธ ๋ธ๋ญ์ input
B_j : j ๋ฒ์งธ ๋ธ๋ญ์ output

* ppl ๊ธ๊ฒฉํ ์ฆ๊ฐํจ
-> minor changes in that block can be amplified, especially if the block lies in the early stage of the LLM, leading to a more substantial impact on the overall results.
==> ์ด๋ฐ ๋ธ๋ญ ์ค์ํจ
* ์ ๊ทธ๋ํ๊ฐ [Shortened LLaMA]์ ํ๊ณ ๊ฐ์๋ฐ? ๊ทธ๋ฅ ๋ ์ด์ด ํ๋์ฉ ๋นผ๋ฉด์ ๊ตฌํ ppl ์ฆ๊ฐ๋ฅ ์์๋๋ก ์ ๊ฑฐํ๋๊ฑฐ
Metric 2. ๊ฐ ๋ธ๋ญ์ ๋บ์ ๋ ๋ค์ ํ ํฐ ํ๋ฅ

M_j : j ๋ฒ์งธ ๋ธ๋ญ์ด ์ ๊ฑฐ๋ LLM
* Metric 1๋ณด๋ค๋ ๋ซ์ง๋ง, ์ ๊ฑฐํ๋ ๋ธ๋ญ์ด ๋ง์์ง๋ฉด ppl ๊ธ๊ฒฉํ ์ฆ๊ฐํจ.
๋ธ๋ญ์ด ์ ๊ฑฐ๋ ๋๋ง๋ค, ๋จ์ ๋ธ๋ญ๊ฐ์ ์ค์๋๊ฐ ๋ณํ๊ธฐ ๋๋ฌธ์ผ ๊ฒ.
e.g., 6.7B ๋ชจ๋ธ์์ 7๊ฐ ๋ธ๋ญ์ ์ ๊ฑฐํ๋ ๊ฒฝ์ฐ, 3 4 5 6 7 8 10 th ๋ธ๋ญ์ด ์ ๊ฑฐ๋์๋ค๊ณ ํจ. (์ฆ ์ฐ์๋ ์ ๋ค์ด ๋ชจ๋ ์ ๊ฑฐ)
์?? ์ด metric์ด ๊ทธ๋ฅ ppl ์ด์์..?

Metric 3. iterative removal process
ํ๋ ์ ๊ฑฐํ ๋๋ง๋ค redundant block ๋ค์ ๊ตฌํ๊ธฐ
LLM์ ์ ๋ฐ์ดํธ๋๋ ์ํ์ ๊ธฐ๋ฐํด์ ์ ๊ฑฐํ ๋ธ๋ญ์ ๊ฒฐ์ ํ ์ ์๋ค.

M' : ์ ๋จ๊ณ์์ ๋ธ๋ญ์ด ์ ๊ฑฐ๋ LLM
* ์ฑ๋ฅ ์ํธํจ
e.g., 6.7B ๋ชจ๋ธ์์ 7๊ฐ ๋ธ๋ญ์ ์ ๊ฑฐํ๋ ๊ฒฝ์ฐ, 6 7 3 24 18 30 11 th ๋ธ๋ญ ์์๋๋ก ์ ๊ฑฐ๋์๋ค๊ณ ํจ
3.3. Proposed SLEB Algorithm

Calibration data๋ฅผ ์ฌ์ฉํด์ transformer block์ redundancy๋ฅผ ๊ณ์ฐํ๋ค.
์ด ๋ฐฉ๋ฒ์ ๋ชจ๋ธ ์ถ๊ฐํ์ต ์์ด ๋ชจ๋ธ์ stramlineํ ์ ์๊ฒ ํ๋ค.
(๋๊ฒ.....๊ฐ๋จํ๋ค...............................)
4. Experiments
4.1. Experimental Setup
- NVIDIA A100 GPUs equipped with 80GB of memory
- SLEB requires 2 GPUs for pruning OPT-66B and LLaMA-70B, and 1 GPU for pruning smaller models
- ๋ผ๋ง 70B ํ๋ฃจ๋ํ๋๋ฐ 1.5์๊ฐ ๊ฑธ๋ฆผ

- fine-tuning ์์ด inference ๊ณผ์ ๋ง์ผ๋ก ์๋ฃ๋จ.
- Calibration data : WidiText-2์์ 128๊ฐ ๋๋ค ์ ํ [SliceGPT๋ฅผ ๋ฐ๋ฆ]
- pruning ratio๋ ์ฝ 10% ๋๋ 20%๋ก ์คํํจ
[Model]
OPT fam
LLaMA-2 fam
[Baseline]
(2:4 structured pruning methods)
SparseGPT
Wanda
DSnoT
(channel-wise pruning)
LLM-Pruner
SliceGPT
4.2. Elimination of Transformer Blocks using SLEB

- ๋ชจ๋ธ์ ๋ฐ๋ผ ์ ๊ฑฐ๋๋ transformer ๋ธ๋ญ ์์น๊ฐ ๋ค๋ฅด๋ค
(-> ์ด๋ฅผ ๋ฐ์ํ ์ ์๋ metric 3 ๊ฐ์ ๊ฒ์ด ํ์ํ๋ค~)

4.3. Language Modeling
[Data]
C4 validation dataset
WikiText-2


- ๋ค๋ฅธ ํ๋ฃจ๋ ๋ฐฉ๋ฒ ๋ณด๋ค ratio๋ ๋ฎ๊ธด ํ์ง๋ง ์ถ๋ก ์๋์์ ์ฐ์ํ๋ค.
- Wanda์ DSnoT๋ OPT-66B ๋ชจ๋ธ์์ ์์ ํ ์คํจ
(์๋ ppl๋ ๋ง์ด ์ ์ฌ๋๋ค..........๋จธ์ผ ์ข์์)
- transformer block ์ด๋ผ๋ ๊ฑฐ๋ํ(์์ข์๋ณด์ด๋) ๋จ์๋ฅผ ์ค์ ํ์์๋, ์๋นํ ์ฐ์ํ ์ฑ๋ฅ์ ๋ณด์
4.4. Dependency on Calibration Dataset

- SLEB๊ฐ calibration dataset์ ๊ฐ์ฅ ๋ฎ์ ์์กด๋๋ฅผ ๋ณด์.
- ์ด์ ์ ์ ์๋ ๋ฐฉ๋ฒ๋ค์ด ๋ ์ด์ด ์์ค์์ ์ค๋ณต์ฑ์ ์ธก์ ํ ๋ฐ๋ฉด, SLEB๋ Metric3๋ฅผ ์ฌ์ฉํ์ฌ ์ ์ฒด ๋คํธ์ํฌ ์์ค์์ ๊ฐ ํธ๋์คํฌ๋จธ ๋ธ๋ก์ ์ค๋ณต์ฑ์ ํ๊ฐํ๋ค.
์ด ์ ๊ทผ ๋ฐฉ์์ ์ฌ์ ํ์ต๋ LLM์ ์กด์ฌํ๋ ์ ๋ณด๋ฅผ ์ถฉ๋ถํ ํ์ฉํ๋ฉฐ, ๋ฐ์ดํฐ์ ์ ๋ํ ์์กด๋๊ฐ ๋ ๋ฎ์์ ๋ณด์ฌ์ค๋๋ค.
( calibration set ๊ฐ์!!!!!!!!! ๋ ์ด๋ ผ๋ฌธ์ ์คํ ์ ํ๋น ) ๊ทผ๋ฐ ๋ ํผ ๋ฐ์จ SliceGPT์์๋ ํ์. ๋ฐ์ดํฐ ๊ฐ์๋ sequence length๊น์ง.. ([SliceGPT] Appendix A.3.)

4.5. Zero-shot Tasks
[Task]
PIQA
WinoGrande
HellaSwag
ARC-easy / challenge
LM Evaluation Harness

๋ผ๋ง๊ฐ OPT ๋ณด๋ค ์ฑ๋ฅ ์ ํ๊ฐ ์ฌํ๋น ....

4.6. Speedup

4.7. Compatibility with Post-Training Quantization

5. Conclusion