Evolution and Scale of Uber Eats' Multilingual Semantic Search Platform
Uber Eats' lexical search stack could not handle real-world query complexity—synonyms, typos, shorthand, multilingual terms, and context-dependent words—causing missed intent and poor results for a large portion of user searches.
Traditional lexical matching was effective only when queries exactly matched document text, but produced bad search results for the broad range of real-world queries Uber Eats receives.
Uber Eats built a production semantic search system that powers multilingual discovery across restaurants, grocery, and retail, achieving a 34% latency reduction and 17% CPU savings through k-tuning, more than halving latency with scalar quantization while maintaining recall above 0.95, and reducing storage costs by nearly 50% with MRL embeddings.
Show all 6 reported metrics
Frequently asked questions
What did this team achieve with this AI workflow?
Uber Eats built a production semantic search system that powers multilingual discovery across restaurants, grocery, and retail, achieving a 34% latency reduction and 17% CPU savings through k-tuning, more than halving…
What tools did this team use?
Qwen, PyTorch, Hugging Face Transformers, Ray, DeepSpeed, HNSW, feature store.
What results were reported?
Latency reduction from k tuning: 34%; CPU savings from k tuning: 17%; Recall with int7 scalar quantization: above 0.95; Latency reduction from scalar quantization vs fp32: more than half (source-reported, not independently verified).
What failed first in this deployment?
Traditional lexical matching was effective only when queries exactly matched document text, but produced bad search results for the broad range of real-world queries Uber Eats receives.
How is this ecommerce ops AI workflow structured?
User types search query → Batch document embedding → Real-time query embedding → Pre-filter candidate reduction → ANN vector search → Micro-re-ranking step → Biweekly index and model refresh → Automated pre-deployment validation.