[AI Rush] Naver AI Rush 2021 Round 1 / 2 후기
AI Rush 2021
지난 5얼 18일부터 6월 4일까지 AI Rush 2021 라운드 1이 진행되었습니다. 시험기간이 겹치지 않아서 많은 시간을 투자할 수 있었습니다. 우선 기본적으로 기밀 유지 서약을 했기 때문에 자세한 내용을 구체적으로 설명드리기는 어려운 점을 미리 알려드립니다. 우선 대회의 진행은 정해진 경로를 통해 접근이 가능한 깃허브 리포지토리와 네이버 자체의 NSML 플랫폼을 통해 진행되었습니다. 대회 진행은 네이버 AI lab의 전폭적인 지원을 통해 진행되었습니다. Naver의 Tesla V100 그래픽 카드를 인당 4장 정도까지 지원해주었습니다. (더 지원해줬을 수도 있지만 제 기술부족으로 4장까지만 동시에 진행해본 것 같습니다.) 전체적인 방식은 코드를 작성하여 네이버 서버로 보내면 서버상에서 해당 코드를 구동하는 방식이었습니다. 무엇보다 이 방식이 저에게는 많이 낯선 방식이었습니다. 자세한 코드는 공개할 수 없기 때문에 유사한 코드인 카카오 아레나의 베이스라인 코드의 형식을 예시로 보여드리겠습니다.
https://github.com/kakao-arena/shopping-classification
위의 링크로 들어가시면 아래와 같은 코드 리포지토리가 나타납니다.
실제로 model 폴더에 들어가면 아무것도 없습니다만 AI Rush에서는 각 담당 PM분들이 만들어둔 베이스라인 모델이 있었습니다. 그래서 깃 리포지토리에 있는 것처럼 실행을 하면 코드가 알아서 수행이됩니다. 물론 AI Rush에서는 더 정형화된 방식으로 진행을 했습니다. 다양한 하이퍼 파라미터의 조정은 shell script상에서 옵션을 통해 조절하는 방식도 가능했습니다. 물론 베이스라인 코드를 작성하신 PM분들의 스타일에 따라 전달방식은 차이가 있었습니다.
제가 아는 학부연구생 친구의 연구실도 저런 방식으로 코드를 작성하는 것처럼 보였습니다. 그래서 저렇게 하는 것을 연습하고 싶은데 어떻게 하는 건지를 잘 모르겠네요....
아무튼 각설하고 이제 각 라운드 후기로 넘어가겠습니다.
Round 1
1라운드는 총 5개의 과제가 진행되었습니다. 그 중 저는 회원&인증플랫폼의 '회원 키보드, 마우스 기록을 통한 어뷰징 탐지'를 핵심 주제로 분석하였습니다. 모든 과제가 실제 데이터를 제공받지는 못하여서 NSML상에 코드를 보내서 데이터의 구조와 형태를 대략적으로 파악했습니다. 전체적으로 머신러닝 공부를 많이 하지 못해서 가능했던 것은 새로운 층 추가. 피쳐 생성 등이었습니다. 운이 좋게 특정 피처를 추출하여서 점수가 많이 올라 13등으로 라운드 1을 통과했습니다.
개인적으로 서버상에 보내서 코드를 돌리는 형식의 머신러닝 방식을 처음 겪다보니 초반 2주는 코드의 구동방식을 이해하는 것에 투자했습니다. 다행히 코드 구동방식을 이해해서 피처 추가와 일부 변형을 가하는 데 충분히 남은 1주를 소모할 수 있었습니다. 이 이상의 설명은 할 수 없는 점이 안타깝습니다.
개인적으로 라운드 1을 통과하면 다행일 것이라 생각했고 각 과제별로 14등까지 진출하는 상황에서 아슬아슬하게 13등으로 통과했습니다. 등수가 낮아서 높은 성능을 보여주지 못한 것이라 생각하실 수도 있지만 전체 과제 참가자의 평균정도의 성능 향상은 보여줬습니다.
Round 2
2라운드는 총 8개 과제가 진행되었습니다. 저는 TUNE의 '재생 및 메타데이터를 활용한 음악 추천'을 진행했습니다. 문제는 2라운드 진행이 6월 8일부터 7월 1일까지 진행되었다는 겁니다. 제가 현재 3학년 1학기라 OS, DB등 중요한 전공과목들이 많았는데 정확히 2라운드 시작부터 2주동안 시험기간으로 건들지를 못했습니다. 심지어 이후 일주일도 기말 프로젝트 때문에 건드리지 못했죠. 그래서 겨우 마지막 1주만 진행을 했습니다. 2라운드는 일부 과제는 훈련 데이터를 제공해주셨습니다. 그래서 실제 시각화를 진행하여 피처의 연관관계 파악도 할 수 있었습니다.
문제는 제가 코드 분석을 할 시간이 없어서 제대로 원하는 모델링을 하지 못한 것이었습니다 ㅠㅠ
그리고 추천 시스템은 처음 접한 것이다보니 너무 낯설었다는 것이 문제였습니다. 기본적인 아이디어는 CF(Content-based Filtering)이었으나 이해도가 부족해서 아쉽게 살려내진 못했네요.
마무리
길고긴 2~3달간의 대장정이 끝났습니다. 이 대회를 참여하면서 많은 것을 배우게 될 것이라 생각했습니다. 물론 많은 걸 배웠습니다. 가장 큰 거는 나는 굉장히 부족하구나였다는 것을.... 우선 실제 대규모 회사에서는 어떤 방식으로 데이터 모델링과 학습을 진행하는 지 알 수 있었습니다. 또한 데이터의 구조도 파악할 수 있는 좋은 기회였습니다. 그리고 무엇보다 공부 방향성을 잡을 수도 있었습니다. 개인적으로 데이터 및 AI쪽에서도 어떤 분야로 공부를 할지도 생각을 해보게 된 것 같습니다.
오늘 AI Rush Conference가 있었습니다. 그래서 1등 분들의 모델과 생각하는 것들을 봤습니다. 일단 저보다 지식적으로 뛰어나신 분들이 넘나 많았다는 것.... 그래서 일단 방학동안 어떤 분야의 머신러닝과 데이터 분석을 직업으로 삼을지도 고민을 많이 해봐야할 것 같습니다.
공부를 확실히 해서 내년 AI Rush에서는 꼭!!! 수상권으로 들 수 있기를 빌며
'Project' 카테고리의 다른 글
[Project] 공공데이터 활용 선거 및 국회의원 정보 제공 서비스 (0) | 2021.07.27 |
---|---|
[AI Rush] Naver AI Rush 2021 코딩테스트 후기 및 합격 (0) | 2021.05.10 |