개요
BcAitech에서 KLue 데이터로 자연어 처리 대회를 시작하였다. Task에 대해서 Define 하고, Solution을 세운다음에 들어가는게 원칙이지만, 머신을 쉬게 할 순 없기에 , BaseLine Code를 돌리면서, Huggingface에 대해 알게 되었다.
Huggingface
Huggingface는 facebook 연구팀에서 만든 Transformer 기반 모델들과 Train모듈(Trainer)를 구현해놓은 모듈들이다. Transforemr 기반 모델을 만들기 위해서는 이만한 모듈이 없다.
Autoclass
BaseLine 코드가 Autoclass 기반으로 작성이 되어있다. 이 Autoclass는 여러 Transformer(Bert,GPT등등) 클래스들을 상속해서 instance를 만들기 때문에 , 더 편한거 같다. 사용방버은 여러, Bert,Gpt 기반 클래스와 같다.
Auto Classes — transformers 4.11.2 documentation (huggingface.co)
HuggingFace에서의 Transformer를 사용할려면, 크게 세가지 단계를 거친다.
Config,Tokenizer,Model을 호출하는 단게를 거치면 model instance는 생성이 된다.
위 사이트에 가면 찾아볼 수 있다.각자 알아서 원하는 모델의 ,config,Tokenizer,Model을 찾아봐야 한다.
하지만, 항상 중요한건, 각 Transformer Class마다 parameter 랑 return값이 다를 수 있기 때문에 ,
반드시 Config 파일을 보고, 어떤 Class의 instance를 만드는지 확인하기 바란다.
그리고, model의 layer들은 default로 unfreeze 되어있는것을 참고해주면 된다.
Trainer
Trainer는 학습을 조절해주는 클래스이다.
Trainer — transformers 4.11.2 documentation (huggingface.co)
Customizing이 꽤 다양하게 된다. 필자가 생각한 모든 하이퍼파라미터 옵션들을 여기서 다 조절이 가능하다.
글을 굉장히 짧게 적었는데 , 자세히 적고싶은 맘이 생기면 그 때 자세히 예제를 들어가면서 적겟다.
'딥러닝 > Pytorch' 카테고리의 다른 글
Pytorch:hooking,nn.Module,autograd에 대한 고찰 (0) | 2021.09.03 |
---|---|
Pytorch: Torchviz (0) | 2021.08.31 |
파이토치의 데이터셋:Dataset,DataLoader,Transforms (0) | 2021.08.20 |
Pytorch:torch.gather 를 이해해보자 (0) | 2021.08.18 |