[AI Tech] 네이버 부스트 캠프 15주차 회고

15주차 리마인드

주간 회고

image

그렇다… 지난주 목요일부터 이번주 월요일까지 설날 연휴였다.
설날 연휴 동안 푹~~ 쉬지는 못했다 ㅋㅋ. 이제 곧 상반기 채용 시즌이 다가와서 그런지… 계속해서 채용관련 커뮤니티에서 조금씩 채용공고가 올라오기 시작했다.
여러 공고를 보면서 이력서 다듬고 자소서 문항 작성해보면서 설날 연휴를 보냈던 것 같다.(이번 상반기에 취뽀해보자!!)
설날 연휴가 지나고보니 대회까지 2주도 안남았었다 ㅎㅎ. 연휴 기간동안 EDA진행하던 것을 마무리해서 깃허브에 PR올렸다. 나름 신경써서 EDA를 했더니 팀원들로부터 긍정적인 평가가 돌아왔다.(뿌듯)
모델링 관련해서는 Bert4Rec을 파이토치 템플릿을 참고해서 모듈화를 진행했으며, WandB를 적용했다. 또한 피어세션때 팀원들과 이야기했던 내용으로, 무비렌즈 데이터는 추천시스템 데이터셋중에 Dense한 데이터라서 유저-아이템 상호작용을 주로 보는 모델 혹은 방법들을 사용해보자고 의견을 나누었다.
따라서 아주 기초적인 이웃기반협업필터링인 User-based CF를 구현해보았다. 유저가 아이템과 상호작용한 정보를 유저의 vector로 보고 유저간의 코사인 유사도를 비교해서 가장 유사도가 큰 유저의 시청이력 중 기준이 되는 유저가 보지 않은 영화를 추천하게끔 설계해주었다.
이웃기반협업필터링은 연산량이 많다보니 계산 속도 측면에서 단점을 보였다 ㅎㅎ. 유저 한명이 추천받는데 3초나 걸린다.(
이것도 많이 줄인것이다ㅠㅠ~~)
속도 측면에서 장점을 보이고 유저와 아이템의 상호작용을 보는 모델기반 추천시스템 중 간단하게 구현할 수 있는 ALS, Alternative Least square를 implicit 라이브러리를 활용해서 구현했다. Recsys basic때 배운 실습 코드에 관련 내용이 있어서 쉽게 구현할 수 있었다.
지난번에 실험했던 시퀀스모델인 SASRec과 Bert4Rec과 비교했을 때 성능이 더 좋았다. 데이터 형태에 따라서 모델 선택을 잘 해줘야 할 것같다.
다음주에는 Recbole에 대해 공부해보고 시간이 된다면 FFM이나 FM 같은 context 정보를 보는 모델을 활용해서 진행해보고 싶다.

Categories:

Updated:

Leave a comment