CoolFace
Modelpublic

celik-muhammed/all-MiniLM-L6-v2-finetuned-imdb

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

SentenceTransformer based on sentence-transformers/all-MiniLM-L6-v2

This is a sentence-transformers model finetuned from sentence-transformers/all-MiniLM-L6-v2 on the imdb-triplet dataset. It maps sentences & paragraphs to a 384-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-MiniLM-L6-v2 <!-- at revision 8b3219a92973c328a8e22fadcfa821b5dc75636a -->
  • —Maximum Sequence Length: 256 tokens
  • —Output Dimensionality: 384 tokens
  • —Similarity Function: Cosine Similarity
  • —Training Dataset:
  • —imdb-triplet <!-- - Language: Unknown --> <!-- - License: Unknown -->

Model Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 256, 'do_lower_case': False}) with Transformer model: BertModel 
  (1): Pooling({'word_embedding_dimension': 384, '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("celik-muhammed/all-MiniLM-L6-v2-finetuned-imdb")
# Run inference
sentences = [
    ' "Oliver Twist" (1985)  In a storm, in a workhouse, to a nameless woman, young Oliver Twist is born into parish care where he\'s overworked and underfed. As he grows older his adventures take him from the countryside to London, through harsh treatment, kindness, an undertaker, and a thieves\' dens, where he makes friends and enemies. But all the time he is pursued by the mysterious Monks, who hires Fagin to turn Oliver into a thief. Oliver is rescued by chance and kind friends. But it\'s a puzzle of legitimacy, inheritance, and identity that Oliver\'s friends must attempt to unravel before Monks can destroy Oliver.',
    'drama',
    'documentary',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 384]

# 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

Binary Classification
MetricValue
cosine_accuracy0.9007
cosineaccuracythreshold0.602
cosine_f10.4643
cosinef1threshold0.5201
cosine_precision0.4201
cosine_recall0.5189
cosine_ap0.4637
dot_accuracy0.9007
dotaccuracythreshold0.602
dot_f10.4643
dotf1threshold0.5201
dot_precision0.4201
dot_recall0.5189
dot_ap0.4637
manhattan_accuracy0.9003
manhattanaccuracythreshold13.5474
manhattan_f10.4582
manhattanf1threshold15.1497
manhattan_precision0.4095
manhattan_recall0.52
manhattan_ap0.4579
euclidean_accuracy0.9007
euclideanaccuracythreshold0.8922
euclidean_f10.4643
euclideanf1threshold0.9797
euclidean_precision0.4201
euclidean_recall0.5189
euclidean_ap0.4637
max_accuracy0.9007
maxaccuracythreshold13.5474
max_f10.4643
maxf1threshold15.1497
max_precision0.4201
max_recall0.52
max_ap0.4637
Triplet
MetricValue
cosine_accuracy0.6382
dot_accuracy0.3618
manhattan_accuracy0.6227
euclidean_accuracy0.6382
max_accuracy0.6382

<!--

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

imdb-triplet
  • —Dataset: imdb-triplet
  • —Size: 43,371 training samples
  • —Columns: <code>anchor</code> and <code>positive</code>
  • —Approximate statistics based on the first 1000 samples: | | anchor | positive | |:--------|:-------------------------------------------------------------------------------------|:-------------------------------------------------------------------------------| | type | string | string | | details | <ul><li>min: 31 tokens</li><li>mean: 129.65 tokens</li><li>max: 256 tokens</li></ul> | <ul><li>min: 3 tokens</li><li>mean: 3.0 tokens</li><li>max: 3 tokens</li></ul> |
  • —Samples: | anchor | positive | |:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-------------------| | <code> A Metafísica dos Chocolates (1967) Beautiful girls (pre-teens, adolescents, and young women) in street scenes and one of them visiting a chocolate factory, where all the workers are young women, too. A poetic text and an extract from a major Portuguese poet, convey to us the sensual feeling of choosing, unwrapping, and munching chocolate.</code> | <code>short</code> | | <code> Thai Jashe! (2016) Thai Jashe! is an upcoming Gujarati film written and directed by Nirav Barot. It is about the struggles of a middle class man to achieve his goals in the metro-city Ahmedabad. The film stars Manoj Joshi, Malhar Thakar and Monal Gajjar.</code> | <code>drama</code> | | <code> Vuelco (2005) A teenage boy rides out of town to meet a a girl in the countryside. She is deaf, and he explains the different means he uses to get her attention when she has not seen him. Then they say goodbye, with one poignant hug and a desperate yell punctuating their final farewell.</code> | <code>short</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: 256
  • —per_device_eval_batch_size: 256
  • —num_train_epochs: 5
  • —warmup_ratio: 0.1
  • —fp16: True
  • —batch_sampler: no_duplicates
  • —multi_dataset_batch_sampler: round_robin
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: 256
  • —per_device_eval_batch_size: 256
  • —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: 5
  • —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
  • —batch_sampler: no_duplicates
  • —multi_dataset_batch_sampler: round_robin

</details>

Training Logs

EpochStepTraining Lossmax_accuracymax_ap
00-0.63820.2004
0.58821001.7867-0.3542
1.17652001.3073-0.4564
1.76473001.266-0.3862
2.35294001.1889-0.4011
2.94125001.1554-0.4398
3.52946001.1558-0.4386
4.11767001.1555-0.4566
4.70598001.0835-0.4637

Framework Versions

  • —Python: 3.10.13
  • —Sentence Transformers: 3.0.1
  • —Transformers: 4.41.2
  • —PyTorch: 2.1.2
  • —Accelerate: 0.30.1
  • —Datasets: 2.19.2
  • —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. -->