CoolFace
Modelpublic

carnival13/all-mpnet-base-v2-modulepred

sourceHugging Faceupdated 2y agoView on Hugging Face
0likes85downloads
Model Card

SentenceTransformer based on sentence-transformers/all-mpnet-base-v2

This is a sentence-transformers model finetuned from sentence-transformers/all-mpnet-base-v2 on the csv 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: sentence-transformers/all-mpnet-base-v2 <!-- at revision f1b1b820e405bb8644f5e8d9a3b98f9c9e0a3c58 -->
  • Maximum Sequence Length: 384 tokens
  • Output Dimensionality: 768 tokens
  • Similarity Function: Cosine Similarity
  • Training Dataset:
  • csv <!-- - Language: Unknown --> <!-- - License: Unknown -->

Model Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 384, 'do_lower_case': False}) with Transformer model: MPNetModel 
  (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})
  (2): Normalize()
)

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("carnival13/all-mpnet-base-v2-modulepred")
# Run inference
sentences = [
    'module: bread ambient group: bread ambient supergroup: food ambient example descriptions: 1 war 3 toastie 400 g cc 90 varburtons bread tovis snelwrspmpkin 800 g warbutons medium bread spk giant crumpets z hovis med wht 600 g sandwich thins 5 pk warb pk crumpets mission plain tortilla 25 cm warburtons 4 protein thin bagels hovis soft wet med hovis wholemefl pataks pappadums 6 pk warb so bth disc pappajuns',
    'retailer: crispcorner description: kingsmill 5050 medius bread 800 g',
    'retailer: vitalveg description: ready to eat prun',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 768]

# Get the similarity scores for the embeddings
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [3, 3]

<!--

Direct Usage (Transformers)

<details><summary>Click to see the direct usage in Transformers</summary>

</details> -->

<!--

Downstream Usage (Sentence Transformers)

You can finetune this model on your own dataset.

<details><summary>Click to expand</summary>

</details> -->

<!--

Out-of-Scope Use

List how the model may foreseeably be misused and address what users ought not to do with the model. -->

Evaluation

Metrics

Information Retrieval
MetricValue
cosine_accuracy@10.4988
cosine_accuracy@30.6342
cosine_accuracy@50.7102
cosine_accuracy@100.7838
cosine_precision@10.4988
cosine_precision@30.2114
cosine_precision@50.142
cosine_precision@100.0784
cosine_recall@10.4988
cosine_recall@30.6342
cosine_recall@50.7102
cosine_recall@100.7838
cosine_ndcg@100.6324
cosine_mrr@100.585
cosine_map@1000.591

<!--

Bias, Risks and Limitations

What are the known or foreseeable issues stemming from this model? You could also flag here known failure cases or weaknesses of the model. -->

<!--

Recommendations

What are recommendations with respect to the foreseeable issues? For example, filtering explicit content. -->

Training Details

Training Dataset

csv
  • Dataset: csv
  • Size: 505,654 training samples
  • Columns: <code>query</code> and <code>full_doc</code>
  • Approximate statistics based on the first 1000 samples: | | query | full_doc | |:--------|:----------------------------------------------------------------------------------|:-------------------------------------------------------------------------------------| | type | string | string | | details | <ul><li>min: 10 tokens</li><li>mean: 14.8 tokens</li><li>max: 23 tokens</li></ul> | <ul><li>min: 83 tokens</li><li>mean: 115.71 tokens</li><li>max: 176 tokens</li></ul> |
  • Samples: | query | full_doc | |:--------------------------------------------------------------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | <code>retailer: vitalveg description: twin xira</code> | <code>module: chocolate single variety group: chocolate chocolate substitutes supergroup: biscuits & confectionery & snacks example descriptions: milky way twin 43 crml prtzlarum rai galaxy mnstr pipnut 34 g dark pb cup nest mnch foge p nestle smarties shar dark choc chun x 10 pk kinder bueno 1 dr oetker 72 da poppets choc offee pouch yorkie biscuit zpk haltesers truffles bog cadbury mini snowballs p terrys choc orange 3435 g galaxy fusion dark 704 100 g</code> | | <code>retailer: freshnosh description: mab pop sockt</code> | <code>module: clothing & personal accessories group: clothing & personal accessories supergroup: clothing & personal accessories example descriptions: pk blue trad ging 40 d 3 pk opaque tight t 74 green cali jogger ss animal swing yb denim stripe pump aw 21 ff vest aw 21 girls 5 pk lounge toplo sku 1 pk fleecy tight knitted pom hat pk briefs timeless double pom pomkids hat cute face twosie sku coral jersey str pun faded petrol t 32 seamfree waist c</code> | | <code>retailer: nourify description: bts prwn ckt swch</code> | <code>module: bread sandwiches filled rolls wraps group: bread fresh fixed weight supergroup: food perishable example descriptions: us chicken may hamche sw jo dbs allbtr pp st 4 js baconfree ran posh cheesy bea naturify cb swich sp eggcress f cpdfeggbacon js cheeseonion sv duck wrap reduced price takeout egg mayo sandwich 7 takeout cheeseonion s wich 2 ad leicester plough bts cheese pman 2 1 cp bacon chese s</code> |
  • Loss: <code>MultipleNegativesRankingLoss</code> with these parameters:
json
  {
      "scale": 20.0,
      "similarity_fct": "cos_sim"
  }

Training Hyperparameters

Non-Default Hyperparameters
  • eval_strategy: steps
  • per_device_train_batch_size: 4
  • per_device_eval_batch_size: 16
  • learning_rate: 2e-05
  • num_train_epochs: 1
  • warmup_ratio: 0.1
  • fp16: True
  • batch_sampler: no_duplicates
All Hyperparameters

<details><summary>Click to expand</summary>

  • overwrite_output_dir: False
  • do_predict: False
  • eval_strategy: steps
  • prediction_loss_only: True
  • per_device_train_batch_size: 4
  • 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
  • torch_empty_cache_steps: None
  • learning_rate: 2e-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: 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: {'minnumparams': 0, 'xla': False, 'xlafsdpv2': False, 'xlafsdpgrad_ckpt': False}
  • fsdp_transformer_layer_cls_to_wrap: None
  • accelerator_config: {'splitbatches': False, 'dispatchbatches': None, 'evenbatches': True, 'useseedablesampler': True, 'nonblocking': False, 'gradientaccumulationkwargs': 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: 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_eval_metrics: False
  • eval_on_start: False
  • eval_use_gather_object: False
  • batch_sampler: no_duplicates
  • multi_dataset_batch_sampler: proportional

</details>

Training Logs

EpochStepTraining Losssentence-transformers/all-mpnet-base-v2_cosine_map@100
0.00161001.61950.2567
0.00322001.470.3166
0.00473001.27030.3814
0.00634001.13350.4495
0.00795000.99420.4827
0.00956000.90040.5058
0.01117000.88380.5069
0.00161000.9510.5197
0.00322000.95970.5323
0.00473000.92410.5406
0.00634000.82250.5484
0.00795000.79610.5568
0.00956000.75360.5621
0.01117000.73870.5623
0.01278000.77160.5746
0.01429000.79210.5651
0.015810000.77440.5707
0.017411000.80210.5770
0.019012000.7320.5756
0.020613000.7640.5798
0.022114000.77260.5873
0.023715000.66760.5921
0.025316000.68510.5841
0.026917000.74040.5964
0.028518000.67980.5928
0.030119000.64850.5753
0.031620000.6490.5839
0.033221000.67390.5891
0.034822000.66160.6045
0.036423000.62870.5863
0.038024000.66020.5898
0.039625000.56670.5910

Framework Versions

  • Python: 3.10.14
  • Sentence Transformers: 3.1.1
  • Transformers: 4.44.2
  • PyTorch: 2.4.0+cu124
  • Accelerate: 0.33.0
  • Datasets: 2.21.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",
}
MultipleNegativesRankingLoss
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}
}

<!--

Glossary

Clearly define terms in order to be accessible across audiences. -->

<!--

Model Card Authors

Lists the people who create the model card, providing recognition and accountability for the detailed work that goes into its construction. -->

<!--

Model Card Contact

Provides a way for people who have updates to the Model Card, suggestions, or questions, to contact the Model Card authors. -->