ISFP의 느리게 굴러가는 개발 블로그

[해커톤] KoBERT도.. Docker도 처음이었던 해커톤 후기 본문

프로젝트 회고

[해커톤] KoBERT도.. Docker도 처음이었던 해커톤 후기

taeeeeun 2021. 1. 24. 00:55

KoBERT도.. Docker도 처음이었던 해커톤 후기

 

조금 한가해져서(?) 12/28~1/6까지 진행되었던 mz해커톤 참여 후기를 써보려고 한다.

 

당시에 벌려놓았던 일이 많았기에(프로젝트 기획, 리액트 스터디, 졸업 프로젝트 등등..) 할까 말까 고민하던 해커톤이었다. 그런데 친구가 이미 팀원 2명을 더 모집했고 결국 어쩌다 보니 참여하게 되었다!

 

나는 BERT 모델도 처음 들어봤고, 도커도 수업 중에 오픈 소스라는 것 외에는 아무것도 모르는 상태였다. 그나마 여름방학에 딥러닝 공부 조금 했던 거? 전처리나 colab 몇 번 써본 거.. 리눅스 조금 할 줄 아는 거? 밖에 없던 사람이었다.

 

그렇게 해커톤이 시작되었고 약 열흘간 매일같이 1시부터 9시까지 만나서 코딩을 했다. 2020년의 마지막 날에도.. 1월 1일에도 나는 가족을 보지 못했다^_ㅠ

 

 

밥은 항상 잘 챙겨먹었다^ㅁ^

 

 

데이터 구조

<의도> (탭) <문장>

-총 의도 개수: 758개

-Train 문장 개수: 약 8만 개

-Dev 문장 개수 약 9천 개

 

총 758개의 label을 분류해야 했는데 가장 수가 적은 라벨에는 데이터가 30개 정도 되었던 것 같다.

 

우리가 사용했던 모델은 SKTBrain에서 개발한 KoBERT 모델인데 BERT모델의 한국어 성능 한계를 보완하기 위해 만들어진 모델이다. 한국어 위키와 한국어 뉴스로 pre-trained 된 모델이다.

 

처음에 accuracy가 바닥을 길 때는 정말 한없이 우울했는데 70%대까지 올라왔을 때 얼마나 기뻤는지 모른다 😭

 

 

모델을 너무 많이 돌리면 colab에서 정지먹기도 한다.

 

 

한 일주일 동안은 accuracy를 1%라도 올리기 위해 엄청나게 노력을 했다. 전처리, data augmentation, 다른 모델 찾기 등등 엄청난 노력을 거쳤지만 결국 train accuracy는 93%, dev data 기준 73.4%, test data 기준 72.8%를 기록했다. 

 

 

나를 2주간 괴롭힌 저 고래..

 

 

그리고 나에게 가장 고비는 바로 Docker였다. 해커톤 제출 방식이 Docker image를 생성해서 제출하는 거였는데, 도커를 처음 써보니 뭐가 뭔지 몰라서 하루 종일 헤맸던 기억이 있다.😭😭😭

 

 

이 dockerfile 하나 만드는게 얼마나 어려웠는지

 

 

어찌어찌 dockerfile도 만들었는데, 실행하면 docker에서 볼 수 있는 모든 에러 메시지도 다 본거 같다. 친구랑 같이 디버깅하면서 찾았는데 전에 해결했던 에러를 기록 안 해서 다시 찾아야 했을 때 정말..🤯 에러 메시지는 꼭 기록해놓자는 교훈을 얻었다!

 

마지막 이틀은 팀원들 모두 밤을 새웠다. 나는 전날 4시까지 디버깅하다가 잠들었는데 아침에 11시에 일어나서 제출까지 또 문제 해결하다가 딱 1분 남기고 제출했다ㅋㅋㅋ

 

 

항상 자신감을 가지는 것이 중요하다고 했다😎

 

리드미도 같이 제출해야 해서 나름 정성스럽게 작성했다. 그리고 개인적으로 리드미가 잘 작성된 레포를 보면 마음이 편해지기 때문이다.

 

정신없이 끝나서 그런지 수상할 거라는 생각이 없었고(나만 그랬을 수도) 그저 완주한 것만으로도 만족하는 해커톤이었는데 상도 받았다!

 

 

62개팀 중 4등? 5등?을 했다.

 

 

아무튼 첫 해커톤 수상이라 너무 기쁘다!!!!😀 해커톤 기간 동안 많은 공부가 되었다고 생각했는데 좋은 결과까지 이루어져서 너무 기분이 좋다. 이렇게 긴 기간 동안 진행하는 해커톤은 처음이었는데 중간에 포기하지 않고 끝까지 완주해서 너무 뿌듯하다. 그리고 정말 똑똑한 팀원들을 만나서 서로 상호보완(?)이 잘 된 거 같다. 덕분에 모두 성공적이진 않았지만 여러 시도들도 할 수 있었다. 항상 해커톤은 나에게 넘지 못할 산 같은 느낌이었는데 이번 해커톤을 통해 조금 성장한 기분이다 😆

 

깃허브 주소: https://github.com/xodms0309/mz-hackathon

Comments