본문 바로가기

논문 리뷰/Language Model

SliceGPT: Compress Large Language Models by Deleting Rows and Columns

[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

  1. Computational invariance in transformer networks
  2. LayerNorm transformers can be converted to RMSNorm
  3. Slicing
  4. 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