1주차 때 모델 변경을 많이 시도했는데, 잘 수행되지 않고 가끔씩 수행되더라도 성능이 0에 가까워 자괴감이 많이 들었었다. 저번 대회 때 정리가 매우 중요하다는 것을 알았으면서 그 자괴감 때문에 무언가를 기록해야겠다는 생각을 하질 못했다.
이런 이유로 1, 2주차 때 기록을 자세하게 해야했지만, 해야겠다는 마음가짐과 실제 작업물이 나오지 않았다는 괴리감 때문에 해야할 것을 하지 못했다는 죄악감 때문에 더 괴로웠던 것 같다. 나중에 피드백 때 강하게 해야할 부분
1주차
1일째
강의 듣기
이전 대회때는 강의를 너무 띄엄띄엄 들어서 해당 내용을 잘 활용하지 못했던 것 같다. 따라서, 이번에는 강의를 먼저 쫙 들은 다음에 대회에 참여해보았다.
확실히 강의에 대한 부담감이 없어서 그런지 이 방법이 매우 좋은 것 같다.
협업 방식 지정
GitHub의 Pull Request와 Issue란을 잘 활용하고자 했다.
1주째는 각자의 방법으로 코드를 건드려보고, 2주차 때 모든이들의 작업을 합하도록 하였다.
Wandb는 공통된 영역에 수행하여 다른 사람들의 작업과 비교해보기로 하였다.
칸반 보드 및 노션 활용
노션을 활용하여 서로의 작업 과정을 공유하기로 하였다.
2일째
EDA를 수행하였다.
지금보니 처음 수행한 EDA를 너무 쓸모업게 한 것 같다.
EDA는 한번에 하는게 아니다! 그냥 막혔을 때 방법을 파악해보면서 이런 방법을 적용할 때 데이터 분포가 영향을 끼치지 않을까? 이런 식으로 수행해야 한다는 것을 알았다
3, 4, 5일째
Model 변경
Model의 Classifier를 변경시켜보고 싶어서 Classifier를 내가 원하는 대로 변형시켜보았다.
Model 변경에 매우 많은 힘을 쏟았지만, 에러만 뜨고, 가끔 수행되도 성능이 0 ~ 10을 벗어나지 못해 잘못한 것은 알았지만, 어디가 잘못된지는 모르는 매우 우울한 상황이 되었다.
Trainer 변경
Trainer를 내가 원하는 방식으로 변경시키고 싶었다.
특히 Loss Function 및 Optimizer, Scheduler가 변경이 안되서 매우 고생하였다.
결국, 주말에 코드를 직접 다 까봐서 겨우 적용은 시켰지만, 효과가 그렇게 뛰어나진 않아서 좌절했었다.
2주차
수행한 내용
[CLS] 토큰이 아닌 Special Token을 집어 넣고, 그곳에서 나오는 Output을 Concat시켜 활용
GitHub에 서로의 수행 내용을 합치기 위해 모든 사람들의 코드 뜯어보기
1주차부터 Model의 변경이 제대로 수행되지 않고, 다른 팀원들은 프로젝트 점수에 조금이라도 도움이 되는 것 같은데 나는 아무런 도움을 주지 못하는 것 같아 자괴감이 매우 커진 일주일이였던 것 같다. 나중에 피드백을 쓸 때 2주차 때 피드백할 내용이 매우 많을 것 같다.
3주차
주말(일요일)
[CLS] 토큰이 아닌 Special Token의 Output을 Concat시키는 방식이 처음으로 제대로 적용되었다.
Loss자체는 높았으나, Accuracy가 오르는 경향성이 매우 좋다고 생각하여 제출하였지만, 점수는 조금 떨어졌었다. 하지만, 가능성이 있다고 생각하여 Multi 방식을 추가하기로 하였다.
Multi 방식 적용
Loss자체도 더 낮아졌고, Accuracy 및 f1-score도 더 높아졌다.
실제로 Competition에 제출했을 때도 2점이 올랐다. 드디어, 진짜로 드디어 내가 원하는 대로 코드가 수행되었다. 토요일 및 일요일 동안 아무 생각도 안하고 푹 쉬었던 것 같은데, 일요일 저녁부터 새로운 마음가짐으로 한 것이 좋게 작용한 것 같다. 피드백 부분에 반영해야할 것