User-Based CF → ALS 전환으로 기술 스택 선택 기준 체득
추천 시스템을 구축할 때 기술 스택을 선택하는 기준은 데이터 규모와 실시간성이라고 생각합니다. 팀 프로젝트에서 영화 추천 시스템을 만들면서 첫 시도는 User-Based Collaborative Filtering이었는데, 사용자 수가 늘어나면 유사도 행렬 계산이 너무 느려지는 문제가 있었습니다. 그래서 Matrix Factorization 방식인 `ALS`로 전환했고, 학습 속도와 메모리 사용량 모두 개선됐습니다. 서빙 측면에서는 학습된 임베딩 벡터를 FAISS에 올려 근사 최근접 탐색으로 응답 속도를 줄이는 구조를 썼습니다. 실시간 개인화가 필요한 경우엔 배치 추천과 세션 기반 추천을 분리하는 방향이 더 맞다고 봅니다. 한계는 대규모 프로덕션 추천 시스템에서 콜드 스타트 문제를 어떻게 처리하는지는 직접 경험하지 못했습니다.