monologg / KoBERT-Transformers

KoBERT on 🤗 Huggingface Transformers 🤗 (with Bug Fixed)
Apache License 2.0
202 stars 45 forks source link

안녕하세요, kobert와 kobert-lm의 차이점이 궁금합니다. #8

Closed eunseongc closed 2 years ago

eunseongc commented 2 years ago

안녕하세요, 성균관대학교 최은성 학생입니다. 유익한 repo를 공유해 주셔서 감사합니다. 혹시 KoBERT와 KoBERT-lm이 사전 학습에서 차이가 있을까요? 최종 layer에 대한 weight가 추가된 것 외에, encoder 내부 weight를 찍어봤는데 서로 다르더라구요, 현재 한국어 MRC에 활용하고 있는데 성능도 kobert-lm 모델이 약간 더 높게 나오는 것 같고요, 알려주시면 감사하겠습니다.

monologg commented 2 years ago

원본 KoBERT 모델에는 MaskedLMHead 가 존재하지 않습니다. (KoBERT쪽의 문제라기보다는, 초창기 pytorch-transformers 쪽에서 tensorflow -> pytorch로 변환할때 해당 head를 같이 변환하지 않은 이슈 때문인걸로 저는 알고 있습니다)

2년전에 DistilKoBERT를 만드려 할때 Head가 없는 부분이 이슈로 자리잡았고, 이를 해결하기 위해 KoBERT weight로 initialize하여 제 데이터로 additional pretraining을 진행했습니다. 그리고 그 모델이 kobert-lm 입니다.

eunseongc commented 2 years ago

답변 정말 감사합니다! 큰 도움이 되었습니다. 좋은 하루 보내세요 :)