[논문 리뷰] Efficient Transformer-based Large Scale Language Representations using Hardware-friendly Block Structured Pruning
이 논문은 자원이 제한된 장치에서 대규모 트랜스포머 언어 모델을 효율적으로 구현하기 위해 하드웨어 친화적인 블록 구조 기반 프루닝 방법을 제안한다. 블록 프루닝에 재가중 그룹 로지스틱 정규화를 통합함으로써, BERT, RoBERTa, DistilBERT에서 GLUE 벤치마크를 기준으로 최대 5.0× 모델 압축을 달성하면서 정확도 저하가 최소화되었으며, 지식 정복과의 수직적 조합이 가능하여 추가적인 압축이 가능하다.
Pre-trained large-scale language models have increasingly demonstrated high accuracy on many natural language processing (NLP) tasks. However, the limited weight storage and computational speed on hardware platforms have impeded the popularity of pre-trained models, especially in the era of edge computing. In this work, we propose an efficient transformer-based large-scale language representation using hardware-friendly block structure pruning. We incorporate the reweighted group Lasso into block-structured pruning for optimization. Besides the significantly reduced weight storage and computation, the proposed approach achieves high compression rates. Experimental results on different models (BERT, RoBERTa, and DistilBERT) on the General Language Understanding Evaluation (GLUE) benchmark tasks show that we achieve up to 5.0x with zero or minor accuracy degradation on certain task(s). Our proposed method is also orthogonal to existing compact pre-trained language models such as DistilBERT using knowledge distillation, since a further 1.79x average compression rate can be achieved on top of DistilBERT with zero or minor accuracy degradation. It is suitable to deploy the final compressed model on resource-constrained edge devices.
연구 동기 및 목표
- 에지 장치에서 대규모 미리 훈련된 트랜스포머 모델의 높은 계산 및 저장 비용을 해결하기 위해.
- 모델 정확도를 유지하면서 모델 크기와 추론 비용을 극적으로 줄일 수 있는 하드웨어 친화적인 프루닝 방법을 개발하기 위해.
- 비정규화된 문법과 의미적 특성으로 인해 컴퓨터 비전 모델보다 더 높은 민감도를 보이는 NLP 모델에서 고압축 비율을 달성하기 위해.
- 기존의 모델 압축 기법(예: 지식 정복)과의 호환성을 확보하여 순차적 적용을 통해 추가적인 크기 감소를 가능하게 하기 위해.
제안 방법
- 가중치 행렬에 블록 구조 기반 프루닝을 적용하여, 전체 블록의 가중치를 동시에 제거함으로써 하드웨어 효율성을 유지하기 위해.
- 각 블록별로 동적으로 페널티 항을 조정할 수 있도록 재가중 그룹 로지스틱 정규화를 도입하여, 민감도 높고 효과적인 희박성 유도를 가능하게 하기 위해.
- 표준 훈련 손실과 블록 단위 L2 노름 페널티를 조합한 혼합 손실 함수를 사용하여 재훈련 중 프루닝을 유도하기 위해.
- 반복적인 페널티 재가중을 통해 프루닝 과정을 최적화함으로써, 정확도 저하를 최소화하면서도 높은 압축률을 달성하기 위해.
- BERT, RoBERTa, DistilBERT에 이 방법을 적용하고, 블록 수, 재훈련 에포크 수, 페널티 인자에 대한 분석 실험을 수행하기 위해.
- 다양한 NLP 작업에서 정확도와 압축 효율성을 측정하기 위해 GLUE 벤치마크를 기반으로 한 검증을 수행하기 위해.
실험 결과
연구 질문
- RQ1재가중 그룹 로지스틱 정규화를 통한 블록 구조 기반 프루닝이 정확도 저하 없이 대규모 트랜스포머 모델에서 고압축 비율을 달성할 수 있는가?
- RQ2프루닝 구조의 블록 수가 모델 성능과 희박성의 유연성에 미치는 영향은 어떠한가?
- RQ3압축과 정확도의 균형을 고려할 때 최적의 페널티 인자와 재훈련 에포크 수는 무엇인가?
- RQ4제안된 프루닝 방법은 지식 정복과 호환되는가? 추가적인 모델 압축이 가능한가?
- RQ5이 방법은 BERT, RoBERTa, DistilBERT와 같은 다양한 미리 훈련된 모델에 효과적으로 적용될 수 있는가?
주요 결과
- 제안된 방법은 BERT와 RoBERTa에서 GLUE 작업 전반에 걸쳐 최대 5.0× 모델 압축을 달성하면서 정확도 저하가 없거나 최소한으로 유지된다.
- DistilBERT에서는 평균 1.79×의 압축 비율을 달성하면서 정확도 손실이 최소화되었으며, 지식 정복과의 수직적 조합이 가능함을 입증하였다.
- 블록 수를 늘리면(블록 크기를 줄이면) 성능 향상이 이루어지며, DistilBERT의 CoLA에서 768개 블록을 사용할 경우 최고의 MCC 스코어 53.4를 기록하였다.
- 16 에포크 재훈련이 4 또는 8 에포크보다 정확도를 향상시키며, BERT BASE의 STS-B 스피어만 상관계수는 84.2에서 84.6으로 상승하였다.
- 페널티 인자 3e-4가 최적의 정확도를 달성하였으며, BERT BASE의 MNLI에서 82.9%의 정확도를 기록하였다. 반면 높은 값(1e-3)은 심각한 정확도 저하를 유발하였다.
- 다양한 랜덤 시드에서 결과가 안정적이며, SST-2, CoLA, STS-B, MRPC에서 다섯 번의 시드 런 동안 성능 변동이 최소화되었다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.