2021년 6월 17일 목요일

Naver LarVa 발표자료 정리

 예전부터 보려고 했던 네이버 LarVa Project 발표자료를 읽고 정리해본다.


1. 실시간 평가

비싸고 오래 걸리는 Language Model을 잘 학습하기 위해,

학습이 진행될 때마다 평가 데이터셋으로 평가하여 학습 상황 모니터링한다.


2. Dynamic input generation

기존 bert의 static file 방식과 달리 이 방식을 쓸 경우, 

  • 저장 공간을 줄일 수 있고,
  • Training 중간에 sequence length, masking 개수, 방식 등을 동적으로 변경할 수 있다.
이 때, file reader가 코퍼스를 분할 저장한 파일들을 읽어 Queue에 학습 인스턴스를 넣고, data reader가 큐에서 인스턴스를 읽어와 모델 input으로 사용하였다.


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에 적용한(하려는) 아이디어들은 생략.

댓글 없음:

댓글 쓰기