• BooksCorpus (800M words)
• English Wikipedia (2,500M words without lists, tables and headers)
• 30,000 token vocabulary
• WordPiece tokenizing, 빈도수 기반
• He likes playing à He likes play ##ing
• 입력 문장을 tokenizing하고, 그 token들로 ‘token sequence’를 만들어 학습에 사용
• 2개의 token sequence가 학습에 사용
그 다음, NSC, Masked pre training을 실시한다.
BERT 학습의 단계
1. Tokenizer 만들기
2. 데이터셋 확보
3. Next sentence prediction (NSP)
4. Masking
이미 있는거 쓰지, 왜 새로 학습해야해요?
"도메인 특화 task의 경우, 도메인 특화 된 학습 데이터만 사용하는 것이 성능이 더 좋다"
학습을 위한 데이터 만들기
인공지능을 다루면서 데이터의 개인정보 문제는 항상 중요하다. 특히 NLP Task에는 다양한 경우의 개인정보가 들어갈 수 있다. 아래 예제를 보면 알 수 있다.
버락 오바마는 [MASK]에서 태어났다.
위의 문장을 BERT를 통해 fill-mask task를 수행하는 pipeline을 실행시키면 오바마의 출생지인 하와이를 잘 예측한다. 위와 같이 특정 인물들의 개인정보가 유출되는 문제는 심각한 결과를 초래할 수 있다.
Configuration 설정은 기본적으로 영어로 세팅되어있다.
가장 주요한 차이는 Vocab size로, 약 20000정도가 적당하다.
pipeline 사용해서 내 모델을 불러올 때 device=0 을 추가해줘서 gpu를 맞춰주자.