본문 바로가기

패스트러너 기자단 4기

[패스트캠퍼스 Upstage AI Lab 2기 부트캠프] #09_멘토링

Upstage AI Lab의 멘토링은 크게 세 가지 방향으로 진행된다. 

 

1. 용담강사님 멘토링

2. 학습 테마별 멘토

3. 경진대회 멘토

 

세 개의 멘토링마다 특장점이 조금씩 다르기 때문에 이에 대해 소개해보려 한다.

 

1. 용담강사님의 멘토링

김용담 강사님(https://www.codingiscoffee.com/)은 패스트캠퍼스 전속강사로,

2달의 패스트 캠퍼스 과정과 5달의 Upstage 과정으로 이루어진 Upstage AI Lab 부트캠프 중 패스트 캠퍼스 과정의 EDA와 ML 실시간 강의를 전담하신 분이다.

Upstage 과정으로 넘어간 뒤에도 주기적인 멘토링으로 만났고, 가끔은 오프라인 강의장에 가면 커피도 사주셔서 수강생과 강사님 사이에는 제법 라포가 잘 형성되어 있다. 직접 실시간 강의로 만났고 주기적으로 멘토링으로 수업 및 대회에 대한 고민 외에도 진로에 대한 고민들도 들어주시며 아마 거의 대부분의 수강생들의 특성과 학업 현황을 파악하고 계신 것 같다.

 

뿐만 아니라 Upstage AI Lab 1기를 포함하여 다양한 부트캠프를 전담하셨기 때문에 전체 코스 흐름을 알고 계시다보니 가장 심적으로나 여러 면에서 의존하게 되는 멘토님이었다.

 

 

2. 학습 테마별 멘토

업스테이지 과정은 주 단위로 학습 테마가 바뀌는데, 이에 맞춰 멘토님도 매주 바뀐다.

주단위로 담당 멘토님들은 다양한 난이도의 수강생 todo 미션들을 주시고, 매일 읽을 아티클들을 제공해주신다.

 

수강생 todo (CV Generation) 멘토님 공유 아티클 (NLP Basic)

 

따라서 매주 배정된 강의를 수강하고 (강의 양이 적지 않음 ^^), 수강생 미션을 수행해야 하며 (경우에 따라서는 난이도 하도 어려움), 담당 멘토님의 아티클도 읽어야 한다. 게다가 보통 Advanced 강의 주간에 경진대회가 오픈되기 때문에 경진대회 오픈되는 주간에는 Advanced 강의와 멘토님이 주신 미션과 경진대회를 모두 소화해야 하는 일정이 된다.

대략적으로 CV 때 일정은 아래와 같았다.

  CV 1주차 CV 2주차 CV 3주차 CV 4주차
주차별 학습테마 CV Basic CV Advanced - CV Generation
경진대회 일정   [ ------------ CV 경진대회 ------------ ]  

(참고 : 큰 틀에서 업스테이지 과정은 ① 딥러닝 입문, ② ML, ③ CV, ④ NLP ⑤ AI 실전학습 다섯 단계로 구분 할 수 있다.)

 

따라서 모든 주에 동일한 로드로 멘토님들의 미션이나 아티클을 수행하기 어려운데, 이를 멘토님들도 아시기 때문에 아티클의 경우 저장해 두었다가 나중에라도 꼭 읽어볼 것을 권하셨다. 그래서 개인적으로는 비공개글로 모든 추천 아티클들을 다음과 같이 저장해두었다. (멘토님 성함이나 개인 정보등을 가리기 위해 내용은 모자이크 처리하였습니다.)

 

멘토가 매주 바뀌기 때문에 멘토님들이 수강생들이 이전까지 무엇을 배웠는지 전부 알지 못하기도 하고, 수강생 레벨을 정확하게 알지 못하시기 때문에 멘토링의 퀄리티는 약간의 편차가 있고 전반적으로 연속성이 부족한 느낌이다.

 

멘토님들이 제시해주시는 수강생 미션은 대체로 수강 내용을 이해하는데 도움이 된다. 다만 경우에 따라서는 학습량에 상당한 로드가 추가되기도 하는 부분이 조금 힘들기도 하다.

특히 도움이 되었던 케이스로는 CV Generation 멘토님이 강의 주제별로 만들어주신 퀴즈였다. 퀴즈를 읽고 강의를 들으면 강의 내용에 대한 큰 틀을 일단 그려놓고 수강할 수 있는 장점이 있었다. 또한 퀴즈 덕분에 어떤 부분에 초점을 맞춰서 들어야 하는지 빠르게 캐치할 수 있었다. 반면에 3주차 ML Basic 멘토님께서 만들어주신 강의별 퀴즈는 아마 멘토님이 수강생 레벨을 모르셔서였는지 너무 쉬운 퀴즈들로 준비해주신 게 아쉬웠다. 이러한 맥락에서 멘토님들이 매주 바뀌다 보니 수강생들의 레벨을 알지 못하거나, 당장 필요한 부분을 캐치하지 못 하는 경우가 있어서 아쉬웠다.

 

또 개인적으로 조금 더 노력했으면 좋았을 부분은 모든 멘토님들께 적극적으로 질문했으면 좋았겠다는 아쉬움이 남는다. 일주일이라는 시간이 짧기도 하고, 소화해야 하는 강의 및 작업량이 적지 않다 보니 모든 멘토님과의 만남을 유의미하게 활용할 수 없었던 점이 아쉽다.

 

그래도 타이밍 좋게 NLP Basic 멘토님과 제법 긴 토론을 할 기회가 있었고, 그 과정에서 깊게 고민해볼 수 있는 지점이 있었어서 여기에 공유하고자 한다. (멘토님의 성함은 모자이크 처리하였습니다.)

 

NLP Basic 주간이었지만 학습 로드 및 경진대회 준비를 감안하여 NLP Advanced 강의부터 듣고 있었다. 경진대회 베이스라인은 BART, 요즘 NLP 대세는 decoder-only 모델인 GPT인데, 강의의 구성 자체는 encoder-only인 BERT를 중점적으로 다루고 있다보니 GPT 등장 이후의 시대에 BERT의 중요도가 문득 궁금해졌다.

이에 멘토님은 decoder-only 모델 특유의 generative 한 특성이 오히려 더 큰 가능성을 열다보니 encoder-only 모델에 대한 관심도가 줄어든 것은 맞지만, 범용성을 위해 점점 커지는 LLM 모델들과 비교했을 때 특정 task에 초점을 맞춘다면 서비스 관점에서는 encoder-only 모델이 장점을 가질 수도 있다는 점을 알려주셨다. 서비스 관점은 생각해보지 못 한 부분이었기 때문에 이러한 부분을 알려주신게 조금 더 시야를 확장할 수 있도록 도움이 되었다.

 

 

 

 

3. 경진대회 멘토

경진대회 멘토님들은 주로 온라인 회의로 30분*2회 혹은 1시간*1회 멘토링을 진행해주신다.

주로 경진대회 자체에 초점이 맞춰져 있는 멘토링으로 경진대회 진행 중에 이뤄진다.

 

ML 경진대회 때는 1시간 1번으로 진행하였는데, 마감 직전에 멘토링이 이뤄져서 조금 빠듯하기는 하였지만 팀원들 간 추론 결과를 앙상블 해보는 등 다양하게 실질적으로 경진대회에서 점수를 올릴 수 있는 팁들을 주셔서 마감 직전 퍼블릭 리더보드에서 1위를 달성하는데 큰 도움을 주시기도 하였다.

 

다만, 세 개의 구간으로 나누어 모델링 해보는 방식도 알려주셔서 시도는 해봤지만 너무 마감을 코앞에 두고 실험해보다 보니 유의미한 결과를 만들지는 못했지만, 그 과정 자체는 흥미로웠기 때문에 여러모로 만족스러운 멘토링이었다.

 

 

CV 경진대회 때는 30분 * 2회로 멘토링을 진행하였는다. 첫번째 멘토링 때는 일단 빠르게 모델을 확정한 것이 좋다고 피드백 주셔서 모델에 대한 고민은 fix 해놓고 다른 것들을 시도할 수 있도록 제시해주셨다. 예를 들어 logit을 뽑아서 ensemble하는 방법을 제안해주셨고 그 결과 제법 성능향상이 있었다.

특히 다양한 하이퍼파라미터에 대해 튜닝할 수 있기 때문에 논문들을 참고하여 튜닝해볼 것을 제시해 주셨다. 그 중에서도 꼭 learning rate scheduler를 사용해볼 것을 추천해주셨고, 경우에 따라서는 optimizer로 꼭 최신의 옵티마이저가 좋은 결과를 내지는 않을 가능성도 있기 때문에 Adam 외에도 SGD 등도 시도해볼 것을 권유하셨다. 

 

두번째 피드백 시에는 조금 포괄적인 조언을 해주셨는데, awesome github <주제> 로 검색해보면 원하는 주제에 대해 방대한 양의 정리가 되어있는 깃허브 레포지토리들을 볼 수 있다는 팁과, tmux와 wandb를 꼭 써보라고 추천해주셨다. 다만 마감 하루 전에 주신 피드백이라 CV 경진대회에는 반영하지 못하였지만, tmux는 언젠가 꼭 도전해보고 싶다. (CS에 대한 많은 추가 공부가 필요할 것으로 예상된다.)