cngcv's picture
Add new SentenceTransformer model.
98ab0c2 verified
metadata
base_model: BAAI/bge-base-en-v1.5
datasets: []
language:
  - en
library_name: sentence-transformers
license: apache-2.0
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
pipeline_tag: sentence-similarity
tags:
  - sentence-transformers
  - sentence-similarity
  - feature-extraction
  - generated_from_trainer
  - dataset_size:196
  - loss:MatryoshkaLoss
  - loss:MultipleNegativesRankingLoss
widget:
  - source_sentence: >-
      The text refers to the preparation of a pre-trained model for data set
      usage, which is a crucial step in machine learning projects. This suggests
      that the project involves using a model that has already been trained on a
      dataset, which can then be fine-tuned or used directly for specific tasks,
      potentially saving time and computational resources.
    sentences:
      - >-
        What is the significance of preparing a pre-trained model in the data
        set for the process described in the text?
      - What is the purpose of the document?
      - >-
        What are the developer AI developer's experiences in AI development and
        research?
  - source_sentence: >-
      The project manager has a degree from Vietnam National University and has
      completed a Google TensorFlow certification.
    sentences:
      - >-
        How often are the training, evaluation, and re-training steps repeated
        in the text?
      - What is the project manager's educational background?
      - >-
        What information should be shared via email when final product delivery
        is completed?
  - source_sentence: >-
      The text mentions that Docker for the deployment of a high NT Q trained
      model was built between July 18 and July 19, 2024.
    sentences:
      - What is the role of "データベースベクトルとセマンティクス検索モジュール"?
      - >-
        When was the Docker for the deployment of a high NT Q trained model
        built?
      - >-
        What is the significance of Level 3 in the escalation process described
        in the text?
  - source_sentence: >-
      The text spans from September 4th to October 16th, covering a total of 33
      days.
    sentences:
      - How many days are listed in the given text?
      - >-
        How does the system support the current system and plan for future
        feature development?
      - What are the two distinct products offered by NT Q?
  - source_sentence: >-
      After text generation, the process involves providing test data to NT Q,
      which then undergoes article correction, including dealing with fragmented
      articles and errors.
    sentences:
      - >-
        What is the process for providing test data to NT Q after text
        generation?
      - When is the deadline for combining the API for the setting function?
      - What is the significance of the dates in the text?
model-index:
  - name: BGE base Financial Matryoshka
    results:
      - task:
          type: information-retrieval
          name: Information Retrieval
        dataset:
          name: dim 768
          type: dim_768
        metrics:
          - type: cosine_accuracy@1
            value: 0.7755102040816326
            name: Cosine Accuracy@1
          - type: cosine_accuracy@3
            value: 0.8775510204081632
            name: Cosine Accuracy@3
          - type: cosine_accuracy@5
            value: 0.9591836734693877
            name: Cosine Accuracy@5
          - type: cosine_accuracy@10
            value: 0.9795918367346939
            name: Cosine Accuracy@10
          - type: cosine_precision@1
            value: 0.7755102040816326
            name: Cosine Precision@1
          - type: cosine_precision@3
            value: 0.2925170068027211
            name: Cosine Precision@3
          - type: cosine_precision@5
            value: 0.19183673469387752
            name: Cosine Precision@5
          - type: cosine_precision@10
            value: 0.09795918367346937
            name: Cosine Precision@10
          - type: cosine_recall@1
            value: 0.7755102040816326
            name: Cosine Recall@1
          - type: cosine_recall@3
            value: 0.8775510204081632
            name: Cosine Recall@3
          - type: cosine_recall@5
            value: 0.9591836734693877
            name: Cosine Recall@5
          - type: cosine_recall@10
            value: 0.9795918367346939
            name: Cosine Recall@10
          - type: cosine_ndcg@10
            value: 0.8776251324776435
            name: Cosine Ndcg@10
          - type: cosine_mrr@10
            value: 0.8447845804988664
            name: Cosine Mrr@10
          - type: cosine_map@100
            value: 0.846354439211582
            name: Cosine Map@100
      - task:
          type: information-retrieval
          name: Information Retrieval
        dataset:
          name: dim 512
          type: dim_512
        metrics:
          - type: cosine_accuracy@1
            value: 0.7959183673469388
            name: Cosine Accuracy@1
          - type: cosine_accuracy@3
            value: 0.8979591836734694
            name: Cosine Accuracy@3
          - type: cosine_accuracy@5
            value: 0.9591836734693877
            name: Cosine Accuracy@5
          - type: cosine_accuracy@10
            value: 0.9795918367346939
            name: Cosine Accuracy@10
          - type: cosine_precision@1
            value: 0.7959183673469388
            name: Cosine Precision@1
          - type: cosine_precision@3
            value: 0.29931972789115646
            name: Cosine Precision@3
          - type: cosine_precision@5
            value: 0.19183673469387752
            name: Cosine Precision@5
          - type: cosine_precision@10
            value: 0.09795918367346937
            name: Cosine Precision@10
          - type: cosine_recall@1
            value: 0.7959183673469388
            name: Cosine Recall@1
          - type: cosine_recall@3
            value: 0.8979591836734694
            name: Cosine Recall@3
          - type: cosine_recall@5
            value: 0.9591836734693877
            name: Cosine Recall@5
          - type: cosine_recall@10
            value: 0.9795918367346939
            name: Cosine Recall@10
          - type: cosine_ndcg@10
            value: 0.884559158446073
            name: Cosine Ndcg@10
          - type: cosine_mrr@10
            value: 0.8539358600583091
            name: Cosine Mrr@10
          - type: cosine_map@100
            value: 0.8551363402503859
            name: Cosine Map@100
      - task:
          type: information-retrieval
          name: Information Retrieval
        dataset:
          name: dim 256
          type: dim_256
        metrics:
          - type: cosine_accuracy@1
            value: 0.6938775510204082
            name: Cosine Accuracy@1
          - type: cosine_accuracy@3
            value: 0.9183673469387755
            name: Cosine Accuracy@3
          - type: cosine_accuracy@5
            value: 0.9591836734693877
            name: Cosine Accuracy@5
          - type: cosine_accuracy@10
            value: 0.9591836734693877
            name: Cosine Accuracy@10
          - type: cosine_precision@1
            value: 0.6938775510204082
            name: Cosine Precision@1
          - type: cosine_precision@3
            value: 0.3061224489795918
            name: Cosine Precision@3
          - type: cosine_precision@5
            value: 0.19183673469387752
            name: Cosine Precision@5
          - type: cosine_precision@10
            value: 0.09591836734693876
            name: Cosine Precision@10
          - type: cosine_recall@1
            value: 0.6938775510204082
            name: Cosine Recall@1
          - type: cosine_recall@3
            value: 0.9183673469387755
            name: Cosine Recall@3
          - type: cosine_recall@5
            value: 0.9591836734693877
            name: Cosine Recall@5
          - type: cosine_recall@10
            value: 0.9591836734693877
            name: Cosine Recall@10
          - type: cosine_ndcg@10
            value: 0.8397332987260313
            name: Cosine Ndcg@10
          - type: cosine_mrr@10
            value: 0.7993197278911565
            name: Cosine Mrr@10
          - type: cosine_map@100
            value: 0.8016520894071916
            name: Cosine Map@100
      - task:
          type: information-retrieval
          name: Information Retrieval
        dataset:
          name: dim 128
          type: dim_128
        metrics:
          - type: cosine_accuracy@1
            value: 0.6938775510204082
            name: Cosine Accuracy@1
          - type: cosine_accuracy@3
            value: 0.9183673469387755
            name: Cosine Accuracy@3
          - type: cosine_accuracy@5
            value: 0.9183673469387755
            name: Cosine Accuracy@5
          - type: cosine_accuracy@10
            value: 0.9183673469387755
            name: Cosine Accuracy@10
          - type: cosine_precision@1
            value: 0.6938775510204082
            name: Cosine Precision@1
          - type: cosine_precision@3
            value: 0.3061224489795918
            name: Cosine Precision@3
          - type: cosine_precision@5
            value: 0.1836734693877551
            name: Cosine Precision@5
          - type: cosine_precision@10
            value: 0.09183673469387756
            name: Cosine Precision@10
          - type: cosine_recall@1
            value: 0.6938775510204082
            name: Cosine Recall@1
          - type: cosine_recall@3
            value: 0.9183673469387755
            name: Cosine Recall@3
          - type: cosine_recall@5
            value: 0.9183673469387755
            name: Cosine Recall@5
          - type: cosine_recall@10
            value: 0.9183673469387755
            name: Cosine Recall@10
          - type: cosine_ndcg@10
            value: 0.8168105921282822
            name: Cosine Ndcg@10
          - type: cosine_mrr@10
            value: 0.7823129251700681
            name: Cosine Mrr@10
          - type: cosine_map@100
            value: 0.7865583396195641
            name: Cosine Map@100
      - task:
          type: information-retrieval
          name: Information Retrieval
        dataset:
          name: dim 64
          type: dim_64
        metrics:
          - type: cosine_accuracy@1
            value: 0.5918367346938775
            name: Cosine Accuracy@1
          - type: cosine_accuracy@3
            value: 0.7959183673469388
            name: Cosine Accuracy@3
          - type: cosine_accuracy@5
            value: 0.8163265306122449
            name: Cosine Accuracy@5
          - type: cosine_accuracy@10
            value: 0.9183673469387755
            name: Cosine Accuracy@10
          - type: cosine_precision@1
            value: 0.5918367346938775
            name: Cosine Precision@1
          - type: cosine_precision@3
            value: 0.26530612244897955
            name: Cosine Precision@3
          - type: cosine_precision@5
            value: 0.16326530612244897
            name: Cosine Precision@5
          - type: cosine_precision@10
            value: 0.09183673469387756
            name: Cosine Precision@10
          - type: cosine_recall@1
            value: 0.5918367346938775
            name: Cosine Recall@1
          - type: cosine_recall@3
            value: 0.7959183673469388
            name: Cosine Recall@3
          - type: cosine_recall@5
            value: 0.8163265306122449
            name: Cosine Recall@5
          - type: cosine_recall@10
            value: 0.9183673469387755
            name: Cosine Recall@10
          - type: cosine_ndcg@10
            value: 0.7471061057082727
            name: Cosine Ndcg@10
          - type: cosine_mrr@10
            value: 0.6929057337220603
            name: Cosine Mrr@10
          - type: cosine_map@100
            value: 0.6978234213668709
            name: Cosine Map@100

BGE base Financial Matryoshka

This is a sentence-transformers model finetuned from BAAI/bge-base-en-v1.5. 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: BAAI/bge-base-en-v1.5
  • Maximum Sequence Length: 512 tokens
  • Output Dimensionality: 768 tokens
  • Similarity Function: Cosine Similarity
  • Language: en
  • License: apache-2.0

Model Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 512, 'do_lower_case': True}) with Transformer model: BertModel 
  (1): Pooling({'word_embedding_dimension': 768, 'pooling_mode_cls_token': True, 'pooling_mode_mean_tokens': False, '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("cngcv/bge-base-financial-matryoshka")
# Run inference
sentences = [
    'After text generation, the process involves providing test data to NT Q, which then undergoes article correction, including dealing with fragmented articles and errors.',
    'What is the process for providing test data to NT Q after text generation?',
    'What is the significance of the dates in the text?',
]
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]

Evaluation

Metrics

Information Retrieval

Metric Value
cosine_accuracy@1 0.7755
cosine_accuracy@3 0.8776
cosine_accuracy@5 0.9592
cosine_accuracy@10 0.9796
cosine_precision@1 0.7755
cosine_precision@3 0.2925
cosine_precision@5 0.1918
cosine_precision@10 0.098
cosine_recall@1 0.7755
cosine_recall@3 0.8776
cosine_recall@5 0.9592
cosine_recall@10 0.9796
cosine_ndcg@10 0.8776
cosine_mrr@10 0.8448
cosine_map@100 0.8464

Information Retrieval

Metric Value
cosine_accuracy@1 0.7959
cosine_accuracy@3 0.898
cosine_accuracy@5 0.9592
cosine_accuracy@10 0.9796
cosine_precision@1 0.7959
cosine_precision@3 0.2993
cosine_precision@5 0.1918
cosine_precision@10 0.098
cosine_recall@1 0.7959
cosine_recall@3 0.898
cosine_recall@5 0.9592
cosine_recall@10 0.9796
cosine_ndcg@10 0.8846
cosine_mrr@10 0.8539
cosine_map@100 0.8551

Information Retrieval

Metric Value
cosine_accuracy@1 0.6939
cosine_accuracy@3 0.9184
cosine_accuracy@5 0.9592
cosine_accuracy@10 0.9592
cosine_precision@1 0.6939
cosine_precision@3 0.3061
cosine_precision@5 0.1918
cosine_precision@10 0.0959
cosine_recall@1 0.6939
cosine_recall@3 0.9184
cosine_recall@5 0.9592
cosine_recall@10 0.9592
cosine_ndcg@10 0.8397
cosine_mrr@10 0.7993
cosine_map@100 0.8017

Information Retrieval

Metric Value
cosine_accuracy@1 0.6939
cosine_accuracy@3 0.9184
cosine_accuracy@5 0.9184
cosine_accuracy@10 0.9184
cosine_precision@1 0.6939
cosine_precision@3 0.3061
cosine_precision@5 0.1837
cosine_precision@10 0.0918
cosine_recall@1 0.6939
cosine_recall@3 0.9184
cosine_recall@5 0.9184
cosine_recall@10 0.9184
cosine_ndcg@10 0.8168
cosine_mrr@10 0.7823
cosine_map@100 0.7866

Information Retrieval

Metric Value
cosine_accuracy@1 0.5918
cosine_accuracy@3 0.7959
cosine_accuracy@5 0.8163
cosine_accuracy@10 0.9184
cosine_precision@1 0.5918
cosine_precision@3 0.2653
cosine_precision@5 0.1633
cosine_precision@10 0.0918
cosine_recall@1 0.5918
cosine_recall@3 0.7959
cosine_recall@5 0.8163
cosine_recall@10 0.9184
cosine_ndcg@10 0.7471
cosine_mrr@10 0.6929
cosine_map@100 0.6978

Training Details

Training Dataset

Unnamed Dataset

  • Size: 196 training samples
  • Columns: positive and anchor
  • Approximate statistics based on the first 1000 samples:
    positive anchor
    type string string
    details
    • min: 15 tokens
    • mean: 46.58 tokens
    • max: 118 tokens
    • min: 10 tokens
    • mean: 17.25 tokens
    • max: 43 tokens
  • Samples:
    positive anchor
    The document lists several tasks with their statuses, such as "Done", "In progress", and "To be done". These statuses indicate the current progress of each task within the project. For example, "Set up environment" and "Set up development environment" are marked as "Done", suggesting these tasks have been completed, while "Build translation data set" is marked as "In progress", indicating it is currently being worked on. What is the status of the project tasks mentioned in the document?
    The 'Web Application Construction' task is mentioned to be completed by NT Q, with a duration from July 17, 2023, to July 28, 2023, and is marked as 'Done' with a completion of 10 tasks. What is the scope of the 'Web Application Construction' task?
    "RE F" could potentially stand for "Reference File" or "Record File," indicating that this text might be part of a larger dataset or document used for reference or record-keeping purposes. What is the significance of the "RE F" at the beginning of the text?
  • Loss: MatryoshkaLoss with these parameters:
    {
        "loss": "MultipleNegativesRankingLoss",
        "matryoshka_dims": [
            768,
            512,
            256,
            128,
            64
        ],
        "matryoshka_weights": [
            1,
            1,
            1,
            1,
            1
        ],
        "n_dims_per_step": -1
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • eval_strategy: epoch
  • per_device_train_batch_size: 32
  • per_device_eval_batch_size: 16
  • gradient_accumulation_steps: 16
  • learning_rate: 2e-05
  • num_train_epochs: 4
  • lr_scheduler_type: cosine
  • warmup_ratio: 0.1
  • tf32: False
  • load_best_model_at_end: True
  • optim: adamw_torch_fused
  • 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: 32
  • per_device_eval_batch_size: 16
  • per_gpu_train_batch_size: None
  • per_gpu_eval_batch_size: None
  • gradient_accumulation_steps: 16
  • eval_accumulation_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: 4
  • max_steps: -1
  • lr_scheduler_type: cosine
  • 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: False
  • 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: True
  • 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_fused
  • 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
  • batch_sampler: no_duplicates
  • multi_dataset_batch_sampler: proportional

Training Logs

Epoch Step dim_128_cosine_map@100 dim_256_cosine_map@100 dim_512_cosine_map@100 dim_64_cosine_map@100 dim_768_cosine_map@100
1.0 1 0.6908 0.7097 0.8111 0.6240 0.8011
2.0 2 0.7292 0.7692 0.8177 0.6634 0.8162
3.0 3 0.7555 0.8014 0.8541 0.6992 0.8451
4.0 4 0.7866 0.8017 0.8551 0.6978 0.8464
  • The bold row denotes the saved checkpoint.

Framework Versions

  • Python: 3.10.13
  • Sentence Transformers: 3.0.1
  • Transformers: 4.42.3
  • PyTorch: 2.1.2
  • Accelerate: 0.32.1
  • Datasets: 2.20.0
  • 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",
}

MatryoshkaLoss

@misc{kusupati2024matryoshka,
    title={Matryoshka Representation Learning}, 
    author={Aditya Kusupati and Gantavya Bhatt and Aniket Rege and Matthew Wallingford and Aditya Sinha and Vivek Ramanujan and William Howard-Snyder and Kaifeng Chen and Sham Kakade and Prateek Jain and Ali Farhadi},
    year={2024},
    eprint={2205.13147},
    archivePrefix={arXiv},
    primaryClass={cs.LG}
}

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