sbert-base-ja-arc / README.md
LeoChiuu's picture
Add new SentenceTransformer model.
7c2a3e2 verified
|
raw
history blame
20.2 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:OnlineContrastiveLoss
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.9063499569892883
            name: Cosine Accuracy Threshold
          - type: cosine_f1
            value: 0.8000000000000002
            name: Cosine F1
          - type: cosine_f1_threshold
            value: 0.884530246257782
            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.9266666666666665
            name: Cosine Ap
          - type: dot_accuracy
            value: 0.8333333333333334
            name: Dot Accuracy
          - type: dot_accuracy_threshold
            value: 499.406494140625
            name: Dot Accuracy Threshold
          - type: dot_f1
            value: 0.888888888888889
            name: Dot F1
          - type: dot_f1_threshold
            value: 499.406494140625
            name: Dot F1 Threshold
          - type: dot_precision
            value: 1
            name: Dot Precision
          - type: dot_recall
            value: 0.8
            name: Dot Recall
          - type: dot_ap
            value: 0.9666666666666666
            name: Dot Ap
          - type: manhattan_accuracy
            value: 0.6666666666666666
            name: Manhattan Accuracy
          - type: manhattan_accuracy_threshold
            value: 251.37576293945312
            name: Manhattan Accuracy Threshold
          - type: manhattan_f1
            value: 0.8000000000000002
            name: Manhattan F1
          - type: manhattan_f1_threshold
            value: 251.37576293945312
            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: 11.368607521057129
            name: Euclidean Accuracy Threshold
          - type: euclidean_f1
            value: 0.8000000000000002
            name: Euclidean F1
          - type: euclidean_f1_threshold
            value: 11.368607521057129
            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.8333333333333334
            name: Max Accuracy
          - type: max_accuracy_threshold
            value: 499.406494140625
            name: Max Accuracy Threshold
          - type: max_f1
            value: 0.888888888888889
            name: Max F1
          - type: max_f1_threshold
            value: 499.406494140625
            name: Max F1 Threshold
          - type: max_precision
            value: 1
            name: Max Precision
          - type: max_recall
            value: 0.8
            name: Max Recall
          - type: max_ap
            value: 0.9666666666666666
            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.9063
cosine_f1 0.8
cosine_f1_threshold 0.8845
cosine_precision 0.8
cosine_recall 0.8
cosine_ap 0.9267
dot_accuracy 0.8333
dot_accuracy_threshold 499.4065
dot_f1 0.8889
dot_f1_threshold 499.4065
dot_precision 1.0
dot_recall 0.8
dot_ap 0.9667
manhattan_accuracy 0.6667
manhattan_accuracy_threshold 251.3758
manhattan_f1 0.8
manhattan_f1_threshold 251.3758
manhattan_precision 0.8
manhattan_recall 0.8
manhattan_ap 0.8767
euclidean_accuracy 0.6667
euclidean_accuracy_threshold 11.3686
euclidean_f1 0.8
euclidean_f1_threshold 11.3686
euclidean_precision 0.8
euclidean_recall 0.8
euclidean_ap 0.8767
max_accuracy 0.8333
max_accuracy_threshold 499.4065
max_f1 0.8889
max_f1_threshold 499.4065
max_precision 1.0
max_recall 0.8
max_ap 0.9667

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: OnlineContrastiveLoss

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: OnlineContrastiveLoss

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.9944 0.4110 0.8767
2.0 12 0.8382 0.3751 0.8767
3.0 18 0.6431 0.3120 0.8767
4.0 24 0.372 0.2462 0.9267
5.0 30 0.2749 0.2117 0.9267
6.0 36 0.1628 0.2038 0.9267
7.0 42 0.0739 0.2010 0.9267
8.0 48 0.0414 0.2002 0.9267
9.0 54 0.0417 0.2001 0.9667
10.0 60 0.041 0.2001 0.9667

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