[논문 리뷰] DynaBERT: Dynamic BERT with Adaptive Width and Depth
DynaBERT는 너비-깊이 적응형 BERT 모델을 훈련시켜 다양한 리소스 사용량을 가진 서브 네트워크를 배치할 수 있으며, 정확도를 유지하기 위해 지식 증류와 네트워크 재배선을 활용한다.
The pre-trained language models like BERT, though powerful in many natural language processing tasks, are both computation and memory expensive. To alleviate this problem, one approach is to compress them for specific tasks before deployment. However, recent works on BERT compression usually compress the large BERT model to a fixed smaller size. They can not fully satisfy the requirements of different edge devices with various hardware performances. In this paper, we propose a novel dynamic BERT model (abbreviated as DynaBERT), which can flexibly adjust the size and latency by selecting adaptive width and depth. The training process of DynaBERT includes first training a width-adaptive BERT and then allowing both adaptive width and depth, by distilling knowledge from the full-sized model to small sub-networks. Network rewiring is also used to keep the more important attention heads and neurons shared by more sub-networks. Comprehensive experiments under various efficiency constraints demonstrate that our proposed dynamic BERT (or RoBERTa) at its largest size has comparable performance as BERT-base (or RoBERTa-base), while at smaller widths and depths consistently outperforms existing BERT compression methods. Code is available at https://github.com/huawei-noah/Pretrained-Language-Model/tree/master/DynaBERT.
연구 동기 및 목표
- BERT를 에지 디바이스에 효율적으로 배치하기 위한 동기 부여.
- 단일 모델 내에서 서로 다른 너비와 깊이의 서브네트워크를 선택하여 유연한 추론 가능하게 하기.
- 전체 크기 교사로부터의 지식 증류를 통해 구성을 달리해도 높은 정확도 유지.
- 교사-도와 폭-적응적 접근을 통해 교사와 학생 간의 크기 격차를 줄이기.
- 동적 서브네트워크가 표준 벤치마크에서 고정 크기 압축 기준과 대등하거나 이를 상회함을 입증하기.
제안 방법
- Transformer 층에서 주의 헤드 수와 FFN 뉴런 수를 바꿔 너비를, Transformer 층의 수를 바꿔 깊이를 결정하여 너비 및 깊이 적응성을 정의한다.
- 두 단계의 훈련: 먼저 네트워크 재배선과 재배선된 교사로부터의 증류를 통해 폭-적응형 DynaBERT_W를 훈련; 그다음 DynaBERT_W를 교사로 사용하여 폭-및 깊이-적응형 DynaBERT를 훈련한다.
- 네트워크 재배선을 사용해 중요한 헤드/뉴런을 계급화하고 서로 다른 서브네트워크들 간에 공유되도록 정렬한다.
- 로짓, 임베딩, 숨겨진 상태에 대한 지식 증류를 적용해 폭과 깊이에 걸쳐 교사에서 학생으로 지식을 전달한다.
- DynaBERT_W의 경우 고정 재배선 교사와 여러 폭 구성을 사용한다; 전체 DynaBERT의 경우 가장 넓은 깊이의 교사에서 증류해 깊이와 폭이 축소된 서브네트워크로 전달한다.
- TinyBERT로부터의 데이터 증강을 사용해 증류를 위한 태스크-특정 예제를 제공한다.
실험 결과
연구 질문
- RQ1단일 BERT 모델이 고정 크기 모델에 비해 정확도 손실을 최소화하면서 여러 폭과 깊이 구성을 지원하도록 학습될 수 있는가?
- RQ2폭과 깊이 적응성을 확장한 훈련이 고정 크기 압축 방법보다 더 나은 효율-정확도 상쇄를 가져오는가?
- RQ3네트워크 재배선 및 증류가 GLUE와 SQuAD 태스크에서 성능에 미치는 영향은 무엇인가?
- RQ4폭-적응형 모델을 교사 보조로 활용하는 것이 대형 서브네트워크와 소형 서브네트워크 사이의 간극을 메우는 데 유익한가?
- RQ5DynaBERT_W와 DynaBERT가 다양한 효율 제약 아래에서 최첨단 고정 크기 증류 및 깊이-전용 적응 방법과 비교해 어떤 성능 차이를 보이는가?
주요 결과
- DynaBERT가 가장 큰 크기일 때 전체 너비/깊이 구성으로 설정되면 벤치마크에서 BERT_BASE와 비슷한 성능을 달성한다.
- 너비 및/또는 깊이가 축소된 서브네트워크는 동일한 효율 제약 하에서 고정 크기 압축 방법보다 일관되게 더 나은 성능을 보인다.
- 너비 적응성은 깊이 단독보다 더 강인하며, DynaBERT_W(너비-적응)가 일반적으로 DynaBERT_D(깊이-적응)보다 작은 구성에서 우수하다.
- DynaBERT 서브네트워크는 GLUE와 SQuAD 태스크에서 비슷한 자원 예산 하에 종종 DistilBERT, TinyBERT, LayerDrop을 능가한다.
- DynaBERT_W를 교사 보조로 사용하는 것이 재배선된 전체 모델에서 직접 증류하는 것보다 증류 성능을 향상시킨다.
- 각 서브네트워크에 대해 훈련 후 추가 미세 조정이 필요 없으므로 디바이스 간의 효율적인 배포가 가능하다.
더 나은 연구,지금 바로 시작하세요
연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.