Simple info of Textbrewer lib.
💡 모델 경량화를 위한 함수를 제공해주는 scripts
- BERT 모델 뿐만 아니라 다양한 모델(ex. GPT, LSTM, etc...) 경량화 가능
- Teacher & Student 모델 구조가 달라도 경량화 가능 (ex. Teacher: BERT, Student: LSTM)
- 다양한 loss function이 있고 사용자가 loss를 append할 수 있도록 코드 구성
Workflow
- Stage 1: Preparation:
- 교사 모델 선택
- 학생 모델 정의
- 학습 준비 (데이터, optim, lr_scheduler, etc...)
- Stage 2: Distillation with TextBrewer:
- TraningConfig 및 DistillationConfig 정의 → distiller class 인자로 사용
- Adaptor와 Callback 정의 → distiller class 인자로 사용
- Adaptor: 모델 입력 및 출력에 사용
- Callback: 학습 상태 저장을 위해 사용
- train 메서드로 학습 진행
사용 후기
- github에서 코드 개발은 오류 해결 정도만 진행되는 것 같으나 경량화에 관심이 있다면 사용 추천
- docs도 깔끔하고 가독성이 좋게 구성되어 있으나 github 내부에서는 스크립트 파일들의 level이 안 맞는 건 아쉬움
- 개인적으로 HuggingFace랑은 구분해서 사용 추천
TextBrewer 패키지 관련 글
이후 글
2022.06.17 - [Natural Language Processing/Model Compression] - [경량화 패키지] TextBrewer scripts info.
2022.06.17 - [Natural Language Processing/Model Compression] - [경량화 패키지] TextBrewer 학습 Process
2022.06.17 - [Natural Language Processing/Model Compression] - [경량화 패키지] TextBrewer 사용 후기
반응형
'Natural Language Processing > Model Compression' 카테고리의 다른 글
[논문 리뷰] Distilling Linguistic Context for Language Model Compression (0) | 2022.06.23 |
---|---|
[경량화 패키지] TextBrewer 사용 후기 (0) | 2022.06.17 |
[경량화 패키지] TextBrewer 학습 Process (0) | 2022.06.17 |
[경량화 패키지] TextBrewer scripts info. (0) | 2022.06.17 |
댓글