DevLog

엔지니어링 블로그를 한 곳에서 탐색하고, 최근 발행 흐름을 빠르게 파악할 수 있는 서비스 입니다.

Quick Links

  • Latest Feed
  • Engineering Directory

Support

  • 소개
  • 개인정보처리방침

Contribute

  • 원하는 블로그 추가 (준비 중)
  • Feedback

© 2026 DevLog Inc. All rights reserved.

본 사이트는 공개 RSS 피드를 통해 콘텐츠를 수집하며, 모든 콘텐츠의 저작권은 원저작자에게 있습니다.

Back to Feed
Read Original

Contents

Continue Reading

  • More from 당근
  • Related reads#추천시스템
#AI

‘로컬’ 슈퍼 앱에서 장기 유저 모델링은 어떻게 달라질까?

‘로컬’ 슈퍼 앱에서 장기 유저 모델링은 어떻게 달라질까?
01

Summary

당근은 어떻게 수백억 건의 로그로 당신의 '찐' 취향을 찾아냈을까?

지역 기반 서비스의 한계를 넘어 장기 유저 모델링으로 추천의 판을 바꾼 당근 ML팀의 실전 전략

유저의 찰나의 관심사가 아닌, 계절적 반복이나 생애 주기와 같은 깊은 취향을 읽어내기 위해 당근이 도입한 장기 유저 임베딩 기술을 소개합니다. 대규모 트래픽 환경에서 Transformer 모델을 효율적으로 학습시키고, '지역'이라는 도메인 특수성을 활용해 추천 품질을 극대화한 엔지니어링 여정을 담고 있습니다.

  • 01단기 로그의 한계를 극복하는 150배 규모의 대규모 장기 히스토리 학습
  • 02아이템 ID 대신 콘텐츠 임베딩을 활용하여 모델 파라미터를 1,000배 확장
  • 03지역 기반 서비스의 맹점인 'Impossible Negative'를 RCBS 기법으로 정교하게 해결
  • 04홈피드부터 광고까지, 하나의 임베딩으로 여러 지면의 성능을 동시에 개선하는 공통 피처 전략
  • 05bbhash와 memmap을 활용한 수억 건 규모의 대규모 임베딩 학습 최적화 노하우

+RECOMMENDATION

대규모 사용자 행동 데이터를 보유하고 있으나 모델 서빙 레이턴시로 고민하는 엔지니어들에게 독립적인 유저 인코더 구조를 강력히 추천합니다. 특히 지리적 제약이 있는 도메인이라면 본문에 소개된 RCBS 기법을 통해 Contrastive Learning의 효율을 즉각적으로 높일 수 있습니다.

The Problem

기존 추천 시스템은 단기 행동 로그에 의존하여 유저의 지속적인 취향이나 반복적인 관심사를 파악하는 데 한계가 있었으며, 랭킹 모델에 긴 히스토리를 직접 입력할 경우 서빙 지연과 인프라 복잡도가 기하급수적으로 증가하는 문제가 발생한다.

The Solution

수백억 건의 다중 버티컬 로그를 Causal Transformer 기반의 별도 유저 인코더로 학습시켜 공통 유저 피처로 활용했으며, 지역 기반 서비스의 특성을 반영해 동일 지역 유저끼리 배치를 구성하는 RCBS(Region-Constrained Batch Sampling) 기법과 콘텐츠 임베딩 기반의 모델 스케일업을 도입했다.

The Result

오프라인 평가에서 Recall@10 지표가 최대 70% 개선되는 성과를 거두었으며, 실제 온라인 A/B 테스트 결과 홈피드와 광고 지면에서 클릭률, 앱 체류시간, 광고 매출 등 핵심 비즈니스 지표가 전방위적으로 상승했다.

Trade-off

오프라인 배치 추론 방식을 사용하기 때문에 유저의 실시간 최신 행동이 즉각적으로 임베딩에 반영되지 않는 신선도 문제가 존재하며, 다운스트림 모델이 유저의 풍부한 표현력을 고정된 단일 벡터로만 수용해야 하는 구조적 제약이 있다.

03

Key Concepts

Concept · 01

RCBS (Region-Constrained Batch Sampling)

지역 기반 서비스에서 유저가 물리적으로 접근 불가능한 지역의 아이템이 학습 시 Negative Sample로 섞이는 문제를 방지하기 위해, 동일 지역 유저들로 미니배치를 구성하는 전략이다.

  • 학습 신호를 희석시키는 Impossible Negative 비율을 98%에서 30%로 급감시킴
  • 비슷한 지역 내 아이템들 사이에서 정교한 취향을 구분하도록 Hard Negative 효과 유도
Concept · 02

콘텐츠 임베딩 (Content Embedding)

아이템의 고유 ID 대신 게시글의 메타데이터를 LLM 등을 통해 벡터화한 값을 모델의 입력값으로 사용하는 방식이다.

  • 중고거래 특유의 짧은 아이템 생애주기로 인한 Cold Item 문제를 효과적으로 해결
  • 거대한 ID 임베딩 테이블이 차지하던 GPU 메모리를 확보하여 Transformer 모델의 스케일업을 가능케 함
Concept · 03

Two-Tower 아키텍처

유저의 특징을 추출하는 Tower와 아이템의 특징을 추출하는 Tower를 독립적으로 구성하여 각각 임베딩을 생성한 후, 두 벡터의 유사도를 통해 점수를 계산하는 모델 구조다.

  • 유저 인코더를 독립적으로 학습 및 추론하여 다양한 다운스트림 모델에 공통 피처로 제공
  • 오프라인 배치 추론을 통해 실시간 서빙 시 발생하는 연산 부하를 최소화
Continue reading · same source

당근More from 당근

View all posts from 당근
  • 혼자 시작해 전국 오픈까지, 당근 레슨/과외 빌딩 로그

    MarketplaceProduct Market FitFunnel Optimization
    2주 전
  • 디자인시스템 팀은 디자인시스템만 잘 만들면 될까

    Design SystemAI in DesignUX Patterns
    1개월 전
  • 당근 200+개 DB 를 옮기는 ELT 플랫폼, DT Platform 을 만든 이야기

    ELTApache SparkApache Airflow
    1개월 전
  • 누구나 찾아볼 수 있는 중고거래 서버 LLM 릴리즈 노트 도입기

    LLMGitHub ActionsNotion
    2개월 전
  • How We Protect Karrot’s Internal PyPI Proxy from Supply Chain Attacks

    PyPIAWS CodeArtifactSecurity Cooldown
    2개월 전

Related reads#추천시스템

Explore #추천시스템
우아한형제들·LLM

별점 뒤에 숨겨진 리뷰의 온도, LLM으로 한 끗 차이가 다른 추천 만들기

#추천시스템3개월 전

Source

당근
당근
Engineering Blog

Published · February 27, 2026

Topics

추천 시스템TransformerContrastive LearningUser EmbeddingRCBSTwo-Tower당근마켓