[Github]
[arXiv](2024/01/26 version v1)
Abstract
Weight matrix를 small matrix로 대체하는 새로운 post-training sparsification 방식인 SliceGPT 제안
Transformer networks
Embeddings : Wembd
LayerNorm
Attention Blocks
Non-linearity(σ)인 MHA을 기준으로 입, 출력 행렬로 나누어 다음과 같이 표기할 수 있다.
FFN Blocks
Language Modelling (LM) Head
최종 출력 헤드.
Forward Pass
SliceGPT
- Computational invariance in transformer networks
- LayerNorm transformers can be converted to RMSNorm
- Slicing
- A transformation per block
Computational invariance in transformer networks
그러면 다음도 같다.
또한 attention과 FFN의 선형 작업에 Q를 적용할 수 있다.
Theorem 1
다음과 같이 transformer 내부에서 X 대신 XQ를 흐르게 하며 non-linearity 앞뒤에서 Q를 해체하거나 적용할 시 최종 출력은 같다.
LayerNorm transformers can be converted to RMSNorm
LayerNorm은 계산 불변이 적용되지 않기 때문에, LayerNorm의 선형 작업을 인접 블록으로 흡수하여 RMSNorm으로 만든다.
Slicing
Q는 데이터 X에 대한 주성분 분석(PCA)을 통해 구해진다. Z는 저차원 표현
A transformation per block
Q는 무작위 행렬이 아니니, 당연히 각 블록에 다른 Q를 적용해야 한다. 또한 블록 출력과 잔차 연결이 같은 rotation(Q에 의한)을 가져야 하므로 잔차 연결을 위와 같이 수정한다.
Experimental Validation
Setup
Q의 계산은 LLAMA-2 70B의 경우 80GB 메모리가 장착된 단일 H100 GPU에서 약 3.5시간이 소요된다.
Results