fine_tuned_model_10 / README.md
srikarvar's picture
Add new SentenceTransformer model.
1faaf06 verified
metadata
base_model: srikarvar/fine_tuned_model_5
library_name: sentence-transformers
metrics:
  - cosine_accuracy@1
  - cosine_accuracy@3
  - cosine_accuracy@5
  - cosine_accuracy@10
  - cosine_precision@1
  - cosine_precision@3
  - cosine_precision@5
  - cosine_precision@10
  - cosine_recall@1
  - cosine_recall@3
  - cosine_recall@5
  - cosine_recall@10
  - cosine_ndcg@10
  - cosine_mrr@10
  - cosine_map@100
  - 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
pipeline_tag: sentence-similarity
tags:
  - sentence-transformers
  - sentence-similarity
  - feature-extraction
  - generated_from_trainer
  - dataset_size:560
  - loss:MultipleNegativesRankingLoss
widget:
  - source_sentence: >-
      The `num_steps` parameter is employed to indicate the quantity of steps
      when preparing the recipe.
    sentences:
      - >-
        The `num_steps` parameter is used to specify the number of steps when
        preparing the recipe.
      - >-
        The `rename_fields` function creates a new form with fields renamed to
        provided names.
      - >-
        The main difference between a ProductList and an InventoryList is that a
        ProductList provides random access to the items, while an InventoryList
        updates progressively as you browse the list.
  - source_sentence: >-
      The "extract" function creates a portion of the data without making a
      copy, with the possibility to indicate an offset and size.
    sentences:
      - 'Sure! Here''s an example:'
      - >-
        You can create a sauce by combining the ingredients and using the
        `with_stirring()` function to mix them evenly.
      - >-
        The "extract" function computes a zero-copy subset of the data, with the
        option to specify an offset and length.
  - source_sentence: The `iterate_folder` function cycles through files inside a folder.
    sentences:
      - >-
        You can find it in the latest version of the user manual. Click on the
        provided link to access the main version.
      - The `iterate_folder` function iterates over files within a folder.
      - It is a guide on how to process any type of module.
  - source_sentence: >-
      Technical descriptions of the framework’s APIs and modules can be found in
      the reference section.
    sentences:
      - >-
        The `to_spreadsheet` method in the Plant class is used to convert the
        PlantData to a `SpreadsheetRow` or `SpreadsheetTable`.
      - >-
        Yes, there are technical details available in the reference section that
        explain how the framework’s APIs and modules work.
      - >-
        The `storage_dir` parameter is used to specify the directory to store
        ingredients.
  - source_sentence: >-
      Once you have completed your library script, you can generate a library
      card and submit it to the server.
    sentences:
      - >-
        Once your library script is ready, you can create a library card and
        upload it to the server.
      - It replaces the document's header.
      - >-
        Many product formats are supported, including CSV, XML, JSON, image, and
        video files.
model-index:
  - name: SentenceTransformer based on srikarvar/fine_tuned_model_5
    results:
      - task:
          type: information-retrieval
          name: Information Retrieval
        dataset:
          name: e5 cogcache small refined
          type: e5-cogcache-small-refined
        metrics:
          - type: cosine_accuracy@1
            value: 0.9821428571428571
            name: Cosine Accuracy@1
          - type: cosine_accuracy@3
            value: 0.9821428571428571
            name: Cosine Accuracy@3
          - type: cosine_accuracy@5
            value: 1
            name: Cosine Accuracy@5
          - type: cosine_accuracy@10
            value: 1
            name: Cosine Accuracy@10
          - type: cosine_precision@1
            value: 0.9821428571428571
            name: Cosine Precision@1
          - type: cosine_precision@3
            value: 0.3273809523809524
            name: Cosine Precision@3
          - type: cosine_precision@5
            value: 0.19999999999999998
            name: Cosine Precision@5
          - type: cosine_precision@10
            value: 0.09999999999999999
            name: Cosine Precision@10
          - type: cosine_recall@1
            value: 0.9821428571428571
            name: Cosine Recall@1
          - type: cosine_recall@3
            value: 0.9821428571428571
            name: Cosine Recall@3
          - type: cosine_recall@5
            value: 1
            name: Cosine Recall@5
          - type: cosine_recall@10
            value: 1
            name: Cosine Recall@10
          - type: cosine_ndcg@10
            value: 0.9898335099655963
            name: Cosine Ndcg@10
          - type: cosine_mrr@10
            value: 0.9866071428571429
            name: Cosine Mrr@10
          - type: cosine_map@100
            value: 0.9866071428571429
            name: Cosine Map@100
          - type: dot_accuracy@1
            value: 0.9821428571428571
            name: Dot Accuracy@1
          - type: dot_accuracy@3
            value: 0.9821428571428571
            name: Dot Accuracy@3
          - type: dot_accuracy@5
            value: 1
            name: Dot Accuracy@5
          - type: dot_accuracy@10
            value: 1
            name: Dot Accuracy@10
          - type: dot_precision@1
            value: 0.9821428571428571
            name: Dot Precision@1
          - type: dot_precision@3
            value: 0.3273809523809524
            name: Dot Precision@3
          - type: dot_precision@5
            value: 0.19999999999999998
            name: Dot Precision@5
          - type: dot_precision@10
            value: 0.09999999999999999
            name: Dot Precision@10
          - type: dot_recall@1
            value: 0.9821428571428571
            name: Dot Recall@1
          - type: dot_recall@3
            value: 0.9821428571428571
            name: Dot Recall@3
          - type: dot_recall@5
            value: 1
            name: Dot Recall@5
          - type: dot_recall@10
            value: 1
            name: Dot Recall@10
          - type: dot_ndcg@10
            value: 0.9898335099655963
            name: Dot Ndcg@10
          - type: dot_mrr@10
            value: 0.9866071428571429
            name: Dot Mrr@10
          - type: dot_map@100
            value: 0.9866071428571429
            name: Dot Map@100
          - type: cosine_accuracy@1
            value: 0.9821428571428571
            name: Cosine Accuracy@1
          - type: cosine_accuracy@3
            value: 0.9821428571428571
            name: Cosine Accuracy@3
          - type: cosine_accuracy@5
            value: 1
            name: Cosine Accuracy@5
          - type: cosine_accuracy@10
            value: 1
            name: Cosine Accuracy@10
          - type: cosine_precision@1
            value: 0.9821428571428571
            name: Cosine Precision@1
          - type: cosine_precision@3
            value: 0.3273809523809524
            name: Cosine Precision@3
          - type: cosine_precision@5
            value: 0.19999999999999998
            name: Cosine Precision@5
          - type: cosine_precision@10
            value: 0.09999999999999999
            name: Cosine Precision@10
          - type: cosine_recall@1
            value: 0.9821428571428571
            name: Cosine Recall@1
          - type: cosine_recall@3
            value: 0.9821428571428571
            name: Cosine Recall@3
          - type: cosine_recall@5
            value: 1
            name: Cosine Recall@5
          - type: cosine_recall@10
            value: 1
            name: Cosine Recall@10
          - type: cosine_ndcg@10
            value: 0.9898335099655963
            name: Cosine Ndcg@10
          - type: cosine_mrr@10
            value: 0.9866071428571429
            name: Cosine Mrr@10
          - type: cosine_map@100
            value: 0.9866071428571429
            name: Cosine Map@100
          - type: dot_accuracy@1
            value: 0.9821428571428571
            name: Dot Accuracy@1
          - type: dot_accuracy@3
            value: 0.9821428571428571
            name: Dot Accuracy@3
          - type: dot_accuracy@5
            value: 1
            name: Dot Accuracy@5
          - type: dot_accuracy@10
            value: 1
            name: Dot Accuracy@10
          - type: dot_precision@1
            value: 0.9821428571428571
            name: Dot Precision@1
          - type: dot_precision@3
            value: 0.3273809523809524
            name: Dot Precision@3
          - type: dot_precision@5
            value: 0.19999999999999998
            name: Dot Precision@5
          - type: dot_precision@10
            value: 0.09999999999999999
            name: Dot Precision@10
          - type: dot_recall@1
            value: 0.9821428571428571
            name: Dot Recall@1
          - type: dot_recall@3
            value: 0.9821428571428571
            name: Dot Recall@3
          - type: dot_recall@5
            value: 1
            name: Dot Recall@5
          - type: dot_recall@10
            value: 1
            name: Dot Recall@10
          - type: dot_ndcg@10
            value: 0.9898335099655963
            name: Dot Ndcg@10
          - type: dot_mrr@10
            value: 0.9866071428571429
            name: Dot Mrr@10
          - type: dot_map@100
            value: 0.9866071428571429
            name: Dot Map@100

SentenceTransformer based on srikarvar/fine_tuned_model_5

This is a sentence-transformers model finetuned from srikarvar/fine_tuned_model_5 on the json 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: srikarvar/fine_tuned_model_5
  • Maximum Sequence Length: 512 tokens
  • Output Dimensionality: 384 tokens
  • Similarity Function: Cosine Similarity
  • Training Dataset:
    • json

Model Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 512, '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:

pip install -U sentence-transformers

Then you can load this model and run inference.

from sentence_transformers import SentenceTransformer

# Download from the 🤗 Hub
model = SentenceTransformer("srikarvar/fine_tuned_model_10")
# Run inference
sentences = [
    'Once you have completed your library script, you can generate a library card and submit it to the server.',
    'Once your library script is ready, you can create a library card and upload it to the server.',
    "It replaces the document's header.",
]
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]

Evaluation

Metrics

Information Retrieval

Metric Value
cosine_accuracy@1 0.9821
cosine_accuracy@3 0.9821
cosine_accuracy@5 1.0
cosine_accuracy@10 1.0
cosine_precision@1 0.9821
cosine_precision@3 0.3274
cosine_precision@5 0.2
cosine_precision@10 0.1
cosine_recall@1 0.9821
cosine_recall@3 0.9821
cosine_recall@5 1.0
cosine_recall@10 1.0
cosine_ndcg@10 0.9898
cosine_mrr@10 0.9866
cosine_map@100 0.9866
dot_accuracy@1 0.9821
dot_accuracy@3 0.9821
dot_accuracy@5 1.0
dot_accuracy@10 1.0
dot_precision@1 0.9821
dot_precision@3 0.3274
dot_precision@5 0.2
dot_precision@10 0.1
dot_recall@1 0.9821
dot_recall@3 0.9821
dot_recall@5 1.0
dot_recall@10 1.0
dot_ndcg@10 0.9898
dot_mrr@10 0.9866
dot_map@100 0.9866

Information Retrieval

Metric Value
cosine_accuracy@1 0.9821
cosine_accuracy@3 0.9821
cosine_accuracy@5 1.0
cosine_accuracy@10 1.0
cosine_precision@1 0.9821
cosine_precision@3 0.3274
cosine_precision@5 0.2
cosine_precision@10 0.1
cosine_recall@1 0.9821
cosine_recall@3 0.9821
cosine_recall@5 1.0
cosine_recall@10 1.0
cosine_ndcg@10 0.9898
cosine_mrr@10 0.9866
cosine_map@100 0.9866
dot_accuracy@1 0.9821
dot_accuracy@3 0.9821
dot_accuracy@5 1.0
dot_accuracy@10 1.0
dot_precision@1 0.9821
dot_precision@3 0.3274
dot_precision@5 0.2
dot_precision@10 0.1
dot_recall@1 0.9821
dot_recall@3 0.9821
dot_recall@5 1.0
dot_recall@10 1.0
dot_ndcg@10 0.9898
dot_mrr@10 0.9866
dot_map@100 0.9866

Training Details

Training Dataset

json

  • Dataset: json
  • Size: 560 training samples
  • Columns: anchor and positive
  • Approximate statistics based on the first 560 samples:
    anchor positive
    type string string
    details
    • min: 9 tokens
    • mean: 30.23 tokens
    • max: 98 tokens
    • min: 8 tokens
    • mean: 30.06 tokens
    • max: 98 tokens
  • Samples:
    anchor positive
    It retrieves items from a list. It selects items from a list.
    The goal of seasoning a cast iron pan is to create a non-stick surface and protect it from rust. The purpose of seasoning a cast iron pan is to create a non-stick surface and prevent rust.
    The Spark manual covers topics like data analysis, machine learning, graph processing, and stream processing. The Spark documentation covers topics such as data analysis, machine learning, graph processing, and stream processing.
  • Loss: MultipleNegativesRankingLoss with these parameters:
    {
        "scale": 20.0,
        "similarity_fct": "cos_sim"
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • eval_strategy: epoch
  • per_device_train_batch_size: 16
  • per_device_eval_batch_size: 16
  • learning_rate: 1e-05
  • warmup_ratio: 0.1
  • batch_sampler: no_duplicates

All Hyperparameters

Click to expand
  • overwrite_output_dir: False
  • do_predict: False
  • eval_strategy: epoch
  • prediction_loss_only: True
  • 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: 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: 3
  • 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: 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: 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: 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: proportional

Training Logs

Epoch Step Training Loss e5-cogcache-small-refined_cosine_map@100
0 0 - 0.9777
0.3125 10 0.0118 -
0.625 20 0.0025 -
0.9375 30 0.006 -
1.0 32 - 0.9866
1.25 40 0.0008 -
1.5625 50 0.0005 -
1.875 60 0.0011 -
2.0 64 - 0.9866
2.1875 70 0.0006 -
2.5 80 0.0003 -
2.8125 90 0.001 -
3.0 96 - 0.9866

Framework Versions

  • Python: 3.10.12
  • Sentence Transformers: 3.1.0
  • Transformers: 4.41.2
  • PyTorch: 2.1.2+cu121
  • Accelerate: 0.34.2
  • Datasets: 2.19.1
  • Tokenizers: 0.19.1

Citation

BibTeX

Sentence Transformers

@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

@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}
}