Open Yebin46 opened 3 years ago
면목이 없다뇨... ㅠㅠ 그런 생각 버려주세요! 전 더 못하지만 같이 고민해요! 좋은 방법 시도해주시고 계셔서 감사합니다!
예빈님 혹시 시도하시는게 masking은 static masking이 맞을까요?
getitem 할 때마다 데이터에 masking 하는 건데 이건 dynamic masking일까요...?!
epoch마다 getitem이 되면 dynamic masking이 맞는 것 같아요!
관련 코드는
load_data.py
와train_lm.py
에만 있습니다!어떤 문제가 있는가?
import pdb; pdb.set_trace()
를 넣어봐도 pdb가 동작하지 않고 같은 에러(OOM)만 발생했습니다.TrainingArguments
에eval_accumulation_steps
옵션을 추가해주면 해결된다는 글을 발견했고,실제로-> 해결된지 알았는데 도중에 Memory Error라는 다른 에러가 발생하네요...😥eval_accumulation_steps=2
를 추가했을 때 eval batch size가 16이어도 동작하는 것을 확인했습니다. (그런데 여전히 compute_metrics 안의 pdb가 동작하지 않아서 이상하게 느껴집니다ㅜ)load_data.py
__getitem__
에서 input 문장에 대해 mask token(['MASK']
)을 씌워줌.__getitem__
에서 호출됨. BERT에서 마스크를 씌워줬던 방식과 동일 (mask가 씌워지지 않은 토큰에 대해 label이 -100으로 되어있는데 transformers RobertaForMaskedLM 코드를 보니까 label 중 값이 -100인 것을 제외하고 loss를 계산한다고 나와있습니다!)train_lm.py