
huggingface의 Transformer를 Train class를 이용해 학습시키면 checkpoint가 생성된다. checkpoint는 학습 중에 모델의 파라미터와 다른 관련 정보를 학습의 일정 point마다 snapshot을 생성하는 것과 같다. # checkpoint가 유용한 이유 학습 재개 : 학습이 의도치 않게 중단되는 경우, checkpoint에 저장된 가장 마지막 step부터 학습을 시작할 수 있다. 원하는 성능의 모델 사용 : 일정 간격으로 저장된 모델 중 원하는 단계를 선택해 fine-tuning을 하거나, evaluation을 할 수 있다. train loss는 낮았지만 evaluation dataset에는 그렇지 않을 수 있으므로 저장된 단계별로 eval dataset의 성능을 확..
huggingface 에서 tokenizer 가져와서 나의 dataset으로 추가 학습하기 from transformers import AutoTokenizer import pandas as pd def batch_iterator(text, batch_size = 1000): for i in range(0, len(text), batch_size): yield text[i : i + batch_size] def main(): # data df = pd.read_pickle('train_data.pkl') text = df.text.tolist() # base tokenizer # tokenizer.is_fast==True인 경우에만 가능 tokenizer = AutoTokenizer.from_pretra..

1. CBOW : Continuous Bag-of-Words Model CBOW 모델은 주변 단어를 이용해서 가운데 있는 misssing word를 predict 하는 Neural Network이고, 이 모델의 by-product로 word embedding vector가 생성된다. 문장을 window size 5로 train 한다고 하면 가운데 있는 단어를 양 옆 두개의 단어를 기준으로 prediction하는 모델이다. "I am ? becasue I" 에서 ?에 들어갈 단어를 찾아야 하는 것이다. 즉, X가 context word, Y가 center word로 아래의 표와 같이 train set을 생성할 수 있다. context vector를 하나의 single vector로 만들기 위해서는 각 단어..

pytorch의 tutorial 을 제가 가지고 있는 데이터셋에 적용해보았습니다. import torch from torch import nn import torch.utils.data as data from torchtext.vocab import build_vocab_from_iterator from torch.utils.data import Dataset, DataLoader import time from torch.utils.data.dataset import random_split from torchtext.data.functional import to_map_style_dataset 데이터 준비하기 dataframe을 이용해 torchtext.datasets에서 import한것과 같은 형태의 ..