DoorDash trains Twin Neural Network catalog embeddings for search and recommendations
DoorDash's catalog is extremely large and constantly growing, making it impossible to manually label or analyze at scale. Multiple teams needed a common, generalizable way to represent catalog items for ML use cases — recommendations, search, and promotions — but existing embedding approaches had significant drawbacks for large, sparse, continuously evolving catalogs.
Word2vec embeddings required computationally expensive daily retraining as millions of items were added and suffered from sparsity for infrequently interacted items. Supervised deep neural network classifiers did not guarantee good metric properties and depended heavily on annotation quality for rare classes. BERT fine-tuning was too slow for inference due to model size, even with distilled variants.
The Siamese Neural Network improved F1-score by ~23% over the FastText baseline, outperforming supervised LSTM classifiers (+15%).
The embeddings also required more than three times the labeled data for a FastText classifier to achieve comparable accuracy, demonstrating substantially better sample efficiency. The embeddings are now deployed across recommendations and programmatic merchandising with immediate substantial improvements.
Frequently asked questions
What did this team achieve with this AI workflow?
The Siamese Neural Network improved F1-score by ~23% over the FastText baseline, outperforming supervised LSTM classifiers (+15%).
What tools did this team use?
Siamese Neural Network, bidirectional LSTM, FastText, UMAP, Word2vec.
What results were reported?
F1-score improvement over FastText baseline (Siamese Network): ~23%; F1-score improvement over FastText baseline (LSTM Classifier): +15%; Labeled data required for comparable FastText accuracy: greater than three times the existing labeled data; Model performance improvement post-deployment: immediate substantial improvements (source-reported, not independently verified).
What failed first in this deployment?
Word2vec embeddings required computationally expensive daily retraining as millions of items were added and suffered from sparsity for infrequently interacted items.
How is this ecommerce ops AI workflow structured?
Search session data ingestion → Positive/negative pair construction → Siamese network training with triplet loss → Embedding deployment as shared features → Recommendation carousel population.