Semantic IDs: Product Understanding at Scale (Instacart)

Author: Shrikar Archak 외 (Instacart) | Source: tech.instacart.com | Published: 2026-06-03


한 줄 요약

Instacart가 카테고리 트리의 “cross-category blindness”를 극복하기 위해, 상품 임베딩을 RQ-VAE로 압축한 계층적 정수 코드(Semantic ID)를 만들고 catalog 구조로 contrastive 학습해 cold-start·tail·catalog 품질을 동시에 개선.

핵심 주장/내용

  • 카테고리 트리(“Dairy > Cheese > Parmesan”)는 고객이 실제 쇼핑하는 연결을 놓침(파마산 + 올리브 + tapenade = 치즈 보드). cross-category blindness가 cold start(이력 0), tail coverage, catalog 품질(오분류)로 발현
  • Semantic ID = 상품 임베딩을 RQ-VAE(residual vector quantizer)로 압축한 짧은 정수 시퀀스. 유사 상품은 prefix 공유, 차이는 finer level에서 분기(4-level, 6_19_32_63)
  • contrastive regularization: 순수 RQ-VAE는 reconstruction만 최적화 → fragmentation/error propagation. catalog taxonomy를 supervision 신호로(engagement 없는 cold-start용) — 같은 leaf는 strong positive, sibling은 moderate, 무관은 negative. hierarchical batch sampling으로 배치마다 관련/무관 쌍 보장
  • 2가지 flavor: ESCI(precision — 검색 relevance 모델, tight substitution cluster) vs ESCI+Gemma(discovery — Gemini Flash로 속성 추출 후 Gemma 임베딩, broader lifestyle cluster). surface별 매칭
  • 자동 catalog audit: semantic ID가 taxonomy label과 불일치하면 오분류 후보(“Protein Bar”가 “Candy”에 → Sports Nutrition cluster). recommendation primitive가 catalog health 인프라로 진화
  • generative retrieval: ~2,000 codeword 토큰으로 전체 catalog → 다음 상품의 semantic ID를 codeword별 생성

주요 수치 / 사실

  • carousel에서 generative 접근으로 +34% add-to-cart, 2.7x 더 많은 emerging brand
  • similarity-depth 상관 0.69-0.84; 고유사 쌍(≥0.9)의 98-99%가 L1 공유, L4에선 18-37%
  • 연구 계보: TIGER(Google), PLUM(YouTube), Mender, BBQRec. λ=0.01 contrastive
  • 교훈: “embedding이 곧 결정”, catalog 구조는 무료 supervision, embed 전 표준화, 코드 직접 평가

관련 위키


Source: 원문 보기