Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
📝 Summary
각 모델 성능 비교와, 각 모델의 장단점을 면밀히 분석할 수 있도록 valid.csv를 따로 분리시켰습니다. 전체 학습이 끝난 후, inference.py와 같은 로직을 통해(
predict
함수) valid set에 대해 한번 더 예측을 하고 점수를 로그로 보여주며valid_output.csv
를 저장합니다.✅ Checklist
[ ] 문서 업데이트가 포함되었습니다.📄 Description
기존
train_test_split
함수를 쓰는 코드를 제거하고 따로 csv를 읽어오도록 구현하였습니다.추가로 trainer의
evaluate
단계에서 각 데이터에 대해 preprocess를 수행하며 반복적으로 tokenizer에 접근하며 병목 현상이 발생했었는데 이를 제거하여 evaluate의 속도를 2분에서 30초로 감소시켰습니다.실행 로그 이미지입니다. 학습 완료 후 별도의 valid.csv에 대한
predict
절차를 통해 Accuracy를 로그로 보여줍니다.현재 기본 설정으로 실행하였을 때 0.62; 62점이 나옵니다.
valid는 400개로 설정하였습니다. 400개로 하였을 때 제출 시에도 성능이 거의 동일하게 나왔습니다.(0.41)
💡 Notice (Optional)
현재 valid와 test의 분포가 일치하지 않는 것 같습니다. valid는 train 데이터로부터 분화된 것으로 train과는 분포가 비슷해 예측이 잘되는 반면, test의 경우, 문장 길이가 다르는 등 분포가 미묘하게 다른 것 같습니다. 이에 대한 영향으로 제출 시 기대 성능이 나오지 않는 것 같습니다.
그리고 train에
paragraph
가 동일한 데이터가 여럿 존재하여 이에 대해서 일괄적으로 valid로 삼거나 일괄적으로 train으로 하거나 하게 하였습니다. 이부분을 처리해주지 않으면 train 과정에서 valid에 대한 약간의 치팅이 될 수 있어서 점수가 높게 나왔습니다.(85점) 다행히 데이터 셋 분리에서 이부분을 처리해주니 점수가 떨어져 62점 정도가 되었습니다.이 PR이 merge된 이후 사용해야되는 데이터는 notion에서 확인 가능합니다. 데이터 분리를 한 코드 스니펫도 함께 포함시켰습니다.
https://www.notion.so/gamchan/validation-400-7b10e8f1c28d433a8810f9134da7a1c8
epoch 마다 출력되는
eval_accuracy
의 경우 이상하게 높은데 이는 현재 최신 main 브랜치에서도 비슷한 양상을 보이는 관계로 해당 PR에서 발생한 문제는 아니라고 생각됩니다. 이부분은 해당 PR이 마무리 된 이후 따로 계속 조사후 문제 발견 시 해결하여 새로운 [Fix] PR을 만들어 보겠습니다.🔗 Related Issue(s)
close #27