Semantic IDs

임베딩을 계층적 정수 코드로 압축해 모델 스택 전체가 공유하는 상품·아이템의 “언어”


핵심 개념

Semantic ID는 아이템(상품 등) 임베딩을 **residual vector quantizer(RQ-VAE)**로 압축한 짧은 정수 시퀀스다. 유사한 의미의 아이템은 prefix를 공유하고, 차이는 점점 더 fine한 level에서 분기한다(예: 6_19_32_63 — L1=음료/세제, L4=하드 이탈리안 치즈 브랜드). 이는 discrete token 시스템(LLM, generative retrieval)과 호환되며, 모든 모델이 같은 “vocabulary”로 아이템 관계를 추론하게 한다.

왜 필요한가 — Cross-Category Blindness

전통적 카테고리 트리(“Dairy > Cheese > Parmesan”)는 고객이 실제 쇼핑하는 연결을 놓친다(치즈 보드 = 파마산 + 올리브 + tapenade, 서로 다른 branch). 이 blindness가 세 가지로 발현:

  • Cold start: 신규 아이템은 이력 0 → 카테고리만으론 관련 아이템 연결 불가
  • Tail coverage: 추천 모델이 volume에 skew → sparse 카테고리는 surface 안 됨
  • Catalog 품질: 수백만 아이템에서 오분류 불가피(“Candy”에 든 protein bar)

RQ-VAE + Contrastive 학습

  • RQ-VAE: 임베딩을 iterative하게 quantize(residual)해 계층적 codebook 학습. 각 level이 더 fine한 구분
  • 순수 RQ-VAE는 reconstruction만 최적화 → fragmentation(substitute가 다른 branch)·error propagation. 해법은 catalog taxonomy를 supervision 신호로 한 contrastive term(engagement 없는 cold-start용):
    • 같은 leaf = strong positive, sibling = moderate, 무관 = negative (gradient relatedness)
    • hierarchical batch sampling: 부모 카테고리 선택 → child로 절반(sibling 쌍) + 무관으로 절반(hard negative) → catalog 구조가 pair 라벨링을 대신
  • λ는 작게(0.01) — gentle regularizer(reconstruction 안 깨고 coherence 개선)

2가지 Flavor (Precision vs Discovery)

Flavor입력결과surface
ESCI (precision)검색 relevance 모델tight substitution clustersubstitution, 검색, reorder
ESCI+Gemma (discovery)Gemini Flash 속성 추출 → Gemma 임베딩broader lifestyle clusterhomepage feed, cross-sell, 탐색

“embedding이 곧 결정” — RQ-VAE는 embedding이 주는 구조를 압축할 뿐, 비즈니스 문제로 embedding을 선택하라.

부수 효과 — 자동 Catalog Audit

semantic ID가 taxonomy label과 불일치하면 오분류 후보다(“Sparkling Water”가 “Soda”에 → 다른 sparkling water와 cluster). recommendation primitive가 catalog health 인프라로 진화 — code-vs-label mismatch 자동 flagging + confidence scoring + review queue.

Generative Retrieval로의 확장

~2,000 codeword 토큰으로 전체 catalog 표현 → generative retrieval 가능: 사용자 컨텍스트에 조건화해 다음 관련 상품의 semantic ID를 codeword별 생성. Instacart는 carousel에서 +34% add-to-cart, 2.7x emerging brand. tail 카테고리가 가장 큰 이득(기존 모델이 못 주던 표현을 semantic ID가 부여).

연관 개념


Source: Semantic IDs - Product Understanding at Scale at Instacart