[논문 리뷰] GroupReduce: Block-Wise Low-Rank Approximation for Neural Language Model Shrinking
GroupReduce는 블록 단위로 고빈도어를 클러스터링하고, 각 블록에 대해 가중치가 부여된 저랭크 근사법을 적용함으로써 신경망 언어모델의 임bedding 및 소프트맥스 행렬을 압축하기 위한 빈도 인지 기반의 저랭크 근사 방법을 제안한다. 양자화와 조합할 경우 임베딩 및 소프트맥스 행렬의 압축률이 최대 26배에 이를 수 있으며, One-Billion-Word 벤치마크에서 퍼플렉서티 저하가 최소한이면서 전체 모델 크기를 12.8배로 감소시킨다.
Model compression is essential for serving large deep neural nets on devices with limited resources or applications that require real-time responses. As a case study, a state-of-the-art neural language model usually consists of one or more recurrent layers sandwiched between an embedding layer used for representing input tokens and a softmax layer for generating output tokens. For problems with a very large vocabulary size, the embedding and the softmax matrices can account for more than half of the model size. For instance, the bigLSTM model achieves state-of- the-art performance on the One-Billion-Word (OBW) dataset with around 800k vocabulary, and its word embedding and softmax matrices use more than 6GBytes space, and are responsible for over 90% of the model parameters. In this paper, we propose GroupReduce, a novel compression method for neural language models, based on vocabulary-partition (block) based low-rank matrix approximation and the inherent frequency distribution of tokens (the power-law distribution of words). The experimental results show our method can significantly outperform traditional compression methods such as low-rank approximation and pruning. On the OBW dataset, our method achieved 6.6 times compression rate for the embedding and softmax matrices, and when combined with quantization, our method can achieve 26 times compression rate, which translates to a factor of 12.8 times compression for the entire model with very little degradation in perplexity.
연구 동기 및 목표
- 대규모 어휘 임베딩 및 소프트맥스 행렬의 높은 메모리 사용량(전체 파라미터의 90% 이상)을 해결하기 위함.
- 임베딩 행렬의 고유한 통계적 구조로 인해 기존의 저랭크 근사 및 자르기 기법이 성능이 떨어지는 문제를 개선하기 위함.
- 단어 빈도의 파워-법칙 분포(지프의 법칙)를 활용하여 언어모델 레이어에 특화된 더 효과적인 압축 전략을 설계하기 위함.
- 입력 임베딩 및 출력 소프트맥스 행렬 양쪽 모두에 대해 고압축률을 달성하여 메모리 제약이 있는 장치에서의 효율적 구현을 가능하게 하기 위함.
- 블록 단위의 가중치가 부여된 저랭크 근사법이 기존 방법보다 눈에 띄게 우수한 압축 효율성과 정확도 유지 성능을 보임을 입증하기 위함.
제안 방법
- 학습 데이터 내 발생 빈도 수를 기반으로 단어를 빈도 기반 블록으로 그룹화하여 단어 빈도의 파워-법칙 분포를 활용한다.
- 각 블록에 대해 고빈도어의 표현 품질을 유지하기 위해 고빈도어에 가중치를 적용한 저랭크 근사법을 적용한다.
- 클러스터 할당과 저랭크 근사값을 반복적으로 개선하여 각 블록의 부분공간 투영 품질을 향상시킨다.
- 결과로 도출된 저랭크 행렬을 모델 내 원래의 임베딩 및 소프트맥스 행렬 대체로 사용한다.
- GroupReduce 압축 기법을 후기 양자화와 조합하여 메모리 사용량을 추가로 감소시킨다.
- 압축된 레이어를 고정한 채로 모델을 재학습한 후, 모든 파라미터를 파인튜닝하여 성능을 복구한다.
실험 결과
연구 질문
- RQ1기존의 표준 저랭크 근사법과 비교해 블록 단위의 빈도 인지 기반 저랭크 근사법이 신경망 언어모델의 임베딩 및 소프트맥스 행렬에 대해 압축 효율을 크게 향상시킬 수 있는가?
- RQ2단어 빈도의 파워-법칙 분포를 활용하면 압축 품질을 향상시키고 모델 성능을 유지하는 데 기여하는가?
- RQ3GroupReduce는 프루닝 및 양자화와 같은 최신 압축 기법들과 비교해 압축률과 퍼플렉서티 저하 측면에서 어떻게 성능을 내는가?
- RQ4GroupReduce는 입력 및 출력 행렬 양쪽에 동시에 고압축률을 달성하여 전체 모델 크기의 상당한 감소를 이끌 수 있는가?
- RQ5블록 단위 근사에 최적의 클러스터 수는 얼마이며, 이 하이퍼파라미터에 대해 성능은 얼마나 민감한가?
주요 결과
- One-Billion-Word (OBW) 데이터셋에서 GroupReduce는 임베딩 및 소프트맥스 행렬에 대해 6.6배의 압축률을 달성하였고, 퍼플렉서티 증가가 최소한이었다(31.04에서 33.61로).
- 양자화와 조합할 경우 GroupReduce는 임베딩 및 소프트맥스 행렬에 대해 26배의 압축률을 달성하였으며, 메모리 사용량이 5GB 이상 감소하였다.
- OBW-bigLSTM 모델에서 전체 모델의 압축률은 12.8배에 달했고, 퍼플렉서티는 31.04에서 33.61로 약간 증가하였다.
- DE-EN 신경망 기계 번역 작업에서 GroupReduce는 임베딩 및 소프트맥스 행렬에 대해 24배의 압축률을 달성하였고, 재학습 후 BLEU 점수는 30.33에서 29.68로 떨어졌을 뿐이었다.
- GroupReduce는 입력 임베딩 레이어에서 깊이 있는 복합 코딩 기법보다 두 배 이상의 압축률을 달성했고, 이와 달리 입력 및 출력 행렬 양쪽을 모두 압축할 수 있었다.
- 클러스터 수에 대해 높은 내성성을 보였으며, 5에서 30개의 클러스터 사이에서 성능 변화가 최소였고, 대규모 OBW 어휘에서 20개 클러스터 시 가장 우수한 성능을 보였다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.