ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • NLP14 : BERT pretrained model 제작
    NLP 2022. 1. 6. 10:03

    1. 들어가며

    2. Tokenizer 준비

    3. 데이터 전처리

      (1) MASK 생성

      (2) NSP pair 생성

      (3) 데이터셋 완성

    4. BERT 모델 구현

    5. pretrain 진행

    6. 프로젝트 : mini BERT 만들기

    7. 프로젝트 제출

    ==============================

     

    1. 들어가며

     

     

     

    2. Tokenizer 준비

    - spm.SentencePieceTrainer.train()

     

     

    3. 데이터 전처리

      (1) MASK 생성

    ⓐ mask_cnt

    ⓑ vocab_list

    ⓒ create_pretrain_mask( )

     

     

      (2) NSP pair 생성

    ⓐ max_num_tokens

    ⓑ trim_tokens( )

    ⓒ create_pretrain_instances( )

     

     

      (3) 데이터셋 완성

    ⓐ make_pretrain_data( )

    ⓑ vocab_list

    ⓒ create_pretrain_mask( )

    ⓓ load_pre_train_data( ) 

     

     

    4. BERT 모델 구현

      (1) 구성요소 : 함수 및 클래스

    ⓐ get_pad_mask( )

    ⓑ get_ahead_mask( )

    ⓒ gelu( ) : 활성화 함수

    ⓓ kernel_initializer( ) 

    ⓔ bias_initializer( )

    ⓕ Config( )

    ⓖ SharedEmbedding( )

    ⓗ PositionalEmbedding( )

    ⓘ SharedDotProductAttention( )

    ⓙ MultiHeadAttention( )

    ⓚ PositionWiseFeedForward( )

    ⓛ EncoderLayer( ) 

     

     

      (2) BERT 모델 생성

    ⓐ BERT( )

     

     

      (3) BERT 레이어 기반 pretrain용 BERT 모델 구성

    ⓐ PooledOutput( )

    ⓑ build_model_pre_trained( )

     

     

    5. pretrain 진행

      (1) Loss 함수

    ⓐ lm_loss( )

    ⓑ lm_acc( )

    ⓒ CosineSchedule( )

     

      (2) 모델을 실제로 빌드

     

     

    6. 프로젝트 : mini BERT 만들기

     

     

     

    7. 프로젝트 제출

     

     

     

     

     

     

    'NLP' 카테고리의 다른 글

    [김성범]Data Augmentation  (0) 2022.01.21
    [Attention] 6. Self-Attention  (0) 2022.01.18
    NLP05. 워드 임베딩  (0) 2021.12.15
    NLP01. 텍스트 데이터 다루기  (0) 2021.12.11
    parsing과 parser  (0) 2021.12.09
Designed by Tistory.