일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- dp
- mrc
- 백준
- 글또
- 최단경로
- 그래프이론
- Level2_PStage
- 개인회고
- 다시보기
- 주간회고
- dfs
- 백트랙킹
- 알고리즘스터디
- 부스트캠프_AITech3기
- 기술면접
- 이진탐색
- 파이썬 3
- ODQA
- Level1
- 프로그래머스
- 정렬
- 그리디
- python3
- 이코테
- 알고리즘_스터디
- 단계별문제풀이
- 부스트캠프_AITech_3기
- Level2
- 구현
- U_stage
- Today
- Total
국문과 유목민
[최종 회고] 부스트캠프 AI Tech 3기 본문
부스트캠프 AI Tech 3기 최종 회고
부캠이 끝난지 딱 일주일이 됐는데, 그동안 부캠 동안 미뤄왔던 약속들을 처리하고 사람들도 만나고 좀 쉬었다. 앞으로 해야할 일들도 정리하고, 지원해볼만한 기업들을 추려보며, 이력서와 포트폴리오도 좀 다듬었다. 그리고 이제 슬슬 면접도 준비할 겸, 100일 간의 공부를 정리할 겸 스스로 회고를 해보고자 한다. 부캠에서 공부한 내용의 큰 흐름, 프로젝트에서 맡았던 역할과 부족했던 부분 그리고 개선해서, 성장했던 부분 위주로 정리해봐야겠다. 크게 Level1, 2, 3 세 단계로 나눠서 정리해보겠다.
Level1
Level1은 7주 동안 진행되며, 기초 수학(선형대수, 미적분학), 파이썬 라이브러리, 파이토치 등 AI에 필요한 기초적인 지식을 5주 동안 훑었다. 그리고 2주 동안은 이미지 분류 대회를 통해서 배운 내용들을 적용시키는 시간이었다. 부캠은 AI, 빅데이터를 공부하며 듣게 된 세번째 교육이었는데, 확실히 다른 교육과 차이점이 있었다. 보통 비전공자가 끼어있는 교육의 경우 파이썬이나 수학 기초를 배우는데에 거의 한 달 이상을 쏟기 마련인데 이 과정을 1, 2주 만에 끝내버린다. 그리고 이후부터는 인공지능과 관련된 수업으로 진행된다. 아예 처음 공부하는 분들은 좀 힘들었을 수 있겠지만, 나는 오히려 더 배우고 싶은 것에 집중할 수 있어서 좋았었다.
마지막 쯤 진행되는 프로젝트의 경우 이미지 분류 였는데, NLP트랙에 관심이 있다보니 해당 주제에 큰 흥미를 느끼지 못했었다. 그래서 배운 내용을 활용해보고, 복습하는 느낌으로 프로젝트를 진행했었던 것 같다. 모델 개선을 맡았지만, 성적 향상에 크게 기여하지 못했었다. 그리고 줌으로만 진행한 첫 프로젝트였다보니 소통이나 협업 부분에서 미숙했던 부분이 있었다. 그러다보니 좋은 성적을 받지는 못했고, 딱 중위권 성적을 받았었다. 랜덤으로 정해졌던 팀원들이었지만, 좋은 분들이었고 피드백을 통해 부족한 점을 깨닫고 많이 배울 수 있었다. 피드백을 통해 실험에 대한 수행 이유를 생각하고, 팀원과 공유가 덜 되었다는 것을 알게 되었다.
Level2
Level2는 10주동안 진행되며, 본격적으로 NLP에 대해 배울 수 있는 시간이었다. 2주 동안은 NLP의 기초 이론 강의를 집중해서 들었다. 그리고 남은 3주, 2주, 3주 동안에는 조금 더 심화된 강의와 함께 3번의 프로젝트를 진행했다. 보통 프로젝트 마지막 주를 제외하고는 강의와 프로젝트를 병행하면서 진행됐다. 우리 팀의 경우 프로젝트 주의 제공되는 강의의 경우 프로젝트와 연관이 깊다고 생각해, 초기 2~3일 동안 집중해서 듣고 프로젝트를 진행했었다. 꽤 도움이 되기도 했는데, 후반으로 갈수록 시간이 좀 부족해서 좀 유동적으로 진행하게 됐다. Level2 프로젝트는 Relation Extraction(RE) 대회(3주), RE 데이터셋 제작(2주), MRC 대회(3주)로 진행됐다.
Relation Extraction 대회에서는 이전 프로젝트의 피드백 받았던 내용들을 개선해보고자 했다. 모델 성능 개선을 하고, 협업다운 협업을 하고자 깃을 적극 활용해보고자 했다. 그리고 WandB를 활용해서 실험 내용을 공유하고자 했다. 해당 프로젝트에서는 Multi-Sentence나 Tagging 실험 등을 통해 성능을 올리는 데 기여하기도 했고, Wandb를 이용해 팀원들과 실험 공유를 수월하게 할 수도 있었다. 또한, 협업툴 관리를 하면서 어느정도 프로젝트를 관리를 했다. 해당 대회에서는 Public 6위로 마감했었지만, Private에서는 4위로 올라 상위권으로 마무리할 수 있었다.

RE데이터셋 제작 프로젝트의 경우 데이터 제작 과정을 경험해보는 프로젝트였다. 다른 교육에서는 경험해보지 못하는 것이었고, 늘 데이터 제작이 중요하다는 생각을 가지고 있었기 때문에 매우 흥미로웠던 프로젝트였다. 데이터 RE-map을 정의하거나, 프로젝트 일정 관리 등을 거의 도맡아했었다. 데이터를 보면서 엔티티 정의와 엔티티 간 생성되는 관계를 결정하면서 국어국문이라는 전공 지식을 활용할 수 있었다. 개인적으로 전공 지식을 활용할 수 있었다는 점에서 좋았는데, 섬세한 Relation 정의로 해당 내용을 공유하는 기회도 가질 수 있었다. 해당 프로젝트에서는 적극성이나 리더십 측면에서 좋은 피드백을 받을 수 있었다. 개선할 점에 대해서는 크게 언급된 부분이 없었다.
(당시에는 시간이 부족해서 피드백을 줄만한 것을 찾지 못했을 것이라 생각했다. 하지만 후에 부캠이 끝나고 서로 얘기를 하면서, 당시에 다른 팀원들이 데이터 제작 프로젝트에 큰 흥미를 못 붙였었기에 오히려 내가 적극적으로 해줘서 고마웠다고 한다)

Level2 마지막 프로젝트인 MRC대회는 OpenDomainQuestionAnswering을 구현하는 대회였다. ODQA는 Retriever와 Reader모델을 활용해 사용에게 질문을 입력받아, Wikipedia 코퍼스에서 답을 찾아내는 과정이다. 해당 대회에서는 Reader 모델 부분을 맡아 KorQuAD데이터를 활용한 파인 튜닝이나 커리큘럼 러닝, 하이퍼파라미터 튜닝 등을 통해 3주 동안 매주 성능 향상에 기여할 수 있었다. 이렇게 학습한 모델은 허깅페이스에 공유해 팀원들이 편하게 사용할 수 있게 했다. 또한 이번 프로젝트에서 깃을 활용한 협업 관리를 수행했다. 기존 칸반보드나 커밋 룰을 정하는 것에 더해 일전관리도 마일스톤을 활용해 깃에서 수행하고자 했다. GIt이라는 하나의 플랫폼에서 프로젝트 관리를 하게 되면서 접근성이 더 좋아졌다. 해당 프로젝트에서는 대회 1등을 할 수 있었고, 적극성이나 리더십, 명확한 커뮤니케이션에서 긍정적인 피드백을 받았다. 개선할 부분으로는 실험결과에 대한 추가적인 고찰 부분이 더 나왔고, 분업 시 실험 공유에 대한 얘기가 나왔었다. 이번 프로젝트의 경우 타이트한 일정 속에서 많은 실험을 진행하다보니, 추가적인 고찰이나, 공유를 할 수 있는 시간이 많이 부족했던 게 사실이었다. 따라서 다음 프로젝트 때 이를 개선하고자 했다.

Level3
Level3는 4주간 진행되며, Product Serving 강의와 함께 최종 프로젝트를 진행한다. 최종 프로젝트의 경우 팀별로 개별 주제를 정해서 진행하게 된다. 4주라고 하지만 실제 주어진 기간은 3주이며, 마지막 1주는 프로젝트 완성도를 위한 디버깅 및 발표자료 정리 기간이었다. 우리 팀은 프로젝트 주제 선정 시 4주로 알고 주제를 선정했었다. 하지만 일정이 재대로 나오고, 멘토님께도 난이도적으로 피드백을 받으며 프로젝트 시작하자마자 주제를 변경하게 됐다. 또한, 우리 팀이 정했던 프로젝트 기준을 충족시킬만한 주제를 선정하고자 했기에 시간이 더 소요됐다. 그래도 첫 주 화요일에는 주제를 정해서 수요일부터는 프로젝트를 진행할 수 있었다.
그렇게 정한 프로젝트 주제는 '회의록을 활용한 Closed Domain Question Answering'이었다. 실제 문제를 해결할 수 있는 프로젝트이며, 부캠에서 배운 내용을 활용할 수 있고, AI 프로젝트 전 과정을 경험할 수 있는 프로젝트라고 생각했다. 첫 주에는 데이터셋 선정부터 가이드라인 제작, 데이터 태깅을 진행했다. 둘째 주에는 Reader모델과 Retriever모델에 대한 코드를 구축하고 모델 제작을 했다. 셋째 주에는 서빙을 위해 Streamlit을 활용해 서비스 구현을 하며 발표 준비를 했다. 이번 프로젝트에서는 데이터 가이드라인 제작과 Reader모델 선정 그리고 발표자료 제작과 발표를 진행했다.
해당 프로젝트의 경우 Score와 같은 결과나 피드백이 나오는 프로젝트가 아니었기에 지표적인 성과는 없었다. 하지만 팀 모두 각자 만족할만한 부분을 가지고 갈 수 있었던 프로젝트였던 것 같다. 그리고 시간에 쫓기지 않으며, 우리가 하고자 했던 서비스를 구현할 수 있었기에 의미가 있었다고 생각한다. 해당 프로젝트에서는 적극성, 리더십에 이어 책임감에서도 많은 피드백을 받을 수 있었다. 프로젝트 관리를 맡아서 하다보니 이런 피드백이 나왔었던 것 같다. 마지막 츠로젝트였다보니 부정적인 피드백은 없었다.
[참고자료] 가이드라인 / 발표영상 / 발표자료

정리
5개월, 100일 간의 부스트캠프 기간동안 정말 많은 것을 배울 수 있었던 시간이었다. Level이 1에서 2로, 2에서 3으로 넘어가면서 성잔하고 있음을 느낄 수 있는 시간이었다. 부캠에서 좋았던 점을 다음과 같이 정리할 수 있을 것 같다.
우선, 좋은 마스터님들의 좋은 교육 그리고 대회를 통해 많은 성장을 할 수 있었다. 특히, 변성윤 마스터님의 두런두런 시간을 통해 나에 대해 더 알게 되었다. (두런두런 후기 참고) 다음으로, 멘토님들의 경우 현업자의 정보를 생생히 들을 수 있었고, 안목을 넓힐 수 있었다. 매번 궁금한 것을 여쭤보고, DM으로 이력서 피드백 부탁드리고 했는데, 이 자리를 빌어 정성준, 이가람, 문영기, 전종섭 멘토님께 감사하다는 말씀을 드리고 싶다. 마지막으로 같은 방향을 바라보는 열정 넘치는 동료들이 있다는 것과 그들과 같이 성장할 수 있는 기회를 가질 수 있었다. 좋은 동료들과 같이 일하는 게 얼마나 즐거운 일인지 깨달을 수 있는 시간이었다. 그동안 함께 해준 MnM팀원들과 나와 만났던 모든 캠퍼 분들께 감사하다는 말씀드리고 싶다.
최종 회고
회고를 하면서 2년 전 빅데이터, AI 공부를 처음 시작할 때의 나를 돌아보게 됐다. 그때 당시에는 혼자 공부를 하면서 어떻게 공부해야 할 지 막막해서 하루종일 인터넷에 검색했었다. 할 수 있는게 노력밖에 없다고 생각해, 아침 10시부터 저녁 12시까지 혼자서 무작정 공부를 하면서도 늘 불안했었던 기억이 난다. 그때 당시 주위에는 같은 길을 가는 사람도 없었기 때문에 물어볼 사람도 없었는데, 이제는 같은 길을 가고 있는 동료들이 있고 먼저 그 길을 간 멘토님들도 안다. 이전에는 무엇을 선택해서 공부해야할 지 몰라서 고민이었다면, 이제는 어떤 것을 선택해서 공부해야할까 고민하게 됐다. 예전에 막연히 두렵고, 비전공자로서 경쟁력이 있을까 고민을 했었는데 이제는 전공생들과 겨룬 대회에서도 좋은 성적을 거두기도 했다. 이렇게 보니 많이 성장한 것 같고, 이런 환경이 너무 감사하다.
이쪽 분야를 공부하기 시작한 이후로 매번 성장하고 있다는 느낌을 받을 수 있어서 너무 좋고, 후회없는 선택이었다고 생각한다. 내가 혼자 공부를 시작하기 전 정했던 2년 간의 준비기간을 끝냈다. 이제 취업이라는 정상을 향해서 나아가야겠다. 물론, 그 과정이 순탄치 않을 것이라 생각하지만 여기까지 온 과정도 만만치 않게 순탄치 않았었다고 생각한다. 언제나 그랬듯이 두려워 하지 말고, 그것을 깨부숴 성장하는 내가 되길 바란다.

'IT 견문록 > 2022_부스트캠프 AITech 3기(100일)' 카테고리의 다른 글
[일일리포트] Day 100 (랩업리포트 작성) (0) | 2022.06.14 |
---|---|
[21주차] 개인 회고 (FinalProject_프로젝트 정리) (1) | 2022.06.10 |
[일일리포트] Day 99 (FinalProject_17) (0) | 2022.06.10 |
[일일리포트] Day 98 (FinalProject_16) (0) | 2022.06.10 |
[일일리포트] Day 97 (FinalProject_15) (0) | 2022.06.08 |