
지역 기반 서비스의 한계를 넘어 장기 유저 모델링으로 추천의 판을 바꾼 당근 ML팀의 실전 전략
유저의 찰나의 관심사가 아닌, 계절적 반복이나 생애 주기와 같은 깊은 취향을 읽어내기 위해 당근이 도입한 장기 유저 임베딩 기술을 소개합니다. 대규모 트래픽 환경에서 Transformer 모델을 효율적으로 학습시키고, '지역'이라는 도메인 특수성을 활용해 추천 품질을 극대화한 엔지니어링 여정을 담고 있습니다.
대규모 사용자 행동 데이터를 보유하고 있으나 모델 서빙 레이턴시로 고민하는 엔지니어들에게 독립적인 유저 인코더 구조를 강력히 추천합니다. 특히 지리적 제약이 있는 도메인이라면 본문에 소개된 RCBS 기법을 통해 Contrastive Learning의 효율을 즉각적으로 높일 수 있습니다.
기존 추천 시스템은 단기 행동 로그에 의존하여 유저의 지속적인 취향이나 반복적인 관심사를 파악하는 데 한계가 있었으며, 랭킹 모델에 긴 히스토리를 직접 입력할 경우 서빙 지연과 인프라 복잡도가 기하급수적으로 증가하는 문제가 발생한다.
수백억 건의 다중 버티컬 로그를 Causal Transformer 기반의 별도 유저 인코더로 학습시켜 공통 유저 피처로 활용했으며, 지역 기반 서비스의 특성을 반영해 동일 지역 유저끼리 배치를 구성하는 RCBS(Region-Constrained Batch Sampling) 기법과 콘텐츠 임베딩 기반의 모델 스케일업을 도입했다.
오프라인 평가에서 Recall@10 지표가 최대 70% 개선되는 성과를 거두었으며, 실제 온라인 A/B 테스트 결과 홈피드와 광고 지면에서 클릭률, 앱 체류시간, 광고 매출 등 핵심 비즈니스 지표가 전방위적으로 상승했다.
Trade-off
오프라인 배치 추론 방식을 사용하기 때문에 유저의 실시간 최신 행동이 즉각적으로 임베딩에 반영되지 않는 신선도 문제가 존재하며, 다운스트림 모델이 유저의 풍부한 표현력을 고정된 단일 벡터로만 수용해야 하는 구조적 제약이 있다.
지역 기반 서비스에서 유저가 물리적으로 접근 불가능한 지역의 아이템이 학습 시 Negative Sample로 섞이는 문제를 방지하기 위해, 동일 지역 유저들로 미니배치를 구성하는 전략이다.
아이템의 고유 ID 대신 게시글의 메타데이터를 LLM 등을 통해 벡터화한 값을 모델의 입력값으로 사용하는 방식이다.
유저의 특징을 추출하는 Tower와 아이템의 특징을 추출하는 Tower를 독립적으로 구성하여 각각 임베딩을 생성한 후, 두 벡터의 유사도를 통해 점수를 계산하는 모델 구조다.




