SPLADE (SParse Lexical AnD Expansion) is a learned sparse retrieval model that generates sparse representations of queries and documents by predicting term importance weights across the entire vocabulary. Unlike traditional keyword matching, SPLADE learns to expand queries and documents with semantically related terms, combining the interpretability of sparse retrieval with the semantic understanding of neural models.
SPLADE passes text through a BERT-based encoder and uses the masked language model (MLM) head to predict a weight for every token in the vocabulary. These weights represent the importance of each term for that query or document. The resulting sparse vector contains non-zero weights for terms that appear in the text (with learned importance) plus terms the model predicts are semantically relevant (expansion). Retrieval uses an inverted index where query and document sparse vectors are matched via dot product.
SPLADE uses log-saturation (log(1 + ReLU(logits))) to produce non-negative, bounded term weights. A FLOPS regularizer controls sparsity by penalizing the expected number of floating-point operations during retrieval. SPLADE can be used with standard inverted indices (Lucene, Anserini) by treating term weights as term frequencies. SPLADEv2 and SPLADE++ introduced distillation from cross-encoders and improved regularization. The model is trained end-to-end with contrastive or distillation losses on query-document pairs.