예전부터 보려고 했던 네이버 LarVa Project 발표자료를 읽고 정리해본다.
1. 실시간 평가
비싸고 오래 걸리는 Language Model을 잘 학습하기 위해,
학습이 진행될 때마다 평가 데이터셋으로 평가하여 학습 상황 모니터링한다.
2. Dynamic input generation
기존 bert의 static file 방식과 달리 이 방식을 쓸 경우,
- 저장 공간을 줄일 수 있고,
- Training 중간에 sequence length, masking 개수, 방식 등을 동적으로 변경할 수 있다.
3. Half precision training
FP16으로 학습하였다. 이 때 성능의 저하는 없이 배치 사이즈를 키우고, 학습 시간이 빨라지며 모델 크기도 줄어들었다.
4. Hyper parameters
Batch size는 클 수록 좋다. 하지만 개인, 소규모 회사가 구현하기는 힘들다. TPU pod를 쓰던지
모델 사이즈도 클 수록 좋다...
Char vs subword 는 char 단위가 감정분석에서 조금 좋고 다른 분야에서는 비슷하다.
Cased vs Uncased(자모 분해됨). 대체로 성능은 비슷하나, 자모 분해로 Token 수가 늘어나 기계독해 성능 하락 Cased 우세, 감정분석 Task에서는 Uncased이 약간 우세 라고 하는데, 한글을 lower casing 하면 자모로 분해되나?
Vocab은 32k보다 64k가 좋다.
BERT vs RoBERTa:
그래도 최고점은 RoBERTa가 높은 듯.5.Masking strategy
6. Fine-tuning
Multi-task learning(모든 task를 한 번에 학습)
그 외 service에 적용한(하려는) 아이디어들은 생략.
댓글 없음:
댓글 쓰기