2025. 1. 14. 00:04ㆍUpstage AI Lab
대회 진행 기간 (12월 23일 - 01월 02일)
프로젝트 주제
주제 : 미래 (next one week)에 사용자가 구매할 상품을 추천하는 것
목표 : Binary relevance 기반의 NDCG@10
학습과 평가시 사용한 데이터
- www.kaggle.com/datasets/mkechinov/ecommerce-behavior-data-from-multi-category-store/data
팀 개발 문화
이번에도 팀장으로 프로젝트를 진행했다.
하지만 나도 연말 개인일정, 또 팀원들도 개인 일정으로 인해 대회에 온전히 집중하지 못했다.
진행 과정
평가 방식 파악
사용자 id가 있고 해당 사용자에게 추천할 것들을 모델이 top10개 추천하고 정답 dataset과 비교해서 10개를 잘 맞췄나 비교하는 방식으로 평가가 이루어졌다.
CV 설정
이번 대회에서는 특별히 설정하지 않았다.
모델 선정
기본 baseline으로는 als와 SASRec 두 개가 주어졌다.
멘토링 후 멘토님께서 이번 대회는 Data Centric 방향으로 개발하기보다 Model 기반으로 개발해보라고 하셔서 Model 기반으로 개발을 시도했다.
추천해주신 모델은 Bert4Rec, FEARec 두 모델을 추천해주셨다.
이후 실험들
다른 팀원이 Bert4Rec으로 실험을 진행했다.
나는 FEARec으로 실험을 진행했다.
Bert4Rec 모델로 실험을 진행하니 결과가 기존 als와 SASRec보다 성능이 좋게 나왔다.
이후 성능을 더 높이기 위해서 앙상블을 생각하고 있었다. 그래서 LMF와 FEARec을 앙상블 하고 싶었다.
# LMF
나의 첫 실험은 LMF로 진행했는데 이 모델이 기본적으로 채택하는 가설과 내가 실험한 실험 방법이 맞지 않아 실패했다.
LMF는 기본적으로 로지스틱 기반이다 보니 이진 분류 등에 적합한데 나는 View, Cart, Purchase 3가지 카테고리별로 이미 라벨링 된 것을 각 카테고리별로 가중치를 두고 점수를 기반으로 사용자의 패턴을 예측하려고 했다.
성능이 처참하게 안 나와서 실패했는데... 대회 마치고 돌아보니... 실패할 가정을 가지고 실험을 했다.
(가중치 설정은 각 라벨이 전체 dataset에 존재하는 비율에 맞춰서 가중치를 두고 실험을 진행했다.)
# FEARec
이 실험을 시작할 때는 이미 Bert4Rec의 성능이 좋다는 것을 알고 있었다.
하지만 이후 reranking등 다른 기법을 시도해도 성능이 올라가지 않자 FEARec을 시도해보면 어떨까 생각을 했고 시도를 했다.
Bert 모델보다 FEA 모델의 장점은 Bert 모델이 하지 못한 여러 context 정보를 고려한다는 것이다.
Bert 모델은 기존 세션에서 user의 구매 패턴, 순서를 학습하고 새로운 사용자가 들어오면 학습된 것을 기반으로 상품을 추천해주는 시스템이다.
하지만 FEA 모델은 user의 content 정보와 빈도와 같은 context 정보를 종합적으로 고려해서 추천해준다.
Bert모델이 고려하지 못한 점들을 FEA 모델이 파악할 수 있지 않을까 해서 해당 모델을 선택했다.
하지만...
모델 학습까지는 순탄하게 잘 마무리했다. 그런데 모델 평가는 진행되지 못했다.
총 데이터 셋이 800만개인데 DL 계열 모델로 학습과 평가를 하는데 시간이 진짜로 오래걸린다...🥲
대회 마감 당일 아침에 아이디어를 떠올리고 시도한 모델이라 최종 결과를 보지 못한 것이 매우 아쉽다.
결과
이번 대회는 OCR/RecSys/AD 3개의 분야로 나뉘어져 진행해서 참여 팀이 두 팀만 있다.
다른 팀들의 좋은 시도들
우리 기수에서는 보지 못했다...
2위한 팀이 발표 세션에서 발표를 하지 않아서 어떻게 했는지 모른다..
하지만 앞선 기수에서 나름 괜찮게 진행한 것을 봤는데 이 팀도 Model Centric 기반으로 개발을 진행했다.
해당 내용을 보면서 좀 부러웠다. 내 코딩 실력도 저렇게 자유 자제로 개발할 수 있는 경지까지 올라가면 좋을 텐데...
다른 기수의 블로그 내용을 링크로 넣어둔다.
https://velog.io/@nary_kim/Recsys
마무리하며
이번 대회는 연말 이슈로 깊게 집중해보지 못한 것이 아쉽다.
그리고 심지어 대회 기간에는 RecSys 공부를 제대로 하지 못했다.
그래서 대회 끝나고 다시 RecSys 강의 다 듣고 개인적으로 공부를 따로 진행했다.
공부하면서 느낀 것은 추천 시스템 분야는 아직 미지의 영역이라는 생각이 들었다.
CV는 점점 성능이 높아지고 좋아지고 있고, NLP 분야도 LLM을 만드는 회사들이 절대 강자의 느낌으로 버티고 있는 느낌이라면
RecSys는 회사 보안 이슈로 학계를 통해 정보 공유가 잘 이루어지지 않는 면도 있고,
회사에서 비싼 ML, DL을 이용한만큼 실제적으로 매출의 개선으로 이어져야 하는 부분이 있어야 하는데 학문 발전 미흡으로 그게 잘 안되는 측면이 있다.
(기회 비용 이슈...)
공부할 때는 공부해야 하는 내용도 진짜 많고, 이해하기 어려운 점들도 여전히 있지만 막상 또 배우고 나서는 특이하고 여러가지 요소들도 등장해서 약간의 재미도 있었다.
나중에 NLP + IR + RecSys 가 결합된 프로젝트를 해보고 싶다는 생각이 든다.
그럼 이번 글은 끝!
'Upstage AI Lab' 카테고리의 다른 글
IR 경진대회 회고 (0) | 2024.12.21 |
---|---|
Data Centric AI 학습 회고 (5) | 2024.12.15 |
LM to LLM 학습 일지 + Kaggle 연말 행사 회고 (4) | 2024.12.09 |
NLP 경진대회 회고 (3) | 2024.12.02 |
CV 경진대회 회고 (1) | 2024.11.10 |