--- language: - en library_name: sentence-transformers tags: - sentence-transformers - sentence-similarity - feature-extraction - loss:TripletLoss base_model: distilbert/distilbert-base-uncased metrics: - cosine_accuracy - dot_accuracy - manhattan_accuracy - euclidean_accuracy - max_accuracy widget: - source_sentence: All charts rank the top 100. sentences: - 'There are two primary charts: Gaon Album Chart and Gaon Digital Chart.' - 'Regional Preferente de Cataluña (3): 1999-00, 2002-03, 2008-09.' - Kyūsaku was born in Fukuoka city, Fukuoka prefecture as Sugiyama Naoki. - source_sentence: Valley of the Giants (2004) . sentences: - '"That Girl" (by Hayley) (2001) - AUS: No. 53 [REF].' - Nuangola Outlet is situated just south of Penobscot Knob [REF]. - Like Sir John Moore, the Craufurd family originated from Ayrshire. - source_sentence: Flanagan is located at [REF]. sentences: - Sharpes is located at (28.441281, -80.761019) [REF]. - His father was Gallus Jacob Baumgartner, a prominent statesman. - He served terms on the city council in 1654, 1660 and 1666. - source_sentence: Fox Sports 1 Purple Bel-Air . sentences: - Victory 93.7 The Victory 93.7 FM-WTKB ATWOOD-MILAN . - Greenwood & Batley also made a number of Coke oven locomotives. - Oltmans was born into a wealthy family with roots in the Dutch East Indies. - source_sentence: 'Points awarded in the final: .' sentences: - Points awarded in the final:[REF] . - Bishop Ludden recently implemented an innovative House Program. - Douglas Wheelock was born in Binghamton, New York to Olin and Margaret Wheelock. pipeline_tag: sentence-similarity co2_eq_emissions: emissions: 3.4895934031398 energy_consumed: 0.008977554535710646 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: 0.045 hardware_used: 1 x NVIDIA GeForce RTX 3090 model-index: - name: SentenceTransformer based on distilbert/distilbert-base-uncased results: - task: type: triplet name: Triplet dataset: name: wikipedia sections dev type: wikipedia-sections-dev metrics: - type: cosine_accuracy value: 0.733 name: Cosine Accuracy - type: dot_accuracy value: 0.269 name: Dot Accuracy - type: manhattan_accuracy value: 0.726 name: Manhattan Accuracy - type: euclidean_accuracy value: 0.727 name: Euclidean Accuracy - type: max_accuracy value: 0.733 name: Max Accuracy - task: type: triplet name: Triplet dataset: name: wikipedia sections test type: wikipedia-sections-test metrics: - type: cosine_accuracy value: 0.7 name: Cosine Accuracy - type: dot_accuracy value: 0.306 name: Dot Accuracy - type: manhattan_accuracy value: 0.706 name: Manhattan Accuracy - type: euclidean_accuracy value: 0.708 name: Euclidean Accuracy - type: max_accuracy value: 0.708 name: Max Accuracy --- # SentenceTransformer based on distilbert/distilbert-base-uncased This is a [sentence-transformers](https://www.SBERT.net) model finetuned from [distilbert/distilbert-base-uncased](https://huggingface.co/distilbert/distilbert-base-uncased) on the [sentence-transformers/wikipedia-sections](https://huggingface.co/datasets/sentence-transformers/wikipedia-sections) dataset. It maps sentences & paragraphs to a 768-dimensional dense vector space and can be used for semantic textual similarity, semantic search, paraphrase mining, text classification, clustering, and more. ## Model Details ### Model Description - **Model Type:** Sentence Transformer - **Base model:** [distilbert/distilbert-base-uncased](https://huggingface.co/distilbert/distilbert-base-uncased) - **Maximum Sequence Length:** 512 tokens - **Output Dimensionality:** 768 tokens - **Similarity Function:** Cosine Similarity - **Training Dataset:** - [sentence-transformers/wikipedia-sections](https://huggingface.co/datasets/sentence-transformers/wikipedia-sections) - **Language:** en ### Model Sources - **Documentation:** [Sentence Transformers Documentation](https://sbert.net) - **Repository:** [Sentence Transformers on GitHub](https://github.com/UKPLab/sentence-transformers) - **Hugging Face:** [Sentence Transformers on Hugging Face](https://huggingface.co/models?library=sentence-transformers) ### Full Model Architecture ``` SentenceTransformer( (0): Transformer({'max_seq_length': 512, 'do_lower_case': False}) with Transformer model: DistilBertModel (1): Pooling({'word_embedding_dimension': 768, 'pooling_mode_cls_token': False, 'pooling_mode_mean_tokens': True, 'pooling_mode_max_tokens': False, 'pooling_mode_mean_sqrt_len_tokens': False, 'pooling_mode_weightedmean_tokens': False, 'pooling_mode_lasttoken': False, 'include_prompt': True}) ) ``` ## 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 SentenceTransformer # Download from the 🤗 Hub model = SentenceTransformer("tomaarsen/distilbert-base-uncased-wikipedia-sections-triplet") # Run inference sentences = [ 'Points awarded in the final: .', 'Points awarded in the final:[REF] .', 'Bishop Ludden recently implemented an innovative House Program.', ] embeddings = model.encode(sentences) print(embeddings.shape) # [3, 768] # Get the similarity scores for the embeddings similarities = model.similarity(embeddings) print(similarities.shape) # [3, 3] ``` ## Evaluation ### Metrics #### Triplet * Dataset: `wikipedia-sections-dev` * Evaluated with [TripletEvaluator](https://sbert.net/docs/package_reference/evaluation.html#sentence_transformers.evaluation.TripletEvaluator) | Metric | Value | |:-------------------|:----------| | cosine_accuracy | 0.733 | | dot_accuracy | 0.269 | | manhattan_accuracy | 0.726 | | euclidean_accuracy | 0.727 | | **max_accuracy** | **0.733** | #### Triplet * Dataset: `wikipedia-sections-test` * Evaluated with [TripletEvaluator](https://sbert.net/docs/package_reference/evaluation.html#sentence_transformers.evaluation.TripletEvaluator) | Metric | Value | |:-------------------|:----------| | cosine_accuracy | 0.7 | | dot_accuracy | 0.306 | | manhattan_accuracy | 0.706 | | euclidean_accuracy | 0.708 | | **max_accuracy** | **0.708** | ## Training Details ### Training Dataset #### sentence-transformers/wikipedia-sections * Dataset: [sentence-transformers/wikipedia-sections](https://huggingface.co/datasets/sentence-transformers/wikipedia-sections) at [576bb61](https://huggingface.co/datasets/sentence-transformers/wikipedia-sections/tree/576bb61f0fc9ebc728b742f91bd5c81cb7d92c71) * Size: 10,000 training samples * Columns: anchor, positive, and negative * Approximate statistics based on the first 1000 samples: | | anchor | positive | negative | |:--------|:----------------------------------------------------------------------------------|:----------------------------------------------------------------------------------|:-----------------------------------------------------------------------------------| | type | string | string | string | | details | | | | * Samples: | anchor | positive | negative | |:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | Bailey was educated at Ipswich School (1972-79) and at the College of St Hild and St Bede University of Durham (1979-82), where he obtained a first-class degree in Economic history. | He won the Cricket Society's Wetherell Award in 1979 for the best public school all-rounder and played for the NCA Young Cricketers in 1980 [REF]. | Bailey was a Fellow of Gonville and Caius College, Cambridge, between 1986 and 1996, lecturing in history and working as Admissions' Tutor. | | The record design and production was done by Ivan Stančić Piko and the cover was chosen to be "The Red Nude" act by Amedeo Modigliani. | VIS Idoli was also released as a double cassette EP with Film's Live in Kulušić EP entitled Zajedno. | Promotional video was recorded for "Devojko mala" as the TV stations already broadcast the video for "Malena" and "Zašto su danas devojke ljute", which had its TV premiere on the 1981 New Year's Eve as part of Rokenroler show. | | Promotional video was recorded for "Devojko mala" as the TV stations already broadcast the video for "Malena" and "Zašto su danas devojke ljute", which had its TV premiere on the 1981 New Year's Eve as part of Rokenroler show. | "Dok dobuje kiša (u ritmu tam-tama)" and "Malena" appeared on Vlada Divljan's 1996 live album Odbrana i zaštita. | The record design and production was done by Ivan Stančić Piko and the cover was chosen to be "The Red Nude" act by Amedeo Modigliani. | * Loss: [TripletLoss](https://sbert.net/docs/package_reference/losses.html#tripletloss) with these parameters: ```json { "distance_metric": "TripletDistanceMetric.EUCLIDEAN", "triplet_margin": 5 } ``` ### Evaluation Dataset #### sentence-transformers/wikipedia-sections * Dataset: [sentence-transformers/wikipedia-sections](https://huggingface.co/datasets/sentence-transformers/wikipedia-sections) at [576bb61](https://huggingface.co/datasets/sentence-transformers/wikipedia-sections/tree/576bb61f0fc9ebc728b742f91bd5c81cb7d92c71) * Size: 1,000 evaluation samples * Columns: anchor, positive, and negative * Approximate statistics based on the first 1000 samples: | | anchor | positive | negative | |:--------|:----------------------------------------------------------------------------------|:----------------------------------------------------------------------------------|:----------------------------------------------------------------------------------| | type | string | string | string | | details | | | | * Samples: | anchor | positive | negative | |:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | Modern airforces have become dependent on airborne radars typically carried by converted airliners and transport aircraft such as the E-3 Sentry and A-50 'Mainstay'. | In late 2003, the missile was offered again on the export market as the 172S-1 [REF]. | The mockup shown in 1993 had a strong resemblance to the Buk airframe, but since the Indians became involved there have been some changes. | | In May 2005 it was reported that there were two versions, with and without a rocket booster, with ranges of 400 km and 300 km respectively [REF]. | Guidance is by inertial navigation until the missile is close enough to the target to use active radar for terminal homing [REF]. | The missile resurfaced as the KS-172 in 1999,[REF] as part of a new export-led strategy[REF] whereby foreign investment in a -range export model[REF] would ultimately fund a version for the Russian airforce [REF]. | | Morris was selected in the sixth round of the 2012 NFL Draft with the 173rd overall pick by the Washington Redskins [REF]. | The day before the season opener, coach Mike Shanahan announced that Morris would be the starting running back. | Despite being able to afford a new car, he still drives his 1991 Mazda 626, which he nicknamed "Bentley" [REF]. | * Loss: [TripletLoss](https://sbert.net/docs/package_reference/losses.html#tripletloss) with these parameters: ```json { "distance_metric": "TripletDistanceMetric.EUCLIDEAN", "triplet_margin": 5 } ``` ### Training Hyperparameters #### Non-Default Hyperparameters - `eval_strategy`: steps - `per_device_train_batch_size`: 16 - `per_device_eval_batch_size`: 16 - `num_train_epochs`: 1 - `warmup_ratio`: 0.1 - `fp16`: True #### All Hyperparameters
Click to expand - `overwrite_output_dir`: False - `do_predict`: False - `eval_strategy`: steps - `prediction_loss_only`: False - `per_device_train_batch_size`: 16 - `per_device_eval_batch_size`: 16 - `per_gpu_train_batch_size`: None - `per_gpu_eval_batch_size`: None - `gradient_accumulation_steps`: 1 - `eval_accumulation_steps`: None - `learning_rate`: 5e-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 - `no_cuda`: False - `use_cpu`: False - `use_mps_device`: False - `seed`: 42 - `data_seed`: None - `jit_mode_eval`: False - `use_ipex`: False - `bf16`: False - `fp16`: True - `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`: False - `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`: None - `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`: False - `hub_always_push`: False - `gradient_checkpointing`: False - `gradient_checkpointing_kwargs`: None - `include_inputs_for_metrics`: False - `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_sampler`: batch_sampler - `multi_dataset_batch_sampler`: proportional
### Training Logs | Epoch | Step | Training Loss | loss | wikipedia-sections-dev_max_accuracy | wikipedia-sections-test_max_accuracy | |:-----:|:----:|:-------------:|:------:|:-----------------------------------:|:------------------------------------:| | 0.16 | 100 | 3.8017 | 3.4221 | 0.698 | - | | 0.32 | 200 | 3.0703 | 3.3261 | 0.717 | - | | 0.48 | 300 | 2.9683 | 3.2490 | 0.728 | - | | 0.64 | 400 | 2.7731 | 3.2340 | 0.733 | - | | 0.8 | 500 | 2.9689 | 3.1583 | 0.737 | - | | 0.96 | 600 | 2.8955 | 3.1480 | 0.733 | - | | 1.0 | 625 | - | - | - | 0.708 | ### Environmental Impact Carbon emissions were measured using [CodeCarbon](https://github.com/mlco2/codecarbon). - **Energy Consumed**: 0.009 kWh - **Carbon Emitted**: 0.003 kg of CO2 - **Hours Used**: 0.045 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: 3.0.0.dev0 - Transformers: 4.41.0.dev0 - PyTorch: 2.3.0+cu121 - Accelerate: 0.26.1 - Datasets: 2.18.0 - Tokenizers: 0.19.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", } ``` #### TripletLoss ```bibtex @misc{hermans2017defense, title={In Defense of the Triplet Loss for Person Re-Identification}, author={Alexander Hermans and Lucas Beyer and Bastian Leibe}, year={2017}, eprint={1703.07737}, archivePrefix={arXiv}, primaryClass={cs.CV} } ```