--- language: - en license: apache-2.0 tags: - sentence-transformers - sparse-encoder - sparse - csr - generated_from_trainer - dataset_size:3011496 - loss:CSRLoss - loss:SparseMultipleNegativesRankingLoss base_model: mixedbread-ai/mxbai-embed-large-v1 widget: - source_sentence: how much is a car title transfer in minnesota? sentences: - This complex is a larger molecule than the original crystal violet stain and iodine and is insoluble in water. ... Conversely, the the outer membrane of Gram negative bacteria is degraded and the thinner peptidoglycan layer of Gram negative cells is unable to retain the crystal violet-iodine complex and the color is lost. - Get insurance on the car and provide proof. Bring this information (including the title) to the Minnesota DVS office, as well as $10 for the filing fee and $7.25 for the titling fee. There is also a $10 transfer tax, as well as a 6.5% sales tax on the purchase price. - 'One of the risks of DNP is that it accelerates the metabolism to a dangerously fast level. Our metabolic system operates at the rate it does for a reason – it is safe. Speeding up the metabolism may help burn off fat, but it can also trigger a number of potentially dangerous side effects, such as: fever.' - source_sentence: what is the difference between 18 and 20 inch tires? sentences: - The only real difference is a 20" rim would be more likely to be damaged, as you pointed out. Beyond looks, there is zero benefit for the 20" rim. Also, just the availability of tires will likely be much more limited for the larger rim. ... Tire selection is better for 18" wheels than 20" wheels. - '[''Open your Outlook app on your mobile device and click on the Settings gear icon.'', ''Under Settings, click on the Signature option.'', ''Enter either a generic signature that could be used for all email accounts tied to your Outlook app, or a specific signature, Per Account Signature, for each email account.'']' - The average normal body temperature is around 98.6 degrees Fahrenheit, or 37 degrees Celsius. If your body temperature drops to just a few degrees lower than this, your blood vessels in your hands, feet, arms, and legs start to get narrower. - source_sentence: whom the bell tolls meaning? sentences: - 'Answer: Humans are depicted in Hindu art often in sensuous and erotic postures.' - The phrase "For whom the bell tolls" refers to the church bells that are rung when a person dies. Hence, the author is suggesting that we should not be curious as to for whom the church bell is tolling for. It is for all of us. - '[''Automatically.'', ''When connected to car Bluetooth and,'', ''Manually.'']' - source_sentence: how long before chlamydia symptoms appear? sentences: - Most people who have chlamydia don't notice any symptoms. If you do get symptoms, these usually appear between 1 and 3 weeks after having unprotected sex with an infected person. For some people they don't develop until many months later. Sometimes the symptoms can disappear after a few days. - '[''Open the My Verizon app . ... '', ''Tap the Menu icon. ... '', ''Tap Manage device for the appropriate mobile number. ... '', ''Tap Transfer content between phones. ... '', ''Tap Start Transfer.'']' - 'Psychiatrist vs Psychologist A psychiatrist is classed as a medical doctor, they include a physical examination of symptoms in their assessment and are able to prescribe medicine: a psychologist is also a doctor by virtue of their PHD level qualification, but is not medically trained and cannot prescribe.' - source_sentence: are you human korean novela? sentences: - Many cysts heal on their own, which means that conservative treatments like rest and anti-inflammatory painkillers can often be enough to get rid of them. However, in some cases, routine drainage of the sac may be necessary to reduce symptoms. - A relative of European pear varieties like Bartlett and Anjou, the Asian pear is great used in recipes or simply eaten out of hand. It retains a crispness that works well in slaws and salads, and it holds its shape better than European pears when baked and cooked. - 'Are You Human? (Korean: 너도 인간이니; RR: Neodo Inganini; lit. Are You Human Too?) is a 2018 South Korean television series starring Seo Kang-jun and Gong Seung-yeon. It aired on KBS2''s Mondays and Tuesdays at 22:00 (KST) time slot, from June 4 to August 7, 2018.' datasets: - sentence-transformers/gooaq pipeline_tag: feature-extraction library_name: sentence-transformers metrics: - dot_accuracy@1 - dot_accuracy@3 - dot_accuracy@5 - dot_accuracy@10 - dot_precision@1 - dot_precision@3 - dot_precision@5 - dot_precision@10 - dot_recall@1 - dot_recall@3 - dot_recall@5 - dot_recall@10 - dot_ndcg@10 - dot_mrr@10 - dot_map@100 - row_non_zero_mean_query - row_sparsity_mean_query - row_non_zero_mean_corpus - row_sparsity_mean_corpus co2_eq_emissions: emissions: 352.04549733882556 energy_consumed: 0.9056951014886098 source: codecarbon training_type: fine-tuning on_cloud: false cpu_model: 13th Gen Intel(R) Core(TM) i7-13700K ram_total_size: 31.777088165283203 hours_used: 2.117 hardware_used: 1 x NVIDIA GeForce RTX 3090 model-index: - name: Sparse CSR model trained on Natural Questions results: - task: type: sparse-information-retrieval name: Sparse Information Retrieval dataset: name: NanoMSMARCO 128 type: NanoMSMARCO_128 metrics: - type: dot_accuracy@1 value: 0.36 name: Dot Accuracy@1 - type: dot_accuracy@3 value: 0.64 name: Dot Accuracy@3 - type: dot_accuracy@5 value: 0.74 name: Dot Accuracy@5 - type: dot_accuracy@10 value: 0.86 name: Dot Accuracy@10 - type: dot_precision@1 value: 0.36 name: Dot Precision@1 - type: dot_precision@3 value: 0.21333333333333332 name: Dot Precision@3 - type: dot_precision@5 value: 0.14800000000000002 name: Dot Precision@5 - type: dot_precision@10 value: 0.08599999999999998 name: Dot Precision@10 - type: dot_recall@1 value: 0.36 name: Dot Recall@1 - type: dot_recall@3 value: 0.64 name: Dot Recall@3 - type: dot_recall@5 value: 0.74 name: Dot Recall@5 - type: dot_recall@10 value: 0.86 name: Dot Recall@10 - type: dot_ndcg@10 value: 0.6055413265295657 name: Dot Ndcg@10 - type: dot_mrr@10 value: 0.5249365079365079 name: Dot Mrr@10 - type: dot_map@100 value: 0.5299802344587291 name: Dot Map@100 - type: row_non_zero_mean_query value: 128.0 name: Row Non Zero Mean Query - type: row_sparsity_mean_query value: 0.96875 name: Row Sparsity Mean Query - type: row_non_zero_mean_corpus value: 128.0 name: Row Non Zero Mean Corpus - type: row_sparsity_mean_corpus value: 0.96875 name: Row Sparsity Mean Corpus - task: type: sparse-information-retrieval name: Sparse Information Retrieval dataset: name: NanoNFCorpus 128 type: NanoNFCorpus_128 metrics: - type: dot_accuracy@1 value: 0.36 name: Dot Accuracy@1 - type: dot_accuracy@3 value: 0.46 name: Dot Accuracy@3 - type: dot_accuracy@5 value: 0.52 name: Dot Accuracy@5 - type: dot_accuracy@10 value: 0.68 name: Dot Accuracy@10 - type: dot_precision@1 value: 0.36 name: Dot Precision@1 - type: dot_precision@3 value: 0.32 name: Dot Precision@3 - type: dot_precision@5 value: 0.27999999999999997 name: Dot Precision@5 - type: dot_precision@10 value: 0.24600000000000002 name: Dot Precision@10 - type: dot_recall@1 value: 0.0215204036359272 name: Dot Recall@1 - type: dot_recall@3 value: 0.04799314214281322 name: Dot Recall@3 - type: dot_recall@5 value: 0.06373415154707394 name: Dot Recall@5 - type: dot_recall@10 value: 0.0979246816076223 name: Dot Recall@10 - type: dot_ndcg@10 value: 0.28193067797046806 name: Dot Ndcg@10 - type: dot_mrr@10 value: 0.4415793650793651 name: Dot Mrr@10 - type: dot_map@100 value: 0.11047621170887942 name: Dot Map@100 - type: row_non_zero_mean_query value: 128.0 name: Row Non Zero Mean Query - type: row_sparsity_mean_query value: 0.96875 name: Row Sparsity Mean Query - type: row_non_zero_mean_corpus value: 128.0 name: Row Non Zero Mean Corpus - type: row_sparsity_mean_corpus value: 0.96875 name: Row Sparsity Mean Corpus - task: type: sparse-information-retrieval name: Sparse Information Retrieval dataset: name: NanoNQ 128 type: NanoNQ_128 metrics: - type: dot_accuracy@1 value: 0.38 name: Dot Accuracy@1 - type: dot_accuracy@3 value: 0.58 name: Dot Accuracy@3 - type: dot_accuracy@5 value: 0.66 name: Dot Accuracy@5 - type: dot_accuracy@10 value: 0.78 name: Dot Accuracy@10 - type: dot_precision@1 value: 0.38 name: Dot Precision@1 - type: dot_precision@3 value: 0.2 name: Dot Precision@3 - type: dot_precision@5 value: 0.136 name: Dot Precision@5 - type: dot_precision@10 value: 0.08199999999999999 name: Dot Precision@10 - type: dot_recall@1 value: 0.37 name: Dot Recall@1 - type: dot_recall@3 value: 0.54 name: Dot Recall@3 - type: dot_recall@5 value: 0.62 name: Dot Recall@5 - type: dot_recall@10 value: 0.73 name: Dot Recall@10 - type: dot_ndcg@10 value: 0.54915705928894 name: Dot Ndcg@10 - type: dot_mrr@10 value: 0.5041904761904762 name: Dot Mrr@10 - type: dot_map@100 value: 0.49271607077427093 name: Dot Map@100 - type: row_non_zero_mean_query value: 128.0 name: Row Non Zero Mean Query - type: row_sparsity_mean_query value: 0.96875 name: Row Sparsity Mean Query - type: row_non_zero_mean_corpus value: 128.0 name: Row Non Zero Mean Corpus - type: row_sparsity_mean_corpus value: 0.96875 name: Row Sparsity Mean Corpus - task: type: sparse-nano-beir name: Sparse Nano BEIR dataset: name: NanoBEIR mean 128 type: NanoBEIR_mean_128 metrics: - type: dot_accuracy@1 value: 0.3666666666666667 name: Dot Accuracy@1 - type: dot_accuracy@3 value: 0.56 name: Dot Accuracy@3 - type: dot_accuracy@5 value: 0.64 name: Dot Accuracy@5 - type: dot_accuracy@10 value: 0.7733333333333334 name: Dot Accuracy@10 - type: dot_precision@1 value: 0.3666666666666667 name: Dot Precision@1 - type: dot_precision@3 value: 0.24444444444444446 name: Dot Precision@3 - type: dot_precision@5 value: 0.18800000000000003 name: Dot Precision@5 - type: dot_precision@10 value: 0.138 name: Dot Precision@10 - type: dot_recall@1 value: 0.2505068012119757 name: Dot Recall@1 - type: dot_recall@3 value: 0.40933104738093773 name: Dot Recall@3 - type: dot_recall@5 value: 0.47457805051569135 name: Dot Recall@5 - type: dot_recall@10 value: 0.5626415605358741 name: Dot Recall@10 - type: dot_ndcg@10 value: 0.47887635459632455 name: Dot Ndcg@10 - type: dot_mrr@10 value: 0.49023544973544975 name: Dot Mrr@10 - type: dot_map@100 value: 0.3777241723139599 name: Dot Map@100 - type: row_non_zero_mean_query value: 128.0 name: Row Non Zero Mean Query - type: row_sparsity_mean_query value: 0.96875 name: Row Sparsity Mean Query - type: row_non_zero_mean_corpus value: 128.0 name: Row Non Zero Mean Corpus - type: row_sparsity_mean_corpus value: 0.96875 name: Row Sparsity Mean Corpus - task: type: sparse-information-retrieval name: Sparse Information Retrieval dataset: name: NanoMSMARCO 256 type: NanoMSMARCO_256 metrics: - type: dot_accuracy@1 value: 0.44 name: Dot Accuracy@1 - type: dot_accuracy@3 value: 0.64 name: Dot Accuracy@3 - type: dot_accuracy@5 value: 0.74 name: Dot Accuracy@5 - type: dot_accuracy@10 value: 0.9 name: Dot Accuracy@10 - type: dot_precision@1 value: 0.44 name: Dot Precision@1 - type: dot_precision@3 value: 0.21333333333333332 name: Dot Precision@3 - type: dot_precision@5 value: 0.14800000000000002 name: Dot Precision@5 - type: dot_precision@10 value: 0.08999999999999998 name: Dot Precision@10 - type: dot_recall@1 value: 0.44 name: Dot Recall@1 - type: dot_recall@3 value: 0.64 name: Dot Recall@3 - type: dot_recall@5 value: 0.74 name: Dot Recall@5 - type: dot_recall@10 value: 0.9 name: Dot Recall@10 - type: dot_ndcg@10 value: 0.6593706160726032 name: Dot Ndcg@10 - type: dot_mrr@10 value: 0.5844126984126984 name: Dot Mrr@10 - type: dot_map@100 value: 0.587731189263798 name: Dot Map@100 - type: row_non_zero_mean_query value: 256.0 name: Row Non Zero Mean Query - type: row_sparsity_mean_query value: 0.9375 name: Row Sparsity Mean Query - type: row_non_zero_mean_corpus value: 256.0 name: Row Non Zero Mean Corpus - type: row_sparsity_mean_corpus value: 0.9375 name: Row Sparsity Mean Corpus - task: type: sparse-information-retrieval name: Sparse Information Retrieval dataset: name: NanoNFCorpus 256 type: NanoNFCorpus_256 metrics: - type: dot_accuracy@1 value: 0.32 name: Dot Accuracy@1 - type: dot_accuracy@3 value: 0.48 name: Dot Accuracy@3 - type: dot_accuracy@5 value: 0.6 name: Dot Accuracy@5 - type: dot_accuracy@10 value: 0.72 name: Dot Accuracy@10 - type: dot_precision@1 value: 0.32 name: Dot Precision@1 - type: dot_precision@3 value: 0.3399999999999999 name: Dot Precision@3 - type: dot_precision@5 value: 0.316 name: Dot Precision@5 - type: dot_precision@10 value: 0.274 name: Dot Precision@10 - type: dot_recall@1 value: 0.039388755003198654 name: Dot Recall@1 - type: dot_recall@3 value: 0.07303098045854087 name: Dot Recall@3 - type: dot_recall@5 value: 0.09531734035764254 name: Dot Recall@5 - type: dot_recall@10 value: 0.13417588936034655 name: Dot Recall@10 - type: dot_ndcg@10 value: 0.3210896460550523 name: Dot Ndcg@10 - type: dot_mrr@10 value: 0.43734920634920627 name: Dot Mrr@10 - type: dot_map@100 value: 0.14778423566638732 name: Dot Map@100 - type: row_non_zero_mean_query value: 256.0 name: Row Non Zero Mean Query - type: row_sparsity_mean_query value: 0.9375 name: Row Sparsity Mean Query - type: row_non_zero_mean_corpus value: 256.0 name: Row Non Zero Mean Corpus - type: row_sparsity_mean_corpus value: 0.9375 name: Row Sparsity Mean Corpus - task: type: sparse-information-retrieval name: Sparse Information Retrieval dataset: name: NanoNQ 256 type: NanoNQ_256 metrics: - type: dot_accuracy@1 value: 0.44 name: Dot Accuracy@1 - type: dot_accuracy@3 value: 0.68 name: Dot Accuracy@3 - type: dot_accuracy@5 value: 0.72 name: Dot Accuracy@5 - type: dot_accuracy@10 value: 0.82 name: Dot Accuracy@10 - type: dot_precision@1 value: 0.44 name: Dot Precision@1 - type: dot_precision@3 value: 0.23333333333333336 name: Dot Precision@3 - type: dot_precision@5 value: 0.15200000000000002 name: Dot Precision@5 - type: dot_precision@10 value: 0.086 name: Dot Precision@10 - type: dot_recall@1 value: 0.42 name: Dot Recall@1 - type: dot_recall@3 value: 0.63 name: Dot Recall@3 - type: dot_recall@5 value: 0.68 name: Dot Recall@5 - type: dot_recall@10 value: 0.77 name: Dot Recall@10 - type: dot_ndcg@10 value: 0.6014886386931141 name: Dot Ndcg@10 - type: dot_mrr@10 value: 0.5650238095238095 name: Dot Mrr@10 - type: dot_map@100 value: 0.5493009547376917 name: Dot Map@100 - type: row_non_zero_mean_query value: 256.0 name: Row Non Zero Mean Query - type: row_sparsity_mean_query value: 0.9375 name: Row Sparsity Mean Query - type: row_non_zero_mean_corpus value: 256.0 name: Row Non Zero Mean Corpus - type: row_sparsity_mean_corpus value: 0.9375 name: Row Sparsity Mean Corpus - task: type: sparse-nano-beir name: Sparse Nano BEIR dataset: name: NanoBEIR mean 256 type: NanoBEIR_mean_256 metrics: - type: dot_accuracy@1 value: 0.39999999999999997 name: Dot Accuracy@1 - type: dot_accuracy@3 value: 0.6000000000000001 name: Dot Accuracy@3 - type: dot_accuracy@5 value: 0.6866666666666665 name: Dot Accuracy@5 - type: dot_accuracy@10 value: 0.8133333333333334 name: Dot Accuracy@10 - type: dot_precision@1 value: 0.39999999999999997 name: Dot Precision@1 - type: dot_precision@3 value: 0.2622222222222222 name: Dot Precision@3 - type: dot_precision@5 value: 0.20533333333333337 name: Dot Precision@5 - type: dot_precision@10 value: 0.15 name: Dot Precision@10 - type: dot_recall@1 value: 0.2997962516677329 name: Dot Recall@1 - type: dot_recall@3 value: 0.44767699348618023 name: Dot Recall@3 - type: dot_recall@5 value: 0.5051057801192141 name: Dot Recall@5 - type: dot_recall@10 value: 0.6013919631201156 name: Dot Recall@10 - type: dot_ndcg@10 value: 0.5273163002735899 name: Dot Ndcg@10 - type: dot_mrr@10 value: 0.5289285714285713 name: Dot Mrr@10 - type: dot_map@100 value: 0.428272126555959 name: Dot Map@100 - type: row_non_zero_mean_query value: 256.0 name: Row Non Zero Mean Query - type: row_sparsity_mean_query value: 0.9375 name: Row Sparsity Mean Query - type: row_non_zero_mean_corpus value: 256.0 name: Row Non Zero Mean Corpus - type: row_sparsity_mean_corpus value: 0.9375 name: Row Sparsity Mean Corpus --- # Sparse CSR model trained on Natural Questions This is a [CSR Sparse Encoder](https://www.sbert.net/docs/sparse_encoder/usage/usage.html) model finetuned from [mixedbread-ai/mxbai-embed-large-v1](https://huggingface.co/mixedbread-ai/mxbai-embed-large-v1) on the [gooaq](https://huggingface.co/datasets/sentence-transformers/gooaq) dataset using the [sentence-transformers](https://www.SBERT.net) library. It maps sentences & paragraphs to a 4096-dimensional sparse vector space and can be used for semantic search and sparse retrieval. ## Model Details ### Model Description - **Model Type:** CSR Sparse Encoder - **Base model:** [mixedbread-ai/mxbai-embed-large-v1](https://huggingface.co/mixedbread-ai/mxbai-embed-large-v1) - **Maximum Sequence Length:** 512 tokens - **Output Dimensionality:** 4096 dimensions - **Similarity Function:** Dot Product - **Training Dataset:** - [gooaq](https://huggingface.co/datasets/sentence-transformers/gooaq) - **Language:** en - **License:** apache-2.0 ### Model Sources - **Documentation:** [Sentence Transformers Documentation](https://sbert.net) - **Documentation:** [Sparse Encoder Documentation](https://www.sbert.net/docs/sparse_encoder/usage/usage.html) - **Repository:** [Sentence Transformers on GitHub](https://github.com/UKPLab/sentence-transformers) - **Hugging Face:** [Sparse Encoders on Hugging Face](https://huggingface.co/models?library=sentence-transformers&other=sparse-encoder) ### Full Model Architecture ``` SparseEncoder( (0): Transformer({'max_seq_length': 512, 'do_lower_case': False}) with Transformer model: BertModel (1): Pooling({'word_embedding_dimension': 1024, 'pooling_mode_cls_token': True, 'pooling_mode_mean_tokens': False, 'pooling_mode_max_tokens': False, 'pooling_mode_mean_sqrt_len_tokens': False, 'pooling_mode_weightedmean_tokens': False, 'pooling_mode_lasttoken': False, 'include_prompt': True}) (2): CSRSparsity({'input_dim': 1024, 'hidden_dim': 4096, 'k': 256, 'k_aux': 512, 'normalize': False, 'dead_threshold': 30}) ) ``` ## Usage ### Direct Usage (Sentence Transformers) First install the Sentence Transformers library: ```bash pip install -U sentence-transformers ``` Then you can load this model and run inference. ```python from sentence_transformers import SparseEncoder # Download from the 🤗 Hub model = SparseEncoder("tomaarsen/csr-mxbai-embed-large-v1-gooaq-1e-5-512bs") # Run inference sentences = [ 'are you human korean novela?', "Are You Human? (Korean: 너도 인간이니; RR: Neodo Inganini; lit. Are You Human Too?) is a 2018 South Korean television series starring Seo Kang-jun and Gong Seung-yeon. It aired on KBS2's Mondays and Tuesdays at 22:00 (KST) time slot, from June 4 to August 7, 2018.", 'A relative of European pear varieties like Bartlett and Anjou, the Asian pear is great used in recipes or simply eaten out of hand. It retains a crispness that works well in slaws and salads, and it holds its shape better than European pears when baked and cooked.', ] embeddings = model.encode(sentences) print(embeddings.shape) # (3, 4096) # Get the similarity scores for the embeddings similarities = model.similarity(embeddings, embeddings) print(similarities.shape) # [3, 3] ``` ## Evaluation ### Metrics #### Sparse Information Retrieval * Datasets: `NanoMSMARCO_128`, `NanoNFCorpus_128` and `NanoNQ_128` * Evaluated with [SparseInformationRetrievalEvaluator](https://sbert.net/docs/package_reference/sparse_encoder/evaluation.html#sentence_transformers.sparse_encoder.evaluation.SparseInformationRetrievalEvaluator) with these parameters: ```json { "max_active_dims": 128 } ``` | Metric | NanoMSMARCO_128 | NanoNFCorpus_128 | NanoNQ_128 | |:-------------------------|:----------------|:-----------------|:-----------| | dot_accuracy@1 | 0.36 | 0.36 | 0.38 | | dot_accuracy@3 | 0.64 | 0.46 | 0.58 | | dot_accuracy@5 | 0.74 | 0.52 | 0.66 | | dot_accuracy@10 | 0.86 | 0.68 | 0.78 | | dot_precision@1 | 0.36 | 0.36 | 0.38 | | dot_precision@3 | 0.2133 | 0.32 | 0.2 | | dot_precision@5 | 0.148 | 0.28 | 0.136 | | dot_precision@10 | 0.086 | 0.246 | 0.082 | | dot_recall@1 | 0.36 | 0.0215 | 0.37 | | dot_recall@3 | 0.64 | 0.048 | 0.54 | | dot_recall@5 | 0.74 | 0.0637 | 0.62 | | dot_recall@10 | 0.86 | 0.0979 | 0.73 | | **dot_ndcg@10** | **0.6055** | **0.2819** | **0.5492** | | dot_mrr@10 | 0.5249 | 0.4416 | 0.5042 | | dot_map@100 | 0.53 | 0.1105 | 0.4927 | | row_non_zero_mean_query | 128.0 | 128.0 | 128.0 | | row_sparsity_mean_query | 0.9688 | 0.9688 | 0.9688 | | row_non_zero_mean_corpus | 128.0 | 128.0 | 128.0 | | row_sparsity_mean_corpus | 0.9688 | 0.9688 | 0.9688 | #### Sparse Nano BEIR * Dataset: `NanoBEIR_mean_128` * Evaluated with [SparseNanoBEIREvaluator](https://sbert.net/docs/package_reference/sparse_encoder/evaluation.html#sentence_transformers.sparse_encoder.evaluation.SparseNanoBEIREvaluator) with these parameters: ```json { "dataset_names": [ "msmarco", "nfcorpus", "nq" ], "max_active_dims": 128 } ``` | Metric | Value | |:-------------------------|:-----------| | dot_accuracy@1 | 0.3667 | | dot_accuracy@3 | 0.56 | | dot_accuracy@5 | 0.64 | | dot_accuracy@10 | 0.7733 | | dot_precision@1 | 0.3667 | | dot_precision@3 | 0.2444 | | dot_precision@5 | 0.188 | | dot_precision@10 | 0.138 | | dot_recall@1 | 0.2505 | | dot_recall@3 | 0.4093 | | dot_recall@5 | 0.4746 | | dot_recall@10 | 0.5626 | | **dot_ndcg@10** | **0.4789** | | dot_mrr@10 | 0.4902 | | dot_map@100 | 0.3777 | | row_non_zero_mean_query | 128.0 | | row_sparsity_mean_query | 0.9688 | | row_non_zero_mean_corpus | 128.0 | | row_sparsity_mean_corpus | 0.9688 | #### Sparse Information Retrieval * Datasets: `NanoMSMARCO_256`, `NanoNFCorpus_256` and `NanoNQ_256` * Evaluated with [SparseInformationRetrievalEvaluator](https://sbert.net/docs/package_reference/sparse_encoder/evaluation.html#sentence_transformers.sparse_encoder.evaluation.SparseInformationRetrievalEvaluator) with these parameters: ```json { "max_active_dims": 256 } ``` | Metric | NanoMSMARCO_256 | NanoNFCorpus_256 | NanoNQ_256 | |:-------------------------|:----------------|:-----------------|:-----------| | dot_accuracy@1 | 0.44 | 0.32 | 0.44 | | dot_accuracy@3 | 0.64 | 0.48 | 0.68 | | dot_accuracy@5 | 0.74 | 0.6 | 0.72 | | dot_accuracy@10 | 0.9 | 0.72 | 0.82 | | dot_precision@1 | 0.44 | 0.32 | 0.44 | | dot_precision@3 | 0.2133 | 0.34 | 0.2333 | | dot_precision@5 | 0.148 | 0.316 | 0.152 | | dot_precision@10 | 0.09 | 0.274 | 0.086 | | dot_recall@1 | 0.44 | 0.0394 | 0.42 | | dot_recall@3 | 0.64 | 0.073 | 0.63 | | dot_recall@5 | 0.74 | 0.0953 | 0.68 | | dot_recall@10 | 0.9 | 0.1342 | 0.77 | | **dot_ndcg@10** | **0.6594** | **0.3211** | **0.6015** | | dot_mrr@10 | 0.5844 | 0.4373 | 0.565 | | dot_map@100 | 0.5877 | 0.1478 | 0.5493 | | row_non_zero_mean_query | 256.0 | 256.0 | 256.0 | | row_sparsity_mean_query | 0.9375 | 0.9375 | 0.9375 | | row_non_zero_mean_corpus | 256.0 | 256.0 | 256.0 | | row_sparsity_mean_corpus | 0.9375 | 0.9375 | 0.9375 | #### Sparse Nano BEIR * Dataset: `NanoBEIR_mean_256` * Evaluated with [SparseNanoBEIREvaluator](https://sbert.net/docs/package_reference/sparse_encoder/evaluation.html#sentence_transformers.sparse_encoder.evaluation.SparseNanoBEIREvaluator) with these parameters: ```json { "dataset_names": [ "msmarco", "nfcorpus", "nq" ], "max_active_dims": 256 } ``` | Metric | Value | |:-------------------------|:-----------| | dot_accuracy@1 | 0.4 | | dot_accuracy@3 | 0.6 | | dot_accuracy@5 | 0.6867 | | dot_accuracy@10 | 0.8133 | | dot_precision@1 | 0.4 | | dot_precision@3 | 0.2622 | | dot_precision@5 | 0.2053 | | dot_precision@10 | 0.15 | | dot_recall@1 | 0.2998 | | dot_recall@3 | 0.4477 | | dot_recall@5 | 0.5051 | | dot_recall@10 | 0.6014 | | **dot_ndcg@10** | **0.5273** | | dot_mrr@10 | 0.5289 | | dot_map@100 | 0.4283 | | row_non_zero_mean_query | 256.0 | | row_sparsity_mean_query | 0.9375 | | row_non_zero_mean_corpus | 256.0 | | row_sparsity_mean_corpus | 0.9375 | ## Training Details ### Training Dataset #### gooaq * Dataset: [gooaq](https://huggingface.co/datasets/sentence-transformers/gooaq) at [b089f72](https://huggingface.co/datasets/sentence-transformers/gooaq/tree/b089f728748a068b7bc5234e5bcf5b25e3c8279c) * Size: 3,011,496 training samples * Columns: question and answer * Approximate statistics based on the first 1000 samples: | | question | answer | |:--------|:----------------------------------------------------------------------------------|:------------------------------------------------------------------------------------| | type | string | string | | details | | | * Samples: | question | answer | |:-----------------------------------------------------------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | what is the difference between clay and mud mask? | The main difference between the two is that mud is a skin-healing agent, while clay is a cosmetic, drying agent. Clay masks are most useful for someone who has oily skin and is prone to breakouts of acne and blemishes. | | myki how much on card? | A full fare myki card costs $6 and a concession, seniors or child myki costs $3. For more information about how to use your myki, visit ptv.vic.gov.au or call 1800 800 007. | | how to find out if someone blocked your phone number on iphone? | If you get a notification like "Message Not Delivered" or you get no notification at all, that's a sign of a potential block. Next, you could try calling the person. If the call goes right to voicemail or rings once (or a half ring) then goes to voicemail, that's further evidence you may have been blocked. | * Loss: [CSRLoss](https://sbert.net/docs/package_reference/sparse_encoder/losses.html#csrloss) with these parameters: ```json { "beta": 0.1, "gamma": 1.0, "loss": "SparseMultipleNegativesRankingLoss(scale=1.0, similarity_fct='dot_score')" } ``` ### Evaluation Dataset #### gooaq * Dataset: [gooaq](https://huggingface.co/datasets/sentence-transformers/gooaq) at [b089f72](https://huggingface.co/datasets/sentence-transformers/gooaq/tree/b089f728748a068b7bc5234e5bcf5b25e3c8279c) * Size: 1,000 evaluation samples * Columns: question and answer * Approximate statistics based on the first 1000 samples: | | question | answer | |:--------|:----------------------------------------------------------------------------------|:------------------------------------------------------------------------------------| | type | string | string | | details | | | * Samples: | question | answer | |:-----------------------------------------------------------------------------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | how do i program my directv remote with my tv? | ['Press MENU on your remote.', 'Select Settings & Help > Settings > Remote Control > Program Remote.', 'Choose the device (TV, audio, DVD) you wish to program. ... ', 'Follow the on-screen prompts to complete programming.'] | | are rodrigues fruit bats nocturnal? | Before its numbers were threatened by habitat destruction, storms, and hunting, some of those groups could number 500 or more members. Sunrise, sunset. Rodrigues fruit bats are most active at dawn, at dusk, and at night. | | why does your heart rate increase during exercise bbc bitesize? | During exercise there is an increase in physical activity and muscle cells respire more than they do when the body is at rest. The heart rate increases during exercise. The rate and depth of breathing increases - this makes sure that more oxygen is absorbed into the blood, and more carbon dioxide is removed from it. | * Loss: [CSRLoss](https://sbert.net/docs/package_reference/sparse_encoder/losses.html#csrloss) with these parameters: ```json { "beta": 0.1, "gamma": 1.0, "loss": "SparseMultipleNegativesRankingLoss(scale=1.0, similarity_fct='dot_score')" } ``` ### Training Hyperparameters #### Non-Default Hyperparameters - `eval_strategy`: steps - `per_device_train_batch_size`: 512 - `per_device_eval_batch_size`: 512 - `learning_rate`: 1e-05 - `num_train_epochs`: 1 - `warmup_ratio`: 0.1 - `bf16`: True - `load_best_model_at_end`: True - `batch_sampler`: no_duplicates #### All Hyperparameters
Click to expand - `overwrite_output_dir`: False - `do_predict`: False - `eval_strategy`: steps - `prediction_loss_only`: True - `per_device_train_batch_size`: 512 - `per_device_eval_batch_size`: 512 - `per_gpu_train_batch_size`: None - `per_gpu_eval_batch_size`: None - `gradient_accumulation_steps`: 1 - `eval_accumulation_steps`: None - `torch_empty_cache_steps`: None - `learning_rate`: 1e-05 - `weight_decay`: 0.0 - `adam_beta1`: 0.9 - `adam_beta2`: 0.999 - `adam_epsilon`: 1e-08 - `max_grad_norm`: 1.0 - `num_train_epochs`: 1 - `max_steps`: -1 - `lr_scheduler_type`: linear - `lr_scheduler_kwargs`: {} - `warmup_ratio`: 0.1 - `warmup_steps`: 0 - `log_level`: passive - `log_level_replica`: warning - `log_on_each_node`: True - `logging_nan_inf_filter`: True - `save_safetensors`: True - `save_on_each_node`: False - `save_only_model`: False - `restore_callback_states_from_checkpoint`: False - `no_cuda`: False - `use_cpu`: False - `use_mps_device`: False - `seed`: 42 - `data_seed`: None - `jit_mode_eval`: False - `use_ipex`: False - `bf16`: True - `fp16`: False - `fp16_opt_level`: O1 - `half_precision_backend`: auto - `bf16_full_eval`: False - `fp16_full_eval`: False - `tf32`: None - `local_rank`: 0 - `ddp_backend`: None - `tpu_num_cores`: None - `tpu_metrics_debug`: False - `debug`: [] - `dataloader_drop_last`: False - `dataloader_num_workers`: 0 - `dataloader_prefetch_factor`: None - `past_index`: -1 - `disable_tqdm`: False - `remove_unused_columns`: True - `label_names`: None - `load_best_model_at_end`: True - `ignore_data_skip`: False - `fsdp`: [] - `fsdp_min_num_params`: 0 - `fsdp_config`: {'min_num_params': 0, 'xla': False, 'xla_fsdp_v2': False, 'xla_fsdp_grad_ckpt': False} - `fsdp_transformer_layer_cls_to_wrap`: None - `accelerator_config`: {'split_batches': False, 'dispatch_batches': None, 'even_batches': True, 'use_seedable_sampler': True, 'non_blocking': False, 'gradient_accumulation_kwargs': None} - `deepspeed`: None - `label_smoothing_factor`: 0.0 - `optim`: adamw_torch - `optim_args`: None - `adafactor`: False - `group_by_length`: False - `length_column_name`: length - `ddp_find_unused_parameters`: None - `ddp_bucket_cap_mb`: None - `ddp_broadcast_buffers`: False - `dataloader_pin_memory`: True - `dataloader_persistent_workers`: False - `skip_memory_metrics`: True - `use_legacy_prediction_loop`: False - `push_to_hub`: False - `resume_from_checkpoint`: None - `hub_model_id`: None - `hub_strategy`: every_save - `hub_private_repo`: None - `hub_always_push`: False - `gradient_checkpointing`: False - `gradient_checkpointing_kwargs`: None - `include_inputs_for_metrics`: False - `include_for_metrics`: [] - `eval_do_concat_batches`: True - `fp16_backend`: auto - `push_to_hub_model_id`: None - `push_to_hub_organization`: None - `mp_parameters`: - `auto_find_batch_size`: False - `full_determinism`: False - `torchdynamo`: None - `ray_scope`: last - `ddp_timeout`: 1800 - `torch_compile`: False - `torch_compile_backend`: None - `torch_compile_mode`: None - `dispatch_batches`: None - `split_batches`: None - `include_tokens_per_second`: False - `include_num_input_tokens_seen`: False - `neftune_noise_alpha`: None - `optim_target_modules`: None - `batch_eval_metrics`: False - `eval_on_start`: False - `use_liger_kernel`: False - `eval_use_gather_object`: False - `average_tokens_across_devices`: False - `prompts`: None - `batch_sampler`: no_duplicates - `multi_dataset_batch_sampler`: proportional
### Training Logs | Epoch | Step | Training Loss | Validation Loss | NanoMSMARCO_128_dot_ndcg@10 | NanoNFCorpus_128_dot_ndcg@10 | NanoNQ_128_dot_ndcg@10 | NanoBEIR_mean_128_dot_ndcg@10 | NanoMSMARCO_256_dot_ndcg@10 | NanoNFCorpus_256_dot_ndcg@10 | NanoNQ_256_dot_ndcg@10 | NanoBEIR_mean_256_dot_ndcg@10 | |:---------:|:--------:|:-------------:|:---------------:|:---------------------------:|:----------------------------:|:----------------------:|:-----------------------------:|:---------------------------:|:----------------------------:|:----------------------:|:-----------------------------:| | -1 | -1 | - | - | 0.6421 | 0.2724 | 0.5528 | 0.4891 | 0.6425 | 0.2985 | 0.6194 | 0.5201 | | 0.0170 | 100 | 0.5414 | - | - | - | - | - | - | - | - | - | | 0.0340 | 200 | 0.5387 | - | - | - | - | - | - | - | - | - | | 0.0510 | 300 | 0.5183 | - | - | - | - | - | - | - | - | - | | 0.0680 | 400 | 0.5215 | - | - | - | - | - | - | - | - | - | | 0.0850 | 500 | 0.5011 | - | - | - | - | - | - | - | - | - | | 0.1020 | 600 | 0.5 | - | - | - | - | - | - | - | - | - | | 0.1190 | 700 | 0.4885 | - | - | - | - | - | - | - | - | - | | 0.1360 | 800 | 0.4777 | 0.3915 | 0.6173 | 0.2782 | 0.5465 | 0.4807 | 0.6406 | 0.3038 | 0.6318 | 0.5254 | | 0.1530 | 900 | 0.4793 | - | - | - | - | - | - | - | - | - | | 0.1700 | 1000 | 0.472 | - | - | - | - | - | - | - | - | - | | 0.1870 | 1100 | 0.4679 | - | - | - | - | - | - | - | - | - | | 0.2040 | 1200 | 0.4666 | - | - | - | - | - | - | - | - | - | | 0.2210 | 1300 | 0.4569 | - | - | - | - | - | - | - | - | - | | 0.2380 | 1400 | 0.4642 | - | - | - | - | - | - | - | - | - | | 0.2550 | 1500 | 0.4611 | - | - | - | - | - | - | - | - | - | | **0.272** | **1600** | **0.4537** | **0.3851** | **0.6314** | **0.266** | **0.5664** | **0.4879** | **0.6451** | **0.3238** | **0.6363** | **0.5351** | | 0.2890 | 1700 | 0.4554 | - | - | - | - | - | - | - | - | - | | 0.3060 | 1800 | 0.4475 | - | - | - | - | - | - | - | - | - | | 0.3230 | 1900 | 0.4512 | - | - | - | - | - | - | - | - | - | | 0.3400 | 2000 | 0.4522 | - | - | - | - | - | - | - | - | - | | 0.3570 | 2100 | 0.4475 | - | - | - | - | - | - | - | - | - | | 0.3740 | 2200 | 0.4499 | - | - | - | - | - | - | - | - | - | | 0.3910 | 2300 | 0.4467 | - | - | - | - | - | - | - | - | - | | 0.4080 | 2400 | 0.4467 | 0.3940 | 0.6264 | 0.2643 | 0.5719 | 0.4875 | 0.6092 | 0.3350 | 0.6363 | 0.5268 | | 0.4250 | 2500 | 0.4477 | - | - | - | - | - | - | - | - | - | | 0.4420 | 2600 | 0.4466 | - | - | - | - | - | - | - | - | - | | 0.4590 | 2700 | 0.4436 | - | - | - | - | - | - | - | - | - | | 0.4760 | 2800 | 0.4434 | - | - | - | - | - | - | - | - | - | | 0.4930 | 2900 | 0.4437 | - | - | - | - | - | - | - | - | - | | 0.5100 | 3000 | 0.4381 | - | - | - | - | - | - | - | - | - | | 0.5270 | 3100 | 0.4426 | - | - | - | - | - | - | - | - | - | | 0.5440 | 3200 | 0.4461 | 0.3850 | 0.5866 | 0.2857 | 0.5567 | 0.4763 | 0.6232 | 0.3313 | 0.6220 | 0.5255 | | 0.5610 | 3300 | 0.4453 | - | - | - | - | - | - | - | - | - | | 0.5780 | 3400 | 0.4361 | - | - | - | - | - | - | - | - | - | | 0.5950 | 3500 | 0.436 | - | - | - | - | - | - | - | - | - | | 0.6120 | 3600 | 0.4444 | - | - | - | - | - | - | - | - | - | | 0.6290 | 3700 | 0.4405 | - | - | - | - | - | - | - | - | - | | 0.6460 | 3800 | 0.4346 | - | - | - | - | - | - | - | - | - | | 0.6630 | 3900 | 0.4345 | - | - | - | - | - | - | - | - | - | | 0.6800 | 4000 | 0.4399 | 0.3857 | 0.5963 | 0.2898 | 0.5537 | 0.4800 | 0.6479 | 0.3129 | 0.6058 | 0.5222 | | 0.6970 | 4100 | 0.434 | - | - | - | - | - | - | - | - | - | | 0.7140 | 4200 | 0.4353 | - | - | - | - | - | - | - | - | - | | 0.7310 | 4300 | 0.4277 | - | - | - | - | - | - | - | - | - | | 0.7480 | 4400 | 0.4361 | - | - | - | - | - | - | - | - | - | | 0.7650 | 4500 | 0.445 | - | - | - | - | - | - | - | - | - | | 0.7820 | 4600 | 0.4331 | - | - | - | - | - | - | - | - | - | | 0.7990 | 4700 | 0.4329 | - | - | - | - | - | - | - | - | - | | 0.8160 | 4800 | 0.4336 | 0.3827 | 0.5929 | 0.2894 | 0.5617 | 0.4813 | 0.6444 | 0.3241 | 0.6120 | 0.5268 | | 0.8330 | 4900 | 0.4319 | - | - | - | - | - | - | - | - | - | | 0.8501 | 5000 | 0.4342 | - | - | - | - | - | - | - | - | - | | 0.8671 | 5100 | 0.439 | - | - | - | - | - | - | - | - | - | | 0.8841 | 5200 | 0.434 | - | - | - | - | - | - | - | - | - | | 0.9011 | 5300 | 0.4396 | - | - | - | - | - | - | - | - | - | | 0.9181 | 5400 | 0.4355 | - | - | - | - | - | - | - | - | - | | 0.9351 | 5500 | 0.4326 | - | - | - | - | - | - | - | - | - | | 0.9521 | 5600 | 0.4304 | 0.3810 | 0.6055 | 0.2819 | 0.5492 | 0.4789 | 0.6594 | 0.3211 | 0.6015 | 0.5273 | | 0.9691 | 5700 | 0.4316 | - | - | - | - | - | - | - | - | - | | 0.9861 | 5800 | 0.427 | - | - | - | - | - | - | - | - | - | * The bold row denotes the saved checkpoint. ### Environmental Impact Carbon emissions were measured using [CodeCarbon](https://github.com/mlco2/codecarbon). - **Energy Consumed**: 0.906 kWh - **Carbon Emitted**: 0.352 kg of CO2 - **Hours Used**: 2.117 hours ### Training Hardware - **On Cloud**: No - **GPU Model**: 1 x NVIDIA GeForce RTX 3090 - **CPU Model**: 13th Gen Intel(R) Core(TM) i7-13700K - **RAM Size**: 31.78 GB ### Framework Versions - Python: 3.11.6 - Sentence Transformers: 4.2.0.dev0 - Transformers: 4.49.0 - PyTorch: 2.6.0+cu124 - Accelerate: 1.5.1 - Datasets: 2.21.0 - Tokenizers: 0.21.1 ## Citation ### BibTeX #### Sentence Transformers ```bibtex @inproceedings{reimers-2019-sentence-bert, title = "Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks", author = "Reimers, Nils and Gurevych, Iryna", booktitle = "Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing", month = "11", year = "2019", publisher = "Association for Computational Linguistics", url = "https://arxiv.org/abs/1908.10084", } ``` #### CSRLoss ```bibtex @misc{wen2025matryoshkarevisitingsparsecoding, title={Beyond Matryoshka: Revisiting Sparse Coding for Adaptive Representation}, author={Tiansheng Wen and Yifei Wang and Zequn Zeng and Zhong Peng and Yudi Su and Xinyang Liu and Bo Chen and Hongwei Liu and Stefanie Jegelka and Chenyu You}, year={2025}, eprint={2503.01776}, archivePrefix={arXiv}, primaryClass={cs.LG}, url={https://arxiv.org/abs/2503.01776}, } ``` #### SparseMultipleNegativesRankingLoss ```bibtex @misc{henderson2017efficient, title={Efficient Natural Language Response Suggestion for Smart Reply}, author={Matthew Henderson and Rami Al-Rfou and Brian Strope and Yun-hsuan Sung and Laszlo Lukacs and Ruiqi Guo and Sanjiv Kumar and Balint Miklos and Ray Kurzweil}, year={2017}, eprint={1705.00652}, archivePrefix={arXiv}, primaryClass={cs.CL} } ```