Model reference · open weights
splade-distilbert is an open-weight embedding model from naver. AxForge deploys and operates it for you on dedicated EU-owned hardware — with the licence handled where one is required.
Available as managed deployment — configured and operated for you on dedicated EU hardware, quoted per deployment.
What it is
| Released by | naver |
|---|---|
| Type | Embedding models |
| Task | Embeddings |
| Context | 512 tokens |
| Runs with | sentence-transformers |
| Released | 2024-03-08 |
| Popularity | 7k downloads / month |
| Licence | Commercial licence needed |
About
SPLADE-v3-DistilBERT is the DistilBERT version of naver/splade-v3.
For more details, see our arXiv companion book: https://arxiv.org/abs/2403.06789 To use SPLADE, please visit our GitHub repository: https://github.com/naver/splade
| MRR@10 (MS MARCO dev) | avg nDCG@10 (BEIR-13) | |
|---|---|---|
naver/splade-v3-distilbert | 38.7 | 50.0 |
This is a SPLADE Sparse Encoder model. It maps sentences & paragraphs to a 30522-dimensional sparse vector space and can be used for semantic search and sparse retrieval.
SparseEncoder(
(0): MLMTransformer({'max_seq_length': 512, 'do_lower_case': False}) with MLMTransformer model: BertForMaskedLM
(1): SpladePooling({'pooling_strategy': 'max', 'activation_function': 'relu', 'word_embedding_dimension': 30522})
)
First install the Sentence Transformers library:
pip install -U sentence-transformers
Then you can load this model and run inference.
from sentence_transformers import SparseEncoder
# Download from the 🤗 Hub
model = SparseEncoder("naver/splade-v3-distilbert")
# Run inference
queries = ["what causes aging fast"]
documents = [
"UV-A light, specifically, is what mainly causes tanning, skin aging, and cataracts, UV-B causes sunburn, skin aging and skin cancer, and UV-C is the strongest, and therefore most effective at killing microorganisms. Again â\x80\x93 single words and multiple bullets.",
"Answers from Ronald Petersen, M.D. Yes, Alzheimer's disease usually worsens slowly. But its speed of progression varies, depending on a person's genetic makeup, environmental factors, age at diagnosis and other medical conditions. Still, anyone diagnosed with Alzheimer's whose symptoms seem to be progressing quickly â\x80\x94 or who experiences a sudden decline â\x80\x94 should see his or her doctor.",
"Bell's palsy and Extreme tiredness and Extreme fatigue (2 causes) Bell's palsy and Extreme tiredness and Hepatitis (2 causes) Bell's palsy and Extreme tiredness and Liver pain (2 causes) Bell's palsy and Extreme tiredness and Lymph node swelling in children (2 causes)",
]
query_embeddings = model.encode_query(queries)
document_embeddings = model.encode_document(documents)
print(query_embeddings.shape, document_embeddings.shape)
# [1, 30522] [3, 30522]
# Get the similarity scores for the embeddings
similarities = model.similarity(query_embeddings, document_embeddings)
print(similarities)
# tensor([[14.4726, 9.4432, 5.6896]])
If you use our checkpoint, please cite our work:
@misc{lassance2024spladev3,
title={SPLADE-v3: New baselines for SPLADE},
author={Carlos Lassance and Hervé Déjean and Thibault Formal and Stéphane Clinchant},
year={2024},
eprint={2403.06789},
archivePrefix={arXiv},
primaryClass={cs.IR},
copyright = {Creative Commons Attribution Non Commercial Share Alike 4.0 International}
}
From the published model card. Full card on the HuggingFace links in the sidebar.
Using it via the API
Once AxForge deploys splade-distilbert for you, it answers on the OpenAI-compatible API — the same base URL and keys as every other model. (splade-distilbert below is illustrative; you get the exact model name on deployment.)
$ curl -sS https://api.axforge.ai/v1/embeddings \
-H "Authorization: Bearer $AXFORGE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"splade-distilbert","input":"text to embed"}'
Create an account — your API key is available in the console. 3M free tokens every 30 days with every new account.