P Stage 2 : Project Day Final
Day Fianl
- 전반적인 회고
전반적인 회고
- 이번 대회에서 내가 맡은 역할
- 데이터 분석 : 대회 데이터 EDA
- 코드 최적화 및 모델 개발
- 이번 대회의 문제 분석을 가장 중요하고 제대로 했다고 생각했음
- 결과적으로 보면 섣부른 판단이 오히려 방해를 하는 역할이 되었음
- 가장 큰 수확은 크게 보면 2가지 정도
- 데이터 분석의 관점 (거시적, 미시적)
- 코드 최적화에 대한 고찰과 모델 개발 경험
데이터에 대한 고찰
- 이번 대회에서 내가 맡은 역할 중 가장 큰 실수라고 생각함
- 데이터 EDA를 진행하는 데이터 분석가 역할을 맡았는데, 데이터 분석을 꼼꼼하게 하지 않았음
- 이전 image classification과 다르게 많은 정보가 들어있는 tabular 데이터 였는데 미시적인 관점의 분석을 진행하지 않은 것이 문제
- 유저의 전반적인 장르 분포나 평가 개수 분포 등을 확인했기만 하고 데이터에서 드러날만 한 디테일한 트렌드 분석이 적었음
- 예를 들면 유저의 시리즈 영화 선택 빈도
- 유저별로 장르가 얼마나 치우쳐진 정도를 갖는지
- 팀원들의 전반적인 의견은 sequential적인 의미는 적고 user-item interaction이 훨씬 중요하다고 생각했다는 것
- 이런 의견이 나온 이유가 데이터 분석가였던 나의 주장이 강했기 때문인데 이런 점이 실수로 작용했음
- 실제 대회 종료 후 중요했던 것은 단순 interaction만이 아닌 시리즈 물에 대한 추천 같은 sequential 예측도 중요한 역할을 했음
- 대회를 통해 깨달은 점
- tabular data나 추천 시스템과 관련된 데이터를 분석할 때는 거시적인 관점보다는 미시적인 (유저별 트렌드나 특징) 관점을 자세히 바라볼 필요가 있을 것 같다.
- 추천은 개인화가 트렌드인만큼 유저별 특징을 잘 살리는 것이 중요했다.
- 이런 점에서 데이터를 분석할 때 미시적인 관점이 중요한 요소로 작용한 것 같다.
개발적 고찰
- 팀에서 코드 최적화와 모델 개발 및 구현을 담당했음
- 추천 모델들은 이전에 진행한 image classification과 다르게 SOTA 모델을 쉽게 불러오기 어려웠다.
- 모델을 사용하려면 구현된 구현체를 직접 코드로 가져왔어야 하는데, 이 과정에서 파이썬 라이브러리의 버전이 달라서 문제가 발생하는 경우도 많았다.
- 이런 부분에서 코드 최신화를 진행했음
- 모델을 가져와서도 수정을 할 부분들이 많았음
- 모델 자체에서 반복문 활용이나 negative sampling을 진행하는 과정에서 시간이 오래 걸리는 방식으로 되어 있는 경우가 많았음
- 해당 부분의 코드 최적화를 통해 시간을 단축시키는 것을 진행함
- 논문을 통한 모델 개발
- 최종 앙상블에서 주요한 역할을 진행한 EASE 모델의 아이디어와 구현을 진행함
- VASP 논문에서 제시한 VAE와 EASE의 hadamard product를 진행
- 앙상블 코드도 직접 개발해서 후반부에 원활한 앙상블을 진행
- 다른 팀들이 JIRA나 confluence 같은 프로그램을 사용한 점에서 충격이 강했다.
- 이번에 기회가 된다면 JIRA, confluence를 활용해보면 좋을 것 같음
- 또한 wandb sweep을 저번에 시도해보려다가 실패했는데 이번 기회에는 꼭 사용을 해봐야겠다.
다음 대회에 시도해 볼 것들
- 우선 데이터에 대한 분석을 깊이 있게 진행 할 예정
- 대회의 전반적인 스토리 라인과 데이터의 스토리 라인을 확실하게 정립할 것
- 엔지니어링적 측면을 살리고 MLOps 관련된 것들도 시도해 볼 것
Comments powered by Disqus.