[부스트캠프 AI tech 4기] week 12 회고 📝 - DKT 대회 종료

반응형

BoostCamp AI tech

 

 

Contents

    1. 대회 내용

    저는 계속 피처 엔지니어링을 진행했습니다. 팀원들도 모델에 대한 실험 기록을 MLflow로 하고 싶다는 니즈가 있어서 제가 Quick Start Tutorial 코드를 제작하여 팀원들에게 공유했고, 팀원들이 모두 해당 코드를 통해 MLflow를 도입하여 실험 기록들을 해 나갔습니다.

    mlflow 도입

    인상 깊었던 내용은 문제 유형에 대해 유저별로 다양한 군집화를 해서 피처를 생성하고 도입했다는 점입니다. TSNE를 통해 2차원으로 만든 뒤에, KMeans 부터 DBSCAN, HDSCAN을 이용해 군집화하고 카테고리컬 피처로 생성하여, 다른 피처와 조합해 다양한 피처들을 생성하고 추가하여 성능을 측정해보았습니다.

    다양한 군집화

    외에도 elo Function을 이용해 유저의 상대 난이도를 계산해서 피처에 적용한 것도 인상 깊었습니다. 제가 추가한 피처만 거의 70~80개가 되어갔습니다. 이번 대회에서 정말 신기했던 것은 Shake-up이 정말 크게 일어났다는 것입니다. 1위 하던 조가 거의 꼴등으로 내려갔고, 꼴등이던 조가 상위권으로 올라갔습니다. 다행히 저희 조의 순위는 약간 올라가서 정말 좋았습니다. Validation Set을 다양한 시도를 통해 강건하게 구축하고, 다양한 모델 앙상블로 결과를 강건하게 한 조들이 상위권에 많이 머무른 것 같습니다. 저희 조도 어느 정도는 중상위권에 진입하여 정말 좋았습니다.

     

    2. 피어 세션

    1) 일반

    매일 데일리 스크럼을 진행하며, 대회를 어떻게 풀어나가는지 서로 공유했습니다. 그 과정에서 서로 맞물리는 부분이 생기면 게더타운에서 서로 소통하며 긴밀하게 협업했습니다. 서로 어디서 막혔는지 얘기했고, 대회가 진행됨에 따라 각자 맡은 모델에 대해 고도화가 되어 다른 팀원들의 조언이 크게 도움이 되진 않았지만, 어디가 막혔는지 팀원들에게 논리적이고 구체적으로 털어놓는 과정에서 문제 해결책의 실마리를 얻는 경우도 종종 있어서 매우 좋았습니다. 

     

    2) 코딩 테스트 스터디

    이번 주에는 구현과 관련된 알고리즘을 풀어와 한 문제씩 발표하고 의견을 나누었습니다. 저는 스도쿠 문제를 풀었습니다. DFS를 이용해 백트래킹을 하는 문제입니다.

    구현

     

    3) 면접 질문 스터디

    이번 주 면접 질문 스터디의 주제는 간단한 CS 기술면접 자유주제니다. 대회를 집중적으로 하다 보니, 깊은 내용보단 가벼운 내용으로 준비하였습니다. 제가 준비한 내용은 Restful API란 무엇인가? 입니다. 목차는 아래와 같습니다.

    Restful API란

    예전 회사에서 웹 개발 업무를 할 때, 한번 정리해야지 해야지 하다 아직까지 못했는데, 이번 기회에 한번 정리했습니다. API의 넓은 의미의 개념부터 일반적으로 통용되는 개념과 역할, 유형을 다루었고, REST가 의미하는 것, 그리고 HTTP와의 관계 HTTP 메소드를 통한 통신 방식을 다루었습니다. API, REST API 이런 개념들은 뭔가 추상적이어서 볼 때마다 잘 와닿지 않았는데, 한 번 정리하니 어느 정도 개념이 잡힌 것 같아 좋았습니다. 외에도 다른 분들은 프레임워크와 라이브러리, 동기와 비동기, 오버 라이딩과 오버 로딩, OOP 개념을 다뤄주셨습니다.

    CS 기술 면접 스터디

     

    4) 모델 구현 스터디

    모델 구현 스터디에선 현재 DKT 대회에서 사용하고 있는 모델을 중심으로 lightGCN, Bert를 이용한 Transformer, LSTM을 다뤄주셨습니다.

    모델 구현 스터디

     

    5) 한 주 회고

    한 주 회고

    3. 그 외 이벤트들

    1) 멘토링

    대회 관련해서 질문하고, 답변해주셨습니다. 이번 주는 통합 멘토링도 진행했는데, 3기 캠퍼분이 오셔서 정말 열린 마음의 다양한 조언들을 해주셨습니다. 부스트 캠프에서 대회에 너무 치중한 나머지, 큰 그림을 놓치고 있었다는 느낌이 들었습니다. 대회에서는 성능의 소수점 하나 올리는 게 정말 중요하지만, 현업에서는 그 수치보단 그래서 어떤 시도를 해봤고, 무엇을 한 건지, 논리적이고 구체적으로 설명하는 방향성도 매우 중요하다고 느꼈습니다. 또, 해야 할 것에만 너무 갇혀있기보단, 다양한 시도들을 해보는 것도 좋겠다고 느꼈습니다.

     

    2) 마스터클래스

    이번 주 오피스 아워에서는 이번 대회에서 1위와 2위 한 조의 대회 설루션 발표가 이어졌습니다. 1위 한 조의 발표가 정말 인상 깊었습니다. 특히, PM(Project Manager)를 2일씩 돌아가면서 진행했고, 팀원들도 계속 로테이션하며 진행한 일을 인수인계하는 방식의 협업을 했다는 게 정말 인상 깊었습니다. 그래서 모든 팀원들이 대회에서 진행한 모델들과 데이터들을 모두 다 다뤄보며 성장하는 것에 포커싱을 했는데, 대회까지 1등 했다는 정말 교과서적인 발표였지만, 인상 깊게 다가왔습니다. 마스터님도 부스트 캠프 1~4기를 통틀어 이렇게 모범적으로 한 조는 처음이라고 칭찬하셨습니다. 대회 과정이나 피처 엔지니어링 전반적인 내용은 사실 저희 조가 진행한 것과 크게 다르지 않았습니다. 그래서 사실 조금 더 아쉽습니다.

     

    Reference)
    1. 네이버 부스트 캠프 Ai tech 4기
    반응형

    댓글

    Designed by JB FACTORY