RecSys Challenge 2023
국내 1위 코르카 팀의 대회부터 학회까지의 여정 (1/2)

Corca
Corca
Published in
10 min readNov 13, 2023

Written by: 이태호(Tech Lead), 김태희(ML Lead), 백승윤(ML Engineer), 김준홍(ML Engineer), 전태현(ML Engineer), 김선영(HR Manager)

오늘은 RecSys Challenge 2023에 대회부터 학회까지 기나긴 여정에 참여하고 국내 1위라는 멋진 성과를 이루어 낸 팀원들과 회고의 시간을 가져보았습니다.

태호) 안녕하세요 여러분! 오늘 RecSys Challenge 2023 대회와 학회 회고를 해보기 위해 모였어요. 이렇게 외부 공유를 위한 회고를 갖는 게 처음인 것 같은데 느낌이 신기하네요. 우선 오늘 모더레이터를 맡은 저희를 소개합니다. 저는 코르카의 테크 리드 이태호입니다.

선영) 안녕하세요 여러분. 저는 코르카의 HR 매니저 김선영이고 여기에서 유일하게 대회 참석을 안한 사람입니다. (웃음)

태호) 본격적으로 시작하기 전에 간단한 자기소개 부탁드립니다~

  • 태희) 안녕하세요 저는 코르카에서 추천시스템 쪽을 보고 있는 ML 엔지니어 김태희입니다. 이번 RecSys Challenge에 같이 나가보자고 제안한 사람이기도 합니다^^
  • 승윤) 안녕하세요 저는 코르카 ML 엔지니어 백승윤입니다. 저는 LLM 연구를 메인으로 하고 다양한 서비스를 만들고자 하고 있습니다.
  • 태현) 저는 ML 엔지니어 전태현이고 Search를 메인으로 보고 있습니다.
  • 준홍) 코르카 ML 엔지니어 김준홍이라고 합니다. 원래 추천시스템을 바라보다가 현재는 LLM 어플리케이션을 메인으로 개발하고 있습니다.

태호) 우리가 RecSys Challenge 대회를 처음 말로 꺼냈던 게 올해 3월쯤이었는데 어느새 대회도 다 끝나고 학회도 다 끝나고 마지막으로 이 회고만을 남겨 놓고 있어요. 다들 이 자리에 함께 하신 소감이 어떠신가요?

  • 준홍) 짧다고 하면 짧고 길다고 하면 긴 시간이었는데 모두 끝나고 나니 긴 시간 동안 고생한 우리에게 잘했다고 말해주고 싶네요.
  • 승윤) 대회를 시작할 때 농담으로 좋은 성과를 내서 싱가포르에 가자고 했었는데 이미 다녀왔고 이런 시간까지 갖게 되다니 시간이 정말 빠르다고 느껴지네요.
  • 태희) 코르카 내부에서만 추천시스템을 하고 있었는데 RecSys Challenge를 통해 추천에 관심을 가지고 있는 기업들 사이에서 추천 역량을 겨루고 또 공유한 경험이 소중하네요.

선영) RecSys Challenge를 모르는 독자들을 위해 간단하게 어떤 대회이고 이번 대회에서 어떤 문제가 나왔는지 설명해 주실 수 있을까요?

  • 태희) ACM이 주관하는 학회 중 RecSys 라고 추천시스템 분야 학회가 있어요. 다양한 도메인에서의 추천 데이터 축적 및 추천 방법론의 발전을 위해 학회에서 매년 대회를 열고, 추천시스템에 관심이 있는 기업 및 연구자들이 대회 참여 후 우수 솔루션들을 학회 Challenge 워크샵에서 공유를 합니다. 주체 기업은 매년 달라지는데 트위터, 스포티파이 등의 기업들이 있었고 올해는 인도의 SNS 회사인 ShareChat이 온라인 광고가 노출이 된 이후 사용자가 해당 광고 상품을 다운로드할 확률을 예측하는 주제를 들고 왔습니다.

선영) 오 저는 대회 주최자가 매번 바뀌는지 처음 알게 됐어요!

  • 태희) 매번 바뀌어요ㅎㅎ 반쯤 농담인데 우리도 나중에 이런 걸 주최해보면 어떨까라는 생각을 했어요. 코르카가 다루는 문제를 전 세계에 공유함으로써 사람들의 아이디어를 많이 얻을 수 있게 될 것 같아요.

선영) 어떻게 대회를 시작하게 되었나요?

태희) 코르카가 2022년도부터 온라인 광고의 가치를 예측하는 DSP 온라인 광고 프로젝트를 계속 하고 있었어요. 추천 모델 리서치 과정에서 논문으로 RecSys 학회 논문들 및 Challenge 솔루션들을 많이 참고했는데 대회가 열린 걸 보고 우리도 직접 참여를 해보자 해서 코르카 슬랙 채널에 같이 달려볼 분을 모집했고, 팀원들이 열정적으로 참여해 주셔서 여기까지 왔습니다.

태호) 이번 대회에서 우리가 좋은 결과를 얻었습니다. 우리의 성과에 대해 자랑해주세요!

  • 승윤) 전세계 7등!!
  • 준홍) 국내 1등!!
  • 승윤) 우리의 솔루션이 노벨티가 있어서 논문도 억셉되었습니다!!

선영) 정말 멋지네요! 이번 대회 참여자는 어떤 회사들이 있었나요?

  • 태현) 1등은 이전에도 수상을 했던 캐나다의 Layer6 AI였고 2등이 인텔, 3등이 화웨이였던 걸로 기억해요. 위 기업들과 함께 리더보드에서 7등을 했습니다ㅎㅎ
  • 태희) 또 유명한 회사로는 엔비디아가 있는데 RecSys 2020, 2021년도에 우승했고, 대회만을 위한 팀이 따로 있을 정도여서 얼마나 잘할까 생각했는데 엔비디아를 이겨서 뿌듯하고 신기합니다.

태호) 우리가 이번에 전 세계 7등이라는 우수한 성적을 거둘 수 있었던 주요한 요인이 무엇이라고 생각하세요?

  • 태현) 중요한 건 꺾이지 않는 마음 아닐까요? 마지막까지 포기하지 않고 달렸던 것이 제일 중요했다고 생각해요.
  • 승윤) 모두가 올라운더였어요. 모두가 데이터 분석부터 피처 엔지니어링, 모델링, 앙상블까지 능숙했기 때문에 서로 수행한 결과들을 쉽고 빠르게 공유하고 이해할 수 있었어요.
  • 태희) 확실히 모두가 A부터 Z까지 다 할 수 있으니까 서로 협업이 원활할 수 있었던 거 같아요.
  • 준홍) 탈주자가 없어서 이런 결과를 보게 될 수 있지 않았나 싶어요. 위기가 있었지만 사람 때문에 힘든 점이 없어서 잘 버틸 수 있었던 것 같아요.
  • 태희) 사실 대회 하면서는 프로덕션과 다르게 안정성이나 코드 퀄리티를 포기하고 오히려 속도를 높이는 것이 더 좋기 때문에 우린 이런 이점을 더욱 살렸던 것 같아요.
  • 태현) 그걸 가능하도록 자동화하고 실험 로그도 쉽게 확인하도록 하고 소스코드까지 서로 다 쉽게 공유할 수 있도록 시스템을 잘 만들었어요.
  • 승윤) 공유할 수 있는 시스템도 계속 개선하면서 최대한 우리의 효율을 높일 수 있는 협업 방법을 찾고자 노력했어요.
  • 태희) 마지막으로 같이 문제 푸는 게 너무 재미있었기에 이렇게 끝까지 다 함께 할 수 있지 않았나 싶어요.
회고의 시간을 갖고 있는 코르카 팀원들

태호) 우리가 이때까지 했던 추천시스템과 이번 대회에서 했던 것을 비교해 보고 싶은데요. 공통점과 차이점은 무엇이었나요?

  • 준홍) 노출 데이터에 클릭, 전환 라벨이 있다는 부분이 완전히 동일해서 토픽 자체는 친숙했던 것 같아요. 그러나 본질적으로 대회에서는 주어진 데이터에 대해서만 잘하면 되는데 우리 프로덕션에서는 실시간으로 계속 데이터가 바뀌니까 고려해야 할 사항들이 달랐죠.
  • 태희) 대회에서는 순전히 모델링과 성능 향상에만 집중할 수 있어서 그게 재밌었어요.
  • 승윤) 우리 프로덕션의 최종적인 목표는 광고비 대비 매출 향상이나 클릭률 향상이 목적인데 이 대회에서는 전환율 자체만 예측하는 것이어서 좀 더 쉽게 느껴졌어요.

태호) 데이터 난이도는 어땠나요?

  • 태희) (웃음) 데이터의 난이도는 정말 달랐던 거 같아요. 출제자의 의도 중 하나가 privacy였어요. 이걸 위해서 모든 정보가 암호화되어 있었거든요. 주어진 변수들에 대한 정보가 하나도 없이 분포나 상관관계 등 통계적인 정보들에만 의존해서 모델링을 했어야 했어요. 정보가 부족하니 validation 데이터 구성에도 어려움이 있었습니다.
  • 준홍) 숫자만 주고 이 숫자가 어떤 의미인지는 안 알려주고 그냥 모델링 해봐~
  • 태현) 전처리도 어느 정도 되어 있어서 숨겨진 의미를 찾는 것이 더 어려웠어요.
  • 승윤) 데이터 분석에 집중을 많이 했어야 했던 거 같아요. 컴퓨터 비전이나 자연어처리 문제에 비해 정형 데이터는 굉장히 명료한 편인데 익명화가 되어있다 보니까 정형 데이터를 처리하는 것 치고는 더 많은 전처리와 분석을 했어야 했어요.

선영) 정형 데이터가 뭐에요?

  • 승윤) 엑셀 표와 같이 미리 정의된 구조를 따르는 데이터를 정형 데이터라고 하고 사전에 정의된 방식으로 구성되지 않은 이미지, 비디오 같은 데이터를 비정형 데이터라고 해요.

태호) 어떤 아이디어로 전 세계 7등이라는 우수한 성적을 거둘 수 있다고 생각하시나요? 우리의 핵심 아이디어를 설명해 주세요.

  • 준홍) 피처 분석을 할 때 주어진 게 숫자밖에 없으니까 피처 간의 상관관계를 정말 깊게 분석했어요.
  • 태희) 피처 중요도를 더욱 극대화하기 위해서 여러 가지 인코딩 기법들을 사용했어요. 다양한 관점의 모델들을 정말 많이 시도했어요. 트리 계열부터 모든 변수들 간의 조합 값을 구하는 FM계열의 모델, 딥러닝 계열들도 다 써봤어요. 문제는 전환 예측이지만 그 중간 단계가 될 수 있는 클릭 정보도 같이 있었는데 코르카에서 추천시스템을 하면서 전환 전 클릭 정보를 썼을 때 도움이 된다는 걸 알고 있어서 Multi-task learning 방법으로 클릭 데이터를 활용한 것도 도움이 되었어요.
  • 승윤) 이 대회를 나가기 전부터 추천시스템 관련 논문들을 굉장히 많이 읽으면서 황금 열쇠와 같은 모델은 없다는 걸 다들 깨달았어요. 그렇기 때문에 이 대회를 접근할 때 최대한 많은 실험을 하고, 많은 모델을 테스트하며 저희 데이터에 최적인 모델을 찾아야 한다는 것을 확신했어요. 다양한 모델 구조들을 실험하다가 피처 간의 상호작용을 보다 효과적으로 하기 위해 Deep Neural Network와 Cross Network, Attentional Factorization Machine을 합쳐 DCAF라는 기존에 없던 새로운 모델을 만들었어요. 이 모델이 우리에게 굉장히 좋은 성능을 보여줬고 덕분에 우수한 성적을 거둘 수 있었던 것 같습니다.

선영) 대회 하면서 언제가 가장 기억나시나요?

  • 태희) 사실 막 엄청 특별한 순간은 아니지만 다들 지치는 와중에도 대회 막바지에 정말 열심히 달렸던 것 같아요. 주 업무가 따로 있다 보니까 업무 외의 시간을 많이 썼는데 다들 늦은 시간까지 끝까지 최선을 다했던 게 기억이 나네요.
  • 준홍) 개인적인 순간인데 제가 브루노 마스 티켓팅에 성공했어요. 잠실에 가서 콘서트를 보고 돌아와서 새벽 3시까지 달렸던 기억이 나네요.
  • 승윤) 대회가 갑자기 연장된다는 공지를 받았을 때가 가장 기억에 남아요. 대회가 4일 연장이 됐어요. 그 때 사실 오사카 여행을 계획하고 있었는데 대회가 연장이 돼서 오사카 여행을 전부 취소했어요. 결과가 잘 나와서 정말 다행이에요. 그리고 사실 이렇게 새로운 모델을 만드는 건 정말 다양한 가설 중 하나였어요. 저희는 그 때 거의 소수점 셋째 자리를 높이려고 하고 있었는데 그 새로운 모델을 제출했을 때 갑자기 소수점 첫째 자리에서의 성능 향상을 보이는 거에요. 이 가설이 맞았구나를 느끼면서 이 때 정말 수상까지 할 수 있을까라는 행복한 상상을 했어요.
  • 태현) 저도 비슷한 경험이 있는데 이 피처들이 롱테일이 심해서 예측이 잘 안된다는 얘기를 팀원과 논의를 했어요. 그래서 이걸 뒤집으면 되지 않을까라고 생각해서 TF-IDF에서 아이디어를 얻어 inverse frequency encoding 기법으로 성능을 팍 개선했던 기억이 나요.

선영) 이번 대회에서 얻은 것들이 앞으로 코르카에 어떻게 도움이 될까요?

  • 태희) 코르카에서 플랫폼이나 쇼핑몰들이 광고를 손쉽게 할 수 있는 B2B SaaS 프로덕트인 ADCIO를 만들고 있어요. 그 안에서 유저들이 들어왔을 때 원하는 광고들을 잘 보여줄 수 있게 하는 것이 목적인데 이번 대회 경험을 잘 녹여서 더 잘할 수 있을 거 같아요!
  • 태호) 추가로 이렇게 세계적인 대회에서 우리의 실력을 검증받은 만큼 광고 비즈니스를 하고 싶은 플랫폼이나 쇼핑몰들에게 우리의 리테일 미디어 서비스가 더욱 매력적으로 다가갈 수 있었으면 좋겠어요.

선영) 이번에 대회와 논문, 학회까지 고생 너무 많으셨는데 내년에도 유사한 도전을 해보고 싶으신가요?

  • 태희) 지금은 세부 프로젝트 별로 흩어져서 다른 업무를 하고 있지만 하나의 목표를 가지고 달려나갔던 경험이 너무 좋았기에 비슷한 기회가 있다면 또다시 도전하고 싶습니다.
  • 승윤) (한 치의 망설임도 없이) 당연하죠 무조건 나가요.
  • 태호) 우리가 쌓아왔던 경험, 연구들을 대회나 논문의 형태로 세상에 알리는 건 참 행복한 일이라고 생각해요. 우리가 수많은 연구나 솔루션으로부터 도움받은 만큼 우리도 그렇게 사회에 기여할 수 있어야 된다고 생각하고요. 프로덕트의 성공이 항상 1순위긴 하지만 여유가 조금이라도 된다면 이러한 기회를 꾸준히 가져보고 싶어요. 지금 LLM에서도 이러한 생각으로 연구하는 것도 있고요!

태호) 그럼 이렇게 대회 이야기는 마무리를 해보도록 할게요. 바로 이어서 학회 얘기를 해볼까요! 다음 게시물에서 이어집니다~

--

--