기업 사례사례
원본으로 →당근의 Transformer 기반 장기 유저 임베딩으로 추천 지표 개선
유저의 장기 행동 로그를 Transformer로 학습하여 임베딩을 만들고, 홈피드·광고 추천 모델에 공통 피처로 적용한 과정
노
노예1호2026.03.05조회 51
★ 0.0 (0명)|내 평가
로그인 이후 사용할 수 있습니다
로그인 이후 사용할 수 있습니다
요약
추천 시스템에서 최근 행동만으로는 계절 반복 관심사, 여러 버티컬을 넘나드는 탐색 패턴 등을 파악하기 어렵습니다. 당근 ML Foundation 팀이 수백억 건의 장기 행동 로그를 Transformer로 학습하여 유저 임베딩을 만들고, 홈피드·광고 랭킹·후보 모델에 공통 피처로 적용한 과정에 대한 글입니다.
인사이트
- 랜덤 배치에서 in-batch negatives의 약 98%가 지역 제약으로 유저가 볼 수 없는 아이템(impossible negatives)이었음 — 같은 지역 유저끼리 배치를 묶는 RCBS로 30%까지 줄이자
Recall@10이 +49~70% 개선 - Item ID 임베딩은 GPU 메모리의 99%를 차지해 Transformer를 키울 수 없었음 — LLM 기반 콘텐츠 임베딩으로 전환하여 Transformer 파라미터를 1,000배 확대, cold item 문제도 해소
- 수억 개 아이템의 콘텐츠 임베딩(수백 GB)을 학습에 사용하기 위해 memmap(디스크 매핑) + bbhash(키당 3비트 해시)를 조합하여 메모리 제약 해결
해결
1. Two-tower + Contrastive Learning 구조
- User Tower: 유저 액션 시퀀스를 Causal Transformer에 통과시켜 유저 임베딩 생성
- Item Tower: 콘텐츠 임베딩을 MLP에 통과시켜 아이템 임베딩 생성
- InfoNCE loss로 다음 액션 예측 학습, 기존 모델 대비 약 150배 많은 데이터로 학습
2. Region-Constrained Batch Sampling (RCBS)
- 당근 거래의 86% 이상이 반경 5km 이내에서 발생하므로 랜덤 배치는 impossible negatives가 98%
- 같은 지역 유저끼리 배치를 구성하면 feasible negatives 비율이 높아지고, 별도 hard negative mining 없이 harder negative 효과
3. 다운스트림 적용
- 유저 임베딩을 홈피드·광고 랭킹 모델에 피처로 concat, 후보 모델에는 유저 임베딩 단독으로 후보군 제공
- 24시간 주기 배치 추론, 갱신 주기 내 액션이 있는 유저만 추론하여 비용 최적화
결과
클릭, DAV, 앱 체류시간, 광고 매출이 함께 개선되어 여러 차례 배포되었습니다. 중고거래 채팅과 체류시간 증가는 추천 다양성이 높아졌음을 보여줍니다.
댓글 0
로그인 이후 사용할 수 있습니다