한글 BERT 모델의 Kernel fusion 및 모델 압축(양자화) 적용 모델(주)솔트룩스의 한글 BERT 모델(솔트룩스 배포 링크)에 한양대 딥러닝&빅데이터 시스템 연구실에서 추론 최적화 기법인 Kernel fusion과 16비트 양자화 기법을 적용한 모델을 아래와 같이 배포합니다.
- Kernel Fusion은 Kernel을 GPU에서 실행하는데에 드는 오버헤드를 줄이기 위해 여러 개의 Kernel들을 하나의 Kernel로 합치는 기법으로 NVIDIA의 Faster Transformer를 사용하였습니다.
- 양자화 기법은 학습된 모델의 파라미터 및 중간 계층 뉴런 값들에 대해 32비트 single-precision floating point 대신 16비트 half-precision 으로 저장 및 계산을 적용하는 기법입니다.
- URL : ....
- 한양대 딥러닝&빅데이터 시스템 연구실의 최적화된 한글 BERT 모델(16비트 양자화 기법을 모든 Transformer에 적용한 모델)
- URL : ...
- 한양대 딥러닝&빅데이터 시스템 연구실의 최적화된 한글 BERT 모델(16비트 양자화 기법을 일부 Transformer에 적용한 모델)
-(준비중)
- 한글 BERT 모델에 포함된 README를 통해 실험 환경 확인
- Tensorflow에 CUDA kernel fusion custom operation 등록
- TF_DIR에는 로컬 경로의 tensorflow 패키지 경로를 기입. - DSM에는 사용하는 GPU에 해당하는 Compute Capability을 기입. ex) V100(70), RTX 2080 Ti(75)
- BERT 모델 실행
- floatx 는 양자화가 적용된 모델 파라미터를 선택하는 Argument로, float32와 float16 둘 중 하나 기입. - batch_size를 선택할 수 있으며, 마지막 iteration의 입력 데이터 수가 batch size보다 작을 경우 drop.
- 성능 측정 결과
| 솔트룩스 BERT | 딥러닝 시스템 연구실의 최적화된 BERT | Tesla V100 | Accuracy : 93.115% | Accuracy : 92.943% | Time : 55.836초 | Time : 16.206초 | RTX 2080 Ti | Accuracy : 93.115% | Accuracy : 92.943% | Time : 62.356초 | Time : 17.077초 |
|
|