FT-triple-2 / README.md
Hgkang00's picture
Add new SentenceTransformer model.
bf5ec6c verified
metadata
language: []
library_name: sentence-transformers
tags:
  - sentence-transformers
  - sentence-similarity
  - feature-extraction
  - dataset_size:10K<n<100K
  - loss:TripletLoss
base_model: sentence-transformers/all-MiniLM-L6-v2
metrics:
  - cosine_accuracy
  - dot_accuracy
  - manhattan_accuracy
  - euclidean_accuracy
  - max_accuracy
widget:
  - source_sentence: The agoraphobic situations almost always provoke fear or anxiety.
    sentences:
      - >-
        Attending crowded events or public gatherings fills me with anxiety
        because of the fear of a potential threat in the crowd.
      - >-
        The struggle to focus during the day is often due to feeling exhausted
        even after a full night's sleep.
      - >-
        It's not uncommon for me to engage in risky behaviors like reckless
        driving or reckless sexual encounters.
  - source_sentence: Due to my insomnia, I have frequent headaches and muscle soreness.
    sentences:
      - My insomnia results in frequent headaches and muscle soreness for me.
      - >-
        My fear of heights prevents me from going on roller coasters or visiting
        scenic overlooks on mountains.
      - >-
        Focusing on tasks becomes challenging due to my constant worry about
        when the next panic attack will strike.
  - source_sentence: Commuting to work, even when it's a short distance, feels draining.
    sentences:
      - >-
        Even a short distance can make driving or commuting to work feel
        draining.
      - >-
        My fear of heights prevents me from going on roller coasters or visiting
        scenic overlooks on mountains.
      - >-
        The impact on my ability to focus on tasks is due to my constant worry
        about when the next panic attack will strike.
  - source_sentence: Frequent headaches and muscle soreness are a result of my insomnia.
    sentences:
      - >-
        My frequent headaches and muscle soreness are a direct result of my
        insomnia.
      - >-
        My fear of heights prevents me from going on roller coasters or visiting
        scenic overlooks on mountains.
      - >-
        Focusing on tasks becomes challenging due to my constant worry about
        when the next panic attack will strike.
  - source_sentence: Experience frequent headaches and muscle soreness due to my insomnia.
    sentences:
      - >-
        I experience frequent headaches and muscle soreness because of my
        insomnia.
      - >-
        The struggle to focus during the day is often due to feeling exhausted
        even after a full night's sleep.
      - >-
        Focusing on tasks becomes challenging due to my constant worry about
        when the next panic attack will strike.
pipeline_tag: sentence-similarity
model-index:
  - name: SentenceTransformer based on sentence-transformers/all-MiniLM-L6-v2
    results:
      - task:
          type: triplet
          name: Triplet
        dataset:
          name: FT triple
          type: FT-triple
        metrics:
          - type: cosine_accuracy
            value: 0.8093060785368478
            name: Cosine Accuracy
          - type: dot_accuracy
            value: 0.19069392146315223
            name: Dot Accuracy
          - type: manhattan_accuracy
            value: 0.8103819257665411
            name: Manhattan Accuracy
          - type: euclidean_accuracy
            value: 0.8093060785368478
            name: Euclidean Accuracy
          - type: max_accuracy
            value: 0.8103819257665411
            name: Max Accuracy

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

This is a sentence-transformers model finetuned from sentence-transformers/all-MiniLM-L6-v2. 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
  • Maximum Sequence Length: 256 tokens
  • Output Dimensionality: 384 tokens
  • Similarity Function: Cosine Similarity

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:

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("Hgkang00/FT-triple-2")
# Run inference
sentences = [
    'Experience frequent headaches and muscle soreness due to my insomnia.',
    'I experience frequent headaches and muscle soreness because of my insomnia.',
    "The struggle to focus during the day is often due to feeling exhausted even after a full night's sleep.",
]
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

Triplet

Metric Value
cosine_accuracy 0.8093
dot_accuracy 0.1907
manhattan_accuracy 0.8104
euclidean_accuracy 0.8093
max_accuracy 0.8104

Training Details

Training Dataset

Unnamed Dataset

  • Size: 52,000 training samples
  • Columns: anchor, positive, and negative
  • Approximate statistics based on the first 1000 samples:
    anchor positive negative
    type string string string
    details
    • min: 29 tokens
    • mean: 29.0 tokens
    • max: 29 tokens
    • min: 18 tokens
    • mean: 23.16 tokens
    • max: 29 tokens
    • min: 13 tokens
    • mean: 24.81 tokens
    • max: 42 tokens
  • Samples:
    anchor positive negative
    Presence of delusions, hallucinations or disorganized speech, for a significant portion of time within a 1-month period Even in the privacy of my room, I hear voices that tell me things that are not real frequently. My lack of pleasure in things I once enjoyed has caused me to lose interest in hobbies or activities that used to bring me joy.
    Presence of delusions, hallucinations or disorganized speech, for a significant portion of time within a 1-month period It's common for me to hear things that are not real, even when I'm in my room by myself. Starting multiple projects simultaneously during these episodes makes me feel like I can accomplish everything at once.
    Presence of delusions, hallucinations or disorganized speech, for a significant portion of time within a 1-month period Even in the privacy of my room, I hear voices that tell me things that are not real frequently. Even after a full night's sleep, I struggle to get out of bed in the morning, feeling tired.
  • Loss: TripletLoss with these parameters:
    {
        "distance_metric": "TripletDistanceMetric.EUCLIDEAN",
        "triplet_margin": 5
    }
    

Evaluation Dataset

Unnamed Dataset

  • Size: 3,718 evaluation samples
  • Columns: anchor, positive, and negative
  • Approximate statistics based on the first 1000 samples:
    anchor positive negative
    type string string string
    details
    • min: 18 tokens
    • mean: 32.73 tokens
    • max: 60 tokens
    • min: 14 tokens
    • mean: 22.72 tokens
    • max: 35 tokens
    • min: 14 tokens
    • mean: 24.7 tokens
    • max: 47 tokens
  • Samples:
    anchor positive negative
    Presence of delusions, hallucinations or disorganized speech, for a significant portion of time within a 1-month period Observers in my vicinity have noted the escalation of my erratic and unpredictable behavior. It's a challenge for me to seek assistance in public places, even when I clearly need help.
    Presence of delusions, hallucinations or disorganized speech, for a significant portion of time within a 1-month period There has been a growing awareness among those around me about my increasingly erratic and unpredictable behavior. The difficulty of connecting with others on a deeper level stems from feeling like I've lost a part of myself due to the traumatic event.
    Presence of delusions, hallucinations or disorganized speech, for a significant portion of time within a 1-month period It has come to the attention of those around me that my behavior is becoming more erratic and unpredictable. My thoughts exhibited a chaotic and disconnected pattern in that manic episode.
  • Loss: TripletLoss with these parameters:
    {
        "distance_metric": "TripletDistanceMetric.EUCLIDEAN",
        "triplet_margin": 5
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • eval_strategy: epoch
  • per_device_train_batch_size: 128
  • per_device_eval_batch_size: 64
  • num_train_epochs: 2
  • warmup_ratio: 0.1

All Hyperparameters

Click to expand
  • overwrite_output_dir: False
  • do_predict: False
  • eval_strategy: epoch
  • prediction_loss_only: True
  • per_device_train_batch_size: 128
  • per_device_eval_batch_size: 64
  • 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: 2
  • 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: batch_sampler
  • multi_dataset_batch_sampler: proportional

Training Logs

Epoch Step Training Loss loss FT-triple_max_accuracy
0.2015 82 4.5671 - -
0.4029 164 4.0669 - -
0.6044 246 3.9861 - -
0.8059 328 3.9519 - -
1.0 407 - 4.0778 0.8244
1.0074 410 3.9194 - -
1.2088 492 3.8925 - -
1.4103 574 3.8823 - -
1.6118 656 3.8871 - -
1.8133 738 3.8603 - -
2.0 814 - 4.0806 0.8104

Framework Versions

  • Python: 3.10.12
  • Sentence Transformers: 3.0.0
  • Transformers: 4.41.1
  • PyTorch: 2.3.0+cu121
  • Accelerate: 0.30.1
  • 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",
}

TripletLoss

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