cleanUrl: "huggingface-bertformaskedlm-finetuning"
description: "HuggingFace에서 BertForMaskedLM 모델을 원하는 데이터로 fine-tuning하는 방법에 대해 정리합니다."

transformers.BertForMaskedLM

BERT

transformers.BertConfig

BERT

어떤 파라미터들을 설정해줄 수 있나?

파라미터 타입 초깃값 설명
vocab_size int, optional 30522 BERT 모델의 vocabulary size를 나타낸다.
hidden_size int, optional 768 Encoder layer와 pooler layer의 차원 크기
num_hidden_layers int, optional 12 Encoder layer의 수
num_attention_heads int, optional 12 Encoder layer 내의 attention head 수
intermediate_size int, optional 3072 Encoder layer 내의 FeedForward layer의 차원 크기
hidden_act str, or Callable “gelu” Encoder/Pooler layer 내의 activation function 종류
hidden_dropout_prob float, optional 0.1 Embedding, Encoder, Pooler layer 내 모든 fully connected layer에서 사용되는 dropout probability 값.
attention_probs_dropout_prob float, optional 0.1 Attention probability 값들에 적용되는 dropout probability 값.
max_position_embeddings int, optional 512 모델이 한 번에 입력받을 수 있는 최대 token 수 (최대 문장 길이)
type_vocab_size int, optional 2 BertModel이나 TFBertModel을 실행할 때 사용되는 token_type_ids의 vocabulary size
initializer_large float, optional 0.02 모든 가중치 초기화에 사용되는 truncated_normal_initializer의 standard deviation 값
layer_norm_eps float, optional 1e-12 LayerNorm 레이어에 사용되는 eps 값
position_embedding_type str, optional “absolute” Position embedding의 종류. "absolute", "relative_key", "relative_key_query" 중에 하나 고르자.

사용법?

from transformers import BertConfig, BertModel
configuration = BertConfig()
model = BertModel(configuration)
configuration = model.config

주의) 파라미터 이름 오타 없는지 확인 잘 하자.

from transformers import BertConfig, BertModel

configuration = BertConfig(any_parameter_name=8) # No error
model = BertModel(configuration) # No error, either!

configuration = model.config # {any_parameter_name: 8, ...}