LeoChiuu's picture
Add new SentenceTransformer model.
f2976aa verified
|
raw
history blame
20.4 kB
metadata
base_model: colorfulscoop/sbert-base-ja
library_name: sentence-transformers
metrics:
  - cosine_accuracy
  - cosine_accuracy_threshold
  - cosine_f1
  - cosine_f1_threshold
  - cosine_precision
  - cosine_recall
  - cosine_ap
  - dot_accuracy
  - dot_accuracy_threshold
  - dot_f1
  - dot_f1_threshold
  - dot_precision
  - dot_recall
  - dot_ap
  - manhattan_accuracy
  - manhattan_accuracy_threshold
  - manhattan_f1
  - manhattan_f1_threshold
  - manhattan_precision
  - manhattan_recall
  - manhattan_ap
  - euclidean_accuracy
  - euclidean_accuracy_threshold
  - euclidean_f1
  - euclidean_f1_threshold
  - euclidean_precision
  - euclidean_recall
  - euclidean_ap
  - max_accuracy
  - max_accuracy_threshold
  - max_f1
  - max_f1_threshold
  - max_precision
  - max_recall
  - max_ap
pipeline_tag: sentence-similarity
tags:
  - sentence-transformers
  - sentence-similarity
  - feature-extraction
  - generated_from_trainer
  - dataset_size:53
  - loss:CosineSimilarityLoss
model-index:
  - name: SentenceTransformer based on colorfulscoop/sbert-base-ja
    results:
      - task:
          type: binary-classification
          name: Binary Classification
        dataset:
          name: custom arc semantics data jp
          type: custom-arc-semantics-data-jp
        metrics:
          - type: cosine_accuracy
            value: 0.6666666666666666
            name: Cosine Accuracy
          - type: cosine_accuracy_threshold
            value: 0.4631122350692749
            name: Cosine Accuracy Threshold
          - type: cosine_f1
            value: 0.8000000000000002
            name: Cosine F1
          - type: cosine_f1_threshold
            value: 0.4631122350692749
            name: Cosine F1 Threshold
          - type: cosine_precision
            value: 0.8
            name: Cosine Precision
          - type: cosine_recall
            value: 0.8
            name: Cosine Recall
          - type: cosine_ap
            value: 0.8766666666666667
            name: Cosine Ap
          - type: dot_accuracy
            value: 0.6666666666666666
            name: Dot Accuracy
          - type: dot_accuracy_threshold
            value: 248.13394165039062
            name: Dot Accuracy Threshold
          - type: dot_f1
            value: 0.8000000000000002
            name: Dot F1
          - type: dot_f1_threshold
            value: 248.13394165039062
            name: Dot F1 Threshold
          - type: dot_precision
            value: 0.8
            name: Dot Precision
          - type: dot_recall
            value: 0.8
            name: Dot Recall
          - type: dot_ap
            value: 0.8766666666666667
            name: Dot Ap
          - type: manhattan_accuracy
            value: 0.6666666666666666
            name: Manhattan Accuracy
          - type: manhattan_accuracy_threshold
            value: 524.65185546875
            name: Manhattan Accuracy Threshold
          - type: manhattan_f1
            value: 0.8000000000000002
            name: Manhattan F1
          - type: manhattan_f1_threshold
            value: 524.65185546875
            name: Manhattan F1 Threshold
          - type: manhattan_precision
            value: 0.8
            name: Manhattan Precision
          - type: manhattan_recall
            value: 0.8
            name: Manhattan Recall
          - type: manhattan_ap
            value: 0.8766666666666667
            name: Manhattan Ap
          - type: euclidean_accuracy
            value: 0.6666666666666666
            name: Euclidean Accuracy
          - type: euclidean_accuracy_threshold
            value: 23.945947647094727
            name: Euclidean Accuracy Threshold
          - type: euclidean_f1
            value: 0.8000000000000002
            name: Euclidean F1
          - type: euclidean_f1_threshold
            value: 23.945947647094727
            name: Euclidean F1 Threshold
          - type: euclidean_precision
            value: 0.8
            name: Euclidean Precision
          - type: euclidean_recall
            value: 0.8
            name: Euclidean Recall
          - type: euclidean_ap
            value: 0.8766666666666667
            name: Euclidean Ap
          - type: max_accuracy
            value: 0.6666666666666666
            name: Max Accuracy
          - type: max_accuracy_threshold
            value: 524.65185546875
            name: Max Accuracy Threshold
          - type: max_f1
            value: 0.8000000000000002
            name: Max F1
          - type: max_f1_threshold
            value: 524.65185546875
            name: Max F1 Threshold
          - type: max_precision
            value: 0.8
            name: Max Precision
          - type: max_recall
            value: 0.8
            name: Max Recall
          - type: max_ap
            value: 0.8766666666666667
            name: Max Ap

SentenceTransformer based on colorfulscoop/sbert-base-ja

This is a sentence-transformers model finetuned from colorfulscoop/sbert-base-ja 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: colorfulscoop/sbert-base-ja
  • Maximum Sequence Length: 512 tokens
  • Output Dimensionality: 768 tokens
  • Similarity Function: Cosine Similarity
  • Training Dataset:
    • csv

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': 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})
)

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("sentence_transformers_model_id")
# Run inference
sentences = [
    'The weather is lovely today.',
    "It's so sunny outside!",
    'He drove to the stadium.',
]
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

Binary Classification

Metric Value
cosine_accuracy 0.6667
cosine_accuracy_threshold 0.4631
cosine_f1 0.8
cosine_f1_threshold 0.4631
cosine_precision 0.8
cosine_recall 0.8
cosine_ap 0.8767
dot_accuracy 0.6667
dot_accuracy_threshold 248.1339
dot_f1 0.8
dot_f1_threshold 248.1339
dot_precision 0.8
dot_recall 0.8
dot_ap 0.8767
manhattan_accuracy 0.6667
manhattan_accuracy_threshold 524.6519
manhattan_f1 0.8
manhattan_f1_threshold 524.6519
manhattan_precision 0.8
manhattan_recall 0.8
manhattan_ap 0.8767
euclidean_accuracy 0.6667
euclidean_accuracy_threshold 23.9459
euclidean_f1 0.8
euclidean_f1_threshold 23.9459
euclidean_precision 0.8
euclidean_recall 0.8
euclidean_ap 0.8767
max_accuracy 0.6667
max_accuracy_threshold 524.6519
max_f1 0.8
max_f1_threshold 524.6519
max_precision 0.8
max_recall 0.8
max_ap 0.8767

Training Details

Training Dataset

csv

  • Dataset: csv
  • Size: 53 training samples
  • Columns: text1, text2, and label
  • Approximate statistics based on the first 53 samples:
    text1 text2 label
    type string string int
    details
    • min: 14 tokens
    • mean: 35.94 tokens
    • max: 84 tokens
    • min: 11 tokens
    • mean: 21.72 tokens
    • max: 38 tokens
    • 0: ~38.30%
    • 1: ~61.70%
  • Samples:
    text1 text2 label
    茶色 の ドレス を 着た 若い 女の子 と サンダル が 黒い 帽子 、 タンクトップ 、 青い カーゴ ショーツ を 着た 若い 男の子 を 、 同じ ボール に 向かって 銀 の ボール を 投げ つける ように 笑い ます 。 人々 は ハンバーガー を 待って い ます 。 1
    水 の 近く の ドック に 2 人 が 座って い ます 。 岩 の 上 に 座って いる 二 人 0
    小さな 女の子 が 草 を 横切って 木 に 向かって 走り ます 。 女の子 は 、 かつて 木 が 立って いた 裏庭 を 見 ながら 中 に い ました 。 1
  • Loss: CosineSimilarityLoss with these parameters:
    {
        "loss_fct": "torch.nn.modules.loss.MSELoss"
    }
    

Evaluation Dataset

csv

  • Dataset: csv
  • Size: 53 evaluation samples
  • Columns: text1, text2, and label
  • Approximate statistics based on the first 53 samples:
    text1 text2 label
    type string string int
    details
    • min: 19 tokens
    • mean: 38.67 tokens
    • max: 61 tokens
    • min: 20 tokens
    • mean: 25.5 tokens
    • max: 33 tokens
    • 0: ~16.67%
    • 1: ~83.33%
  • Samples:
    text1 text2 label
    岩 の 多い 景色 を 見て 二 人 何 か を 見て いる 二 人 が い ます 。 0
    白い ヘルメット と オレンジ色 の シャツ 、 ジーンズ 、 白い トラック と オレンジ色 の パイロン の 前 に 反射 ジャケット を 着た 金髪 の ストリート ワーカー 。 ストリート ワーカー は 保護 具 を 着用 して い ませ ん 。 1
    白い 帽子 を かぶった 女性 が 、 鮮やかな 色 の 岩 の 風景 を 描いて い ます 。 岩 層 自体 が 背景 に 見え ます 。 誰 か が 肖像 画 を 描いて い ます 。 1
  • Loss: CosineSimilarityLoss with these parameters:
    {
        "loss_fct": "torch.nn.modules.loss.MSELoss"
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • eval_strategy: epoch
  • learning_rate: 2e-05
  • num_train_epochs: 10
  • warmup_ratio: 0.4
  • fp16: True
  • 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: 8
  • per_device_eval_batch_size: 8
  • 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: 10
  • max_steps: -1
  • lr_scheduler_type: linear
  • lr_scheduler_kwargs: {}
  • warmup_ratio: 0.4
  • 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: {'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
  • eval_on_start: False
  • eval_use_gather_object: False
  • batch_sampler: no_duplicates
  • multi_dataset_batch_sampler: proportional

Training Logs

Epoch Step Training Loss loss custom-arc-semantics-data-jp_max_ap
1.0 6 0.3183 0.1717 0.8767
2.0 12 0.3026 0.1703 0.8767
3.0 18 0.2667 0.1662 0.8767
4.0 24 0.2164 0.1595 0.9267
5.0 30 0.1779 0.1680 0.9267
6.0 36 0.1271 0.1939 0.8767
7.0 42 0.1018 0.2169 0.8767
8.0 48 0.0824 0.2246 0.8767
9.0 54 0.0732 0.2209 0.8767
10.0 60 0.0672 0.2187 0.8767

Framework Versions

  • Python: 3.10.14
  • Sentence Transformers: 3.1.0
  • Transformers: 4.44.2
  • PyTorch: 2.4.1+cu121
  • Accelerate: 0.34.2
  • 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",
}