프로젝트(8만 콘텐츠·1.2억 로그) → 모델 선택(단일 DNN 비용 vs Two-tower) → 콜드 스타트 해결 → 스택·결과
학부 4학년 마지막 학기에 Two-tower 임베딩 모델 기반 사내 마케팅 콘텐츠 추천 시스템 프로젝트에 참여한 결이 있습니다.
프로젝트 쪽으로는, 인턴 4개월 동안 사내 콘텐츠 카탈로그 8만 건·사용자 액션 로그 1.2억 행을 묶어 사용자 한 분에게 다음에 볼 콘텐츠 5개를 추천하는 결이 목표였습니다.
모델 선택 이유 쪽으로는, 처음엔 단일 DNN으로 사용자-콘텐츠 페어를 분류하는 결도 후보였지만, '추론 시점에 콘텐츠 8만 건을 매번 모델에 통과시키는 결의 비용'이 문제였습니다. Two-tower는 '사용자 타워·콘텐츠 타워가 독립적으로 임베딩을 만들어 추론 시점에는 벡터 내적만 하는 결'이라 대규모 후보군에서 응답 지연이 결정적으로 낮아지는 자리였습니다.
문제 해결 쪽으로는, 가장 큰 도전은 '콜드 스타트 사용자(가입 7일 이내) 6.2%의 결이 임베딩 학습에 노이즈로 작용한 결'이었습니다. 그 결을 데모 그래픽·시점 메타데이터 기반의 보조 피처로 보완해 콜드 스타트 사용자 추천 만족도를 +14%p 끌어올렸습니다.
기술 스택 쪽으로는, PyTorch·TensorFlow Recommenders·Faiss(벡터 인덱스)·Redis(임베딩 캐시)·MLflow 조합으로 갔습니다.
결과 쪽으로는, '기존 룰 베이스 대비 CTR +27%·추론 응답 지연 220ms → 35ms·추천 다양성(intra-list distance) +18%'로 닫혔습니다.