본문 바로가기

transformers5

[Code review] Transformers Trainer class 기능 정리 Transformers (HuggingFace) 2019 ~ 2020년. BERT 논문이 나온 이후 관련된 오픈 소스 라이브러리는 마치 춘추전국시대가 연상되었다. 유저들은 facebook, nvidia, google 등 많은 곳에서 오픈 소스를 사용했다. 하지만 결국 승리자는 HuggingFace 라고 생각한다. 본 포스팅에서는 2020년도부터 행복하게 사용해온 HuggingFace 의 Transformers 라이브러리 중 학습 Main 모듈인 Trainer Class 를 살펴보려 한다. Gihub Link Documents Link Transformers > Trainer 객체 지정 def __init__( self, model: Union[PreTrainedModel, nn.Module] = None.. 2023. 2. 17.
[SAINT+] Integrating Temporal Features for EdNet Correctness Prediction Riiid AI Research team 2021년 2월 1일 논문 발간 Overview 💡 SAINT와 거의 유사하지만 추가적인 정보(input data)가 더 들어가 성능을 약 1% 향상시킴 SAINT 모델 Overview와 같은 내용 SAINT 모델 이전에 어텐센을 적용한 모델(ex. SAKT model)은 input 데이터(ex. IRT)의 복잡한 관계를 반영하지 못했다. SAINT 모델은 input 데이터의 적절한 활용을 제안하여 EdNet 데이터 셋(=KT 모델 관련 밴치마크 데이터셋)에 대해 좋은 성능을 보였다. SAINT 모델이 input 데이터를 활용하는 방법은 다음과 같다. Encoder-Decoder transformer architecture 사용 인코더에서 문제 관련된 정보를 사용.. 2022. 6. 23.
[SAINT] Towards an Appropriate Query, Key, and Value Computation for Knowledge Tracing Riiid AI Research team 2020년 2월 14일 논문 발간 Overview 💡 어떤 학생이 문제를 푼 히스토리가 주어졌을 때, 모델은 새로운 문제를 학생이 맞출지 여부를 예측. 이때 모델(SAINT)은 transformer의 self-attention을 활용한다. SAINT 모델 이전에 어텐센을 적용한 모델(ex. SAKT model)은 input 데이터(ex. IRT)의 복잡한 관계를 반영하지 못했다. SAINT 모델은 input 데이터의 적절한 활용을 제안하여 EdNet 데이터 셋(=KT 모델 관련 밴치마크 데이터셋)에 대해 좋은 성능을 보였다. SAINT 모델이 input 데이터를 활용하는 방법은 다음과 같다. Encoder-Decoder transformer architecture.. 2022. 6. 23.
[경량화 패키지] TextBrewer 사용 후기 ※ Disiller.train() 🤔 TextBrewer를 사용한 경량화 학습 시 train 메서드의 인자는 다음과 같다. optimizer : 옵티마이저 dataloader : 데이터 로더 using PyTorch num_epochs : 학습할 epoch 설정 num_steps : 학습할 step 설정 callback : 학생 모델 검증 함수 batch_postprocessor : 후처리 (굳이 설정 안 해줘도 됨) scheduler_class : textbrewer에 있는 scheduler 함수 scheduler_args : scheduler_class 설정 용도 scheduler : 무시 max_grad_norm : gradient vanishing 방지를 위한 설정 🚫 주의 사항 num_steps.. 2022. 6. 17.
[경량화 패키지] TextBrewer 학습 Process Total loss 정의 KD loss : Knowledge Distillation loss로 학생 모델의 logits이 교사 모델의 logits 분포를 따라가도록 학습 HL loss : Hard Label로 학생 모델의 logits이 groud truth of label을 따라가도록 학습 Intermediate_losses : 학생 모델의 encoder layer 분포가 교사 모델의 encoder layer 분포를 따라가도록 학습 다양한 기능 제공 > 자세한 사항은 textbrewer docs 참고 KD loss 관련 기능 KD loss weight 설정 temperature 관련 Parameters loss type 관련 Parameters HL loss 관련 기능 (+ Inermediate_loss.. 2022. 6. 17.
반응형