karsar's picture
Add new SentenceTransformer model.
9bf76c3 verified
|
raw
history blame
26.4 kB
metadata
base_model: sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2
language:
  - hu
library_name: sentence-transformers
license: apache-2.0
metrics:
  - cosine_accuracy
  - dot_accuracy
  - manhattan_accuracy
  - euclidean_accuracy
  - max_accuracy
pipeline_tag: sentence-similarity
tags:
  - sentence-transformers
  - sentence-similarity
  - feature-extraction
  - generated_from_trainer
  - dataset_size:1044013
  - loss:MultipleNegativesRankingLoss
widget:
  - source_sentence: Emberek várnak a lámpánál kerékpárral.
    sentences:
      - Az emberek piros lámpánál haladnak.
      - Az emberek a kerékpárjukon vannak.
      - Egy fekete kutya úszik a vízben egy teniszlabdával a szájában
  - source_sentence: A kutya a vízben van.
    sentences:
      - >-
        Két férfi takarítja a havat a tetőről, az egyik egy emelőben ül, a másik
        pedig a tetőn.
      - A macska a vízben van, és dühös.
      - Egy kutya van a vízben, a szájában egy faág.
  - source_sentence: A  feketét visel.
    sentences:
      - Egy barna kutya fröcsköl, ahogy úszik a vízben.
      - Egy tetoválással rendelkező nő, aki fekete tank tetején néz a földre.
      - >-
        Egy kékbe öltözött nő intenzív arckifejezéssel üti a teniszlabdát. A
        képen:
  - source_sentence: Az emberek alszanak.
    sentences:
      - Három ember beszélget egy városi utcán.
      - A  fehéret visel.
      - Egy apa és a fia ölelgeti alvás közben.
  - source_sentence: Az emberek alszanak.
    sentences:
      - >-
        Egy feketébe öltözött nő cigarettát és bevásárlótáskát tart a kezében,
        miközben egy idősebb nő átmegy az utcán.
      - >-
        Egy csoport ember ül egy nyitott, térszerű területen, mögötte nagy
        bokrok és egy sor viktoriánus stílusú épület, melyek közül sokat a kép
        jobb oldalán lévő erős elmosódás tesz kivehetetlenné.
      - Egy apa és a fia ölelgeti alvás közben.
model-index:
  - name: paraphrase-multilingual-MiniLM-L12-v2-hu
    results:
      - task:
          type: triplet
          name: Triplet
        dataset:
          name: all nli dev
          type: all-nli-dev
        metrics:
          - type: cosine_accuracy
            value: 0.9918
            name: Cosine Accuracy
          - type: dot_accuracy
            value: 0.0102
            name: Dot Accuracy
          - type: manhattan_accuracy
            value: 0.99
            name: Manhattan Accuracy
          - type: euclidean_accuracy
            value: 0.99
            name: Euclidean Accuracy
          - type: max_accuracy
            value: 0.9918
            name: Max Accuracy
      - task:
          type: triplet
          name: Triplet
        dataset:
          name: all nli test
          type: all-nli-test
        metrics:
          - type: cosine_accuracy
            value: 0.9937878787878788
            name: Cosine Accuracy
          - type: dot_accuracy
            value: 0.00803030303030303
            name: Dot Accuracy
          - type: manhattan_accuracy
            value: 0.9928787878787879
            name: Manhattan Accuracy
          - type: euclidean_accuracy
            value: 0.9924242424242424
            name: Euclidean Accuracy
          - type: max_accuracy
            value: 0.9937878787878788
            name: Max Accuracy

paraphrase-multilingual-MiniLM-L12-v2-hu

This is a sentence-transformers model finetuned from sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2 on the train 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 Sources

Full Model Architecture

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

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("karsar/paraphrase-multilingual-MiniLM-L12-hu-v2")
# Run inference
sentences = [
    'Az emberek alszanak.',
    'Egy apa és a fia ölelgeti alvás közben.',
    'Egy csoport ember ül egy nyitott, térszerű területen, mögötte nagy bokrok és egy sor viktoriánus stílusú épület, melyek közül sokat a kép jobb oldalán lévő erős elmosódás tesz kivehetetlenné.',
]
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.9918
dot_accuracy 0.0102
manhattan_accuracy 0.99
euclidean_accuracy 0.99
max_accuracy 0.9918

Triplet

Metric Value
cosine_accuracy 0.9938
dot_accuracy 0.008
manhattan_accuracy 0.9929
euclidean_accuracy 0.9924
max_accuracy 0.9938

Training Details

Training Dataset

train

  • Dataset: train
  • Size: 1,044,013 training samples
  • Columns: anchor, positive, and negative
  • Approximate statistics based on the first 1000 samples:
    anchor positive negative
    type string string string
    details
    • min: 7 tokens
    • mean: 11.73 tokens
    • max: 56 tokens
    • min: 6 tokens
    • mean: 15.24 tokens
    • max: 47 tokens
    • min: 7 tokens
    • mean: 16.07 tokens
    • max: 53 tokens
  • Samples:
    anchor positive negative
    Egy lóháton ülő ember átugrik egy lerombolt repülőgép felett. Egy ember a szabadban, lóháton. Egy ember egy étteremben van, és omlettet rendel.
    Gyerekek mosolyogva és integetett a kamera Gyermekek vannak jelen A gyerekek homlokot rántanak
    Egy fiú ugrál a gördeszkát a közepén egy piros híd. A fiú gördeszkás trükköt csinál. A fiú korcsolyázik a járdán.
  • Loss: MultipleNegativesRankingLoss with these parameters:
    {
        "scale": 20.0,
        "similarity_fct": "cos_sim"
    }
    

Evaluation Dataset

train

  • Dataset: train
  • Size: 5,000 evaluation samples
  • Columns: anchor, positive, and negative
  • Approximate statistics based on the first 1000 samples:
    anchor positive negative
    type string string string
    details
    • min: 7 tokens
    • mean: 11.73 tokens
    • max: 56 tokens
    • min: 6 tokens
    • mean: 15.24 tokens
    • max: 47 tokens
    • min: 7 tokens
    • mean: 16.07 tokens
    • max: 53 tokens
  • Samples:
    anchor positive negative
    Egy lóháton ülő ember átugrik egy lerombolt repülőgép felett. Egy ember a szabadban, lóháton. Egy ember egy étteremben van, és omlettet rendel.
    Gyerekek mosolyogva és integetett a kamera Gyermekek vannak jelen A gyerekek homlokot rántanak
    Egy fiú ugrál a gördeszkát a közepén egy piros híd. A fiú gördeszkás trükköt csinál. A fiú korcsolyázik a járdán.
  • Loss: MultipleNegativesRankingLoss with these parameters:
    {
        "scale": 20.0,
        "similarity_fct": "cos_sim"
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • eval_strategy: steps
  • per_device_train_batch_size: 128
  • per_device_eval_batch_size: 128
  • num_train_epochs: 1
  • warmup_ratio: 0.1
  • bf16: True
  • batch_sampler: no_duplicates

All Hyperparameters

Click to expand
  • overwrite_output_dir: False
  • do_predict: False
  • eval_strategy: steps
  • prediction_loss_only: True
  • per_device_train_batch_size: 128
  • per_device_eval_batch_size: 128
  • 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: 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: 1
  • 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: True
  • 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
  • eval_on_start: False
  • eval_use_gather_object: False
  • batch_sampler: no_duplicates
  • multi_dataset_batch_sampler: proportional

Training Logs

Epoch Step Training Loss train loss all-nli-dev_max_accuracy all-nli-test_max_accuracy
0 0 - - 0.7574 -
0.0123 100 2.5472 - - -
0.0245 200 2.0478 - - -
0.0368 300 1.8426 - - -
0.0490 400 1.698 - - -
0.0613 500 1.5715 - - -
0.0736 600 1.4616 - - -
0.0858 700 1.6106 - - -
0.0981 800 1.5849 - - -
0.1103 900 1.5374 - - -
0.1226 1000 1.3653 - - -
0.1349 1100 1.274 - - -
0.1471 1200 1.1907 - - -
0.1594 1300 1.2155 - - -
0.1716 1400 1.2786 - - -
0.1839 1500 1.1062 - - -
0.1962 1600 1.0289 - - -
0.2084 1700 1.0013 - - -
0.2207 1800 0.9209 - - -
0.2329 1900 0.8095 - - -
0.2452 2000 0.9753 0.1916 0.9558 -
0.2574 2100 0.8728 - - -
0.2697 2200 0.8343 - - -
0.2820 2300 0.7203 - - -
0.2942 2400 0.6901 - - -
0.3065 2500 0.6606 - - -
0.3187 2600 0.7205 - - -
0.3310 2700 0.7479 - - -
0.3433 2800 0.6677 - - -
0.3555 2900 1.2531 - - -
0.3678 3000 1.3619 - - -
0.3800 3100 1.3923 - - -
0.3923 3200 1.412 - - -
0.4046 3300 1.3904 - - -
0.4168 3400 1.3782 - - -
0.4291 3500 1.3601 - - -
0.4413 3600 1.3582 - - -
0.4536 3700 1.3402 - - -
0.4659 3800 1.32 - - -
0.4781 3900 1.3277 - - -
0.4904 4000 1.3112 0.0699 0.987 -
0.5026 4100 1.2992 - - -
0.5149 4200 1.3005 - - -
0.5272 4300 1.2978 - - -
0.5394 4400 1.272 - - -
0.5517 4500 1.2864 - - -
0.5639 4600 1.2519 - - -
0.5762 4700 1.1924 - - -
0.5885 4800 1.1778 - - -
0.6007 4900 1.1801 - - -
0.6130 5000 1.1666 - - -
0.6252 5100 1.1682 - - -
0.6375 5200 1.1518 - - -
0.6497 5300 1.1606 - - -
0.6620 5400 1.1534 - - -
0.6743 5500 1.1473 - - -
0.6865 5600 1.1596 - - -
0.6988 5700 1.1536 - - -
0.7110 5800 1.1517 - - -
0.7233 5900 1.1517 - - -
0.7356 6000 1.153 0.0359 0.9896 -
0.7478 6100 1.142 - - -
0.7601 6200 1.093 - - -
0.7723 6300 1.1764 - - -
0.7846 6400 1.1868 - - -
0.7969 6500 1.0308 - - -
0.8091 6600 1.0122 - - -
0.8214 6700 1.0084 - - -
0.8336 6800 1.0151 - - -
0.8459 6900 1.0121 - - -
0.8582 7000 1.0071 - - -
0.8704 7100 1.1543 - - -
0.8827 7200 1.1915 - - -
0.8949 7300 1.2224 - - -
0.9072 7400 1.1463 - - -
0.9195 7500 1.0254 - - -
0.9317 7600 1.2396 - - -
0.9440 7700 1.1225 - - -
0.9562 7800 0.7177 - - -
0.9685 7900 0.0681 - - -
0.9808 8000 0.0264 0.0317 0.9918 -
0.9930 8100 0.078 - - -
1.0 8157 - - - 0.9938

Framework Versions

  • Python: 3.11.8
  • Sentence Transformers: 3.1.1
  • Transformers: 4.44.0
  • PyTorch: 2.3.0.post101
  • Accelerate: 0.33.0
  • Datasets: 3.0.2
  • Tokenizers: 0.19.0

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