주요 Pruning 기법들은 uniform layer-wise pruning에 의존하는데, 이는 높은 sparsity에서 심각한 성능 저하를 일으킨다.
최근에는 다양한 layer의 기여도를 인식하여 non-uniform-layer-wise pruning을 연구하는데, 이는 대부분 사전에 정의된 값에 의존하기 때문에 최적의 성능이 아닐 수 있다.
이러한 한계를 극복하기 위해, Dynamic Layer-wise Pruning(DLP)라는 새로운 방법을 제안한다.
모델 가중치와 Input activation 정보를 통합하여, 각 layer의 상대적 중요도를 adaptive하게 결정하고 이에 따라 sparsity를 할당한다.
LLM의 파라미터 수를 크게 줄일 수 있는 Pruning은 크게 주목받고 있으며 중복되거나 덜 중요한 파라미터를 제거하여 리소스 활용을 최적화한다.
지금까지의 pruning연구들은 만족스러운 성능을 달성했지만, 모델 내 다양한 layer의 다양한 중요성을 고려하지 않고 모든 layer에 uniform한 sparsity를 할당하였다.
이러한 한계로 인해, 높은 sparsity에서는 성능이 크게 저하된다.
Outlier의 존재에서 영감을 받은 "OWL"은 각 LLM의 layer에 서로 다른 sparsity를 할당한다.
하지만, OWL은 Outlier 선택을 위해 사전에 정의된 기준에 의존하기 때문에 모델의 dynamic한 요구 사항에 대한 적응성이 제한될 뿐만 아니라 최적의 성능을 달성하는 데도 방해가 된다.
위의 문제를 해결하기 위해 각 layer의 중요도를 역으로 계산한 다음, 이를 layer간 상대적 중요도로 변환한다.
또한, 본질적으로 outlier에 더 중점을 둔다.
Median값은 outlier에 둔감하기 때문에, 가중치에 outlier가 포함되어 있을 때 layer의 중심 경향을 더 정확하게 반영한다.
본 논문에서는 새로운 Layer-wise 방법을 제안한다.
먼저, 동일 layer에서 모델 가중치와 입력 활성화 값의 median 값을 기준으로 각 transformer block의 중요도를 평가하여 모델의 상대적 중요도를 결정한다.
마지막으로 중요도가 높은 layer는 sparsity가 낮아야 한다는 원칙에 따라 각 layer의 sparisty가 할당된다.
Contribution
새로운 layer-wise별 중요도 측정 방법을 제안
Layer내 요소와 layer간 요소를 종합적으로 고려하여 각 layer의 상대적 중요도를 자동으로 결정
구조화되지 않은 pruning을 위한 효과적 방법 제안
LLM compression 기법과 통합될 수 있을 뿐만 아니라 PEFT로 확장할 수도 있다.
Pruning을 위한 일반적인 전략은 task를 여러 하위 문제로 분해하여 계층적인 최적화를 가능하게 하는 것이다.
이렇게 분해된 하위 문제는 L2 loss를 최소화하는 것으로 공식화된다.
L개의 layer로 구성된 신경망이 있을 때
- : Batch
- : Sequence dim(Token 개수)
각 layer 에 대해 l2 loss를 최소화하면서 pruning sparsity를 달성하는 것이 목표
- : 번째 layer의 가중치
- : 번째 layer의 입력
- : l2 norm
layer relative importance indicator를 l2 loss로 설정하는 것은 suboptimal일 수 있습니다.
hessian guided indicator를 사용해 보는 것을 추천합니다.
번창하세요~~