내가 보려고 만든 블로그
<NLP> Transformer 정리 ~ 허깅 페이스까지 본문
기계번역, 언어 생성 등에 별로 관심이 있지는 않은데 감성분석 혹은 LDA 등은 알아두면 후에 쓸 일이 많이 있을 것 같아서 간단하게 자연어처리를 공부함. 그 중에서도 워낙 유명한 모델인 트랜스포머에 대해서 사내 강의로 듣게되어 공부한내용 간단하게 정리. 나중에 다시 찾아왓을때 기억날 정도로만 적어둠.
torch.nn.transformer
토치에는 트랜스포머가 이미 구현이 되있음.
주의해야 할 것은 인코더와 디코더부분까지여서 마지막 부분에 선형 + softmax부분 넣어주면 된다 .
self.transformer = nn.Transformer(d_model=emb_size, # 임베딩 size .
nhead=nhead, # 어텐션의 헤드 수 # freeze= True 써도 됨 걍 .
num_encoder_layers=num_encoder_layers, # 인코더 블록의 개수 .
num_decoder_layers=num_decoder_layers, # 디코더 블록의 개수 .
dim_feedforward=dim_feedforward, # 피드 포워드의 디멘션
dropout=dropout)
허깅 페이스
트랜스포머를 활용한 여러 모델들은 허깅페이스에서 사용할 수 있다. 토크나이저와 모델을 다운로드 받고 사용목적에 맞게 ( classification , 문장 요약 등등 ) 튜닝해주면 됨. 이 부분은 코드 참조 .
트랜스포머 구현
https://github.com/todtjs92/NLP/blob/master/Transformer-HuggingFace/transformer.ipynb
허깅 페이스 사용법
'Data Science > NLP' 카테고리의 다른 글
LDA 토픽 모델링 - (Gibbs Sampling , VI 를 통한 구현 ) (0) | 2021.08.01 |
---|