본문으로 이동
개인화 추천 시스템 1편 - 유저의 행동은 “언어”일까? : Collaborative Embedding 구축기 (feat. Knowledge Distillation)
문서

개인화 추천 시스템 1편 - 유저의 행동은 “언어”일까? : Collaborative Embedding 구축기 (feat. Knowledge Distillation)

명우민 · 컬리 · 컬리 기술 블로그

원본 보기

소개

팀 내에서 범용 개인화 추천 시스템을 구축하며 온라인 A/B 테스트와 CRM 캠페인 테스트에서 비교적 좋은 성과를 확인해, 그 개선 사례와 모델링 과정을 소개하고자 합니다.

AI 핵심 요약

상품 속성만으로는 유저의 구매 맥락을 포착하기 어렵고, 기존 협업 필터링은 콜드 스타트에 취약하며 생성형 순차 추천은 추론 비용이 크다는 문제를 해결하기 위해 컬리는 Collaborative Embedding 기반 추천 시스템을 구축했다. 상품 상세 텍스트를 RQ-VAE로 Semantic ID로 변환하고, Transformer 인코더와 Generative·Retrieval 두 헤드를 함께 학습해 행동 시퀀스의 맥락과 빠른 벡터 검색을 결합했다. Retrieval 성능을 높이기 위해 Generative Head의 확률 분포와 순위 정보를 Knowledge Distillation으로 전달했으며, 주문 단위 위치 인코딩과 인기 보정 샘플링, Hard Negative Mining도 적용했다. 오프라인 평가에서 증류를 적용한 Retrieval 모델은 Teacher 성능에 근접했고, 온라인 A/B 테스트와 CRM 캠페인에서도 기존 방식보다 주요 지표가 개선되어 정확도와 서빙 효율을 함께 고려한 설계의 효과를 확인했다.

  • 상품 상세 텍스트를 RQ-VAE로 Semantic ID로 압축하고, 카테고리 예측 보조 손실로 임베딩 공간을 안정화할 수 있다.
  • 주문 단위 위치 인코딩을 사용하면 같은 장바구니에 담긴 상품의 동시 구매 맥락을 순차 행동과 구분해 학습할 수 있다.
  • 인기 편향은 상품 빈도에 반비례하는 샘플링으로 완화하고, Hard Negative Mining으로 비슷한 상품 간의 선호 차이를 학습시킬 수 있다.
  • 대조 학습에서 미반응 상품을 모두 부정 사례로 취급하면 False Negative가 생길 수 있으므로, 교사 모델의 확률 분포와 순위 정보를 증류해 보완할 수 있다.