본문 바로가기

공부방/Upstage AI Lab 4기

패스트캠퍼스 Upstage AI Lab 부트캠프 4기, 과정 중간 회고

2024년 7월 16일, 부트캠프가 시작된 이후로 절반 좀 넘게 지난 것 같다. 

패스트캠퍼스 업스테이지 AI Lab 부트캠프를 선택했던 가장 큰 이유였던 '프로젝트'를 정신없이 하다보니, (그리고 지금도 하고 있고..) 각잡고 회고할 기회가 많지 않았던 것 같다. 이번 기회에 과정 중간 회고를 딥하게 해보았다. 


1. 프로젝트에 관하여

팀원들의 초상권 보호를 위해 가렸습니다..ㅎㅎ

7월부터 11월 말을 향하고 있는 지금까지 프로젝트를 벌써 5개(!)를 했다. 

  1. 랭체인 프로젝트: 올림픽 경기 규칙 RAG
  2. 머신러닝 경진대회: 아파트 실거래가 예측
  3. MLOps 프로젝트: 사용자가 디스플레이에 숫자를 그리면, 숫자를 인식해서 출력하고, 데이터베이스로 관리되면서 모델이 계속해서 업데이트되도록 하는 파이프라인 구성
  4. CV 경진대회: 17가지 문서 또는 차량 관련 이미지를 주고 분류
  5. (현재 진행중인 것)NLP 경진대회: 대화문을 요약

지금 하는 NLP가 끝나고 IR + 선택 1, 그리고 기업연계 프로젝트가 더 있다고 하니 앞으로도 프로젝트가 3개가 더 있는 셈이다. 프로젝트는 보통 3주 정도씩 기간을 주는데, 1주일은 온라인 강의를 들으면서 공부하는 시간이도 2주 동안 코드를 돌려보면서 결과물을 제출하고 점수를 확인할 수 있다. 랭체인이나 MLOps에서는 따로 점수가 있는 대회는 아니였고, 팀플로 결과물을 만들어서 제출하는 방식이다. 

지금까지 프로젝트는 보통 패스트캠퍼스에서 4~5명씩 팀을 랜덤하게(어느 정도 규칙이 있는 것 같기는 하지만) 짜주면, 줌으로 소회의실을 만들어 팀끼리 회의를 하면서 진행했다. 지금까지 5개의 팀플을 하면서 익숙해진 분들도 많고, 처음 팀을 같이 하는 분들도 계셨는데 팀의 분위기랑 문화(?)에 따라 전반적인 결과도 많이 바뀌었던 것 같다. 

적극적이고, 말하는 것을 좋아하시고, 또 배운 걸 공유하기를 좋아하시는 분이 팀에 있는 경우 정말 큰 도움을 받을 수 있었고 함께 많이 배울 수 있었다. 처음에 나는 이해하지 못하면 말하지 않으려고 하는 습관(?)이 있어서, 딱히 말을 많이 하지 않았었다. 그런데 머신러닝 경진대회에서 되게 잘하시는 분인데, 계속해서 뭐가 어려운지 물어보고 아는 선에서 최대한 설명을 해주시는데, 각자 이해하기 어려운 부분을 얘기하다 보니 서로 공부하게 되고, 잘못 이해한 부분을 깨닫게되는 선순환이 있었다. 그래서 그 이후부터는 나도 잘 모르더라도, 내가 이해한 바에 대해 최대한 설명하고 다른 분들께도 의견을 여쭤보고 있다. 

그리고 가장 중요한 것! 클로드랑 매일 대화한다.. 다행히도 나만 그런 것은 아닌 것 같다. 대회에서는 보통 베이스라인 코드가 주어지는데, 베이스라인 코드를 먼저 클로드에 넣고 한줄한줄 읽으면서 클로드한테 설명해달라고 한다. 이해가 안가는 부분이나 모르는 단어가 나오면 검색을 더 하기도 한다. 클로드에게 대회 개괄을 소개하고, 어떤 전략을 짜면 좋을지 물어보기도 한다. 그리고 내가 생각한 아이디어가 있으면 그게 괜찮냐고 물어보기도 한다. 

그런데 이렇게 프로젝트 5개를 진행하다 보니 깨달은 게 있는데, 클로드는 일단 모두 다 긍정적으로 반응한다는 것! 그래서 거지같은 아이디어를 던져도 크게 반대하지 않는다. (나는 몰라서 물어보는건데 말이야ㅠㅠ) 그리고 코드 디버깅같은 것도 꼼꼼하게 하지 못한다. 꼭 빠뜨리는 부분이 생겨서 하나하나 찾아야하는데 이 작업이 매우 오래 걸리고 힘들어서 마치 오탈자 찾던 옛 기억이 떠오르기도 했다.

 

2. 온라인 강의에 대하여

부트캠프는 강의시간 / 프로젝트 시간 이렇게 크게 나눠지는데 중간에 줌 강의들도 있지만, 주로 온라인 강의를 통해 공부를 하게 된다. 패스트캠퍼스에서 제공하는 강의가 꽤 많다. 부트캠프 시작 전에 파이썬 공부하라고 제공해주셨던 파이썬 강의를 제외해도 6개 강의 코스가 있고, 그 안에 들어가면 또 수많은 강의들이 모여 있는 구조다. 

갠적으로 젤 재밌게 들었던 NLP 수업을 이미지로 첨부함

이중에 꼭 들어야 하는 강의는 필수 강의이다. 이 필수 강의에는 업스테이지 현직자들이 나와서 강의를 해주는데, 이게 뭐랄까.... 어렵다. 내 실력이 부족한 탓이겠지만, 일단 강의만 듣고 한번에 이해하는 건 불가능에 가깝다. 강의는 큰 그림을 보여주는 느낌이고, 실제 어떻게 작동하는지는 잘 와닿지가 않는다. 하지만 아무것도 모르는 상태에서 등불같은 존재가 되어, 강의에서 들은 키워드랑 내용으로 검색을 해가면서 더 공부하는 식으로 활용했다. 

하지만 역시나 온라인 강의라는 한계는 있다. 집중력을 유지하기가 힘들다. ㅠㅠ 

 

3. 사이드 프로젝트&스터디 모임 

부트캠프를 시작한 초반에 특강에서 강력 추천했던 것이 부트캠프에서 스터디 모임이나 사이드 프로젝트였다. 처음에 코딩 스터디에 초대를 받아서 시작했는데, 팀원이 돌아가면서 코딩 문제를 올리고, 각자 풀고 스프레드 시트에 코드를 공유하는 방식으로 진행했다. 첫 2주 정도는 나름대로 진행이 됐으나, 프로젝트가 본격적으로 시작하면서 코딩 문제를 풀 시간이 부족해져서 저절로 사라졌..다. 우리끼리 코딩 스터디를 한다고 하니까 매니저님이 만들어주신 스프레드 시트 잔디심기!!  

두 번째로 지금 하고 있는 스터디는 논문 스터디이다. 프로젝트를 같이 했던 분께서 만들어 초대해주셨는데, 각자 논문을 읽고 발표하는 방식이다. 각자 관심있는 주제의 논문을 가지고와서 읽고 발표를 위해 준비하는 것 자체만으로도 큰 공부가 된다. 부트캠프를 통해 이렇게 같이 공부할 수 있는 사람들을 만날 수 있다는 것이 장점인 것 같다. 

 

NLP 프로젝트도 끝났고, 이제 프로젝트 3개가 더 남아있다. 

그리고 프로젝트를 할때마다 느끼는 거지만, 막상 할때는 어떻게 해야할지 막막하고, 코끼리 다리를 더듬는 것 같아 힘들지만 프로젝트가 끝나고 찬찬히 정리해보면 그래도 많은 것들을 배웠다는 걸 깨닫는다. 그리고 프로젝트 뒤에 강의를 다시 들으면 그때서야 아! 이게 그런 뜻이였어? 하고 이마 탁 하는 순간이 오기도 한다. 

부트캠프에 대한 별로 좋지 않은 얘기들이 많은 것도 사실이다. 중요한 건 내가 하고 있는 이 일에서 최대한의 것을 얻어가는 것이다. AI에 대해 아무것도 모르는 백지 상태에서 시작했고, 지금은 조금씩 단어와 개념을 듣고 익숙해지며 감을 잡아가는 단계이다. 모델이 무엇인지, 사전학습된 모델은 어떻게 사용하는지, 실제 파인튜닝은 어떻게 할 수 있는지에 대해서 배웠고, 베이스라인 코드를 기반으로 모델을 돌려볼 수 있었다는 것으로도 엄청난 일이였다.

중간 회고에서 이정도까지 왔는데, 앞으로 얼마나 더 많은 것들을 경험하고 배울 수 있을지 기대된다. (동시에 또 불안하고 막막하기도 하지만,  포기하지 말자.)