-
Notifications
You must be signed in to change notification settings - Fork 368
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fine-tuning details? #1
Comments
SQuAD문제는 logit값 계산 이후로 단어 토큰으로 환원하는 부분이 성능에 중요한 영향을 미칩니다. 여기엔 MRC논문 안에는 언급되지않은 휴리스틱한 부분이 있습니다. 이부분이 허깅페이스 코드에서는 영어에 최적화되어 있으므로 한국어에 맞게 수정을 해야 합니다. |
답변 주셔서 감사합니다. 저는 korquad 팀에서 공식 제공하는 evaluate-v1.0.py 파일을 이용하여 성능 측정을 했습니다. 해당 파일에서는 한국어 특성상 어절단위 F1이 매우 떨어지게 나온다는 점 때문에 음절단위 F1 점수를 측정합니다. Word piece token을 원래 text로 되돌린 후 음절 단위로 F1 score를 측정한다면 말씀하신 부분이 끼치는 영향이 bert-base-multilingual 모델(original) 과 F1이 20이상 차이나는 결과를 가져올 지는 의문이 드는데 어떻게 생각하시는지요? |
안녕하세요. 참고로 모델은 Korean BERT pre-trained cased (KoBERT) 입니다. 따라서 감사합니다. |
해당 이슈는 클로즈 합니다. |
우선, 좋은 모델 공개해주셔서 감사합니다.
KoBERT모델을 KorQuAD 1.0 에 대해서 fine-tuning 하고 성능을 측정하였는데,
제 예상보다 성능이 안나오는 것 같아 저자분께 두가지 질문을 드리고자 합니다. ( F1 이 70정도 나옵니다)
혹시 KorQuAD 1.0 에 대해 성능 측정하신 결과가 있으신지 궁금합니다.
저는 Hugging face 에서 공개한 pytorch_pretrained_bert repo에 있던 run_squad 코드에서 모델과 tokenizer를 KoBERT에서 제공하는 pretrained model과 tokenizer로 바꾸어서 사용하고 있고 아래와 같이 수정하였습니다.
bert, vocab = get_pytorch_kobert_model()
config = bert.config
model = BertForQuestionAnswering(config)
model.bert = bert
tok = get_tokenizer()
tokenizer = nlp.data.BERTSPTokenizer(tok, vocab)
혹시 이렇게 implement 하는 것 외에 다른 detail이 있을지와 성능 관련한 의견을 듣고 싶습니다.
The text was updated successfully, but these errors were encountered: