Instacart rebuilt its ads retrieval system by replacing a BERT-based scoring model with a generative approach inspired by Google DeepMind's TIGER. The old system scored every product ID in a fixed vocabulary, which created bottlenecks as the catalog grew, caused cold-start issues for new products, and produced structurally incoherent candidate sets. The new system uses Instacart Semantic IDs (SIDs) — short codeword sequences generated by an RQ-VAE — as a compact product vocabulary, reducing embedding parameter space by 125x and providing catalog-wide coverage from day one. A transformer decoder autoregressively generates SID sequences via beam search, conditioned on retailer type, user purchase history, and real-time cart contents. The serving stack was rebuilt as a Go-native service using TensorRT-LLM on Nvidia Triton Inference Server, achieving 10–17% lower latency while producing 2x more candidates. A/B tests showed +5% click-through rate and +34% add-to-carts. Brand diversity increased 2.7x and sub-category coverage 1.8x, with dramatic gains in dense categories like Alcohol (+421%) and Beverages (+396%).

15m read timeFrom tech.instacart.com
Post cover image
Table of contents
IntroductionContextual Recommendations: A recapWhen Scoring Stops ScalingTeaching the Model to SpellInstacart Semantic IDs: A New Product VocabularyThe Context Template: A new Training CorpusGet Karuna Ahuja ’s stories in your inboxFrom Input to Candidates: A new Retrieval ParadigmRebuilding Serving InfrastructureHow the New Stack WorksMeasuring the ImpactWhat the New Recommendations Look LikeWhat’s NextAcknowledgements and Final NotesReferences
139 Impressions