karsar's picture
Add new SentenceTransformer model.
9106b4d verified
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:457856
  - 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: e5-base_hun
    results:
      - task:
          type: triplet
          name: Triplet
        dataset:
          name: all nli dev
          type: all-nli-dev
        metrics:
          - type: cosine_accuracy
            value: 0.9746
            name: Cosine Accuracy
          - type: dot_accuracy
            value: 0.0284
            name: Dot Accuracy
          - type: manhattan_accuracy
            value: 0.9676
            name: Manhattan Accuracy
          - type: euclidean_accuracy
            value: 0.9658
            name: Euclidean Accuracy
          - type: max_accuracy
            value: 0.9746
            name: Max Accuracy
      - task:
          type: triplet
          name: Triplet
        dataset:
          name: all nli test
          type: all-nli-test
        metrics:
          - type: cosine_accuracy
            value: 0.9921212121212121
            name: Cosine Accuracy
          - type: dot_accuracy
            value: 0.008636363636363636
            name: Dot Accuracy
          - type: manhattan_accuracy
            value: 0.9896969696969697
            name: Manhattan Accuracy
          - type: euclidean_accuracy
            value: 0.9895454545454545
            name: Euclidean Accuracy
          - type: max_accuracy
            value: 0.9921212121212121
            name: Max Accuracy

e5-base_hun

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")
# 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.9746
dot_accuracy 0.0284
manhattan_accuracy 0.9676
euclidean_accuracy 0.9658
max_accuracy 0.9746

Triplet

Metric Value
cosine_accuracy 0.9921
dot_accuracy 0.0086
manhattan_accuracy 0.9897
euclidean_accuracy 0.9895
max_accuracy 0.9921

Training Details

Training Dataset

train

  • Dataset: train
  • Size: 457,856 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.0280 100 2.3495 - - -
0.0559 200 1.8588 - - -
0.0839 300 1.7156 - - -
0.1118 400 1.609 - - -
0.1398 500 1.5286 - - -
0.1677 600 1.4425 - - -
0.1957 700 1.6016 - - -
0.2237 800 1.5278 - - -
0.2516 900 1.4255 - - -
0.2796 1000 1.2084 - - -
0.3075 1100 1.1248 - - -
0.3355 1200 1.0773 - - -
0.3634 1300 1.1373 - - -
0.3914 1400 1.222 - - -
0.4193 1500 1.048 - - -
0.4473 1600 0.9319 - - -
0.4753 1700 0.8837 - - -
0.5032 1800 0.8402 - - -
0.5312 1900 0.7515 - - -
0.5591 2000 0.9405 0.1310 0.9746 -
0.5871 2100 0.8526 - - -
0.6150 2200 0.7886 - - -
0.6430 2300 0.6704 - - -
0.6710 2400 0.6488 - - -
0.6989 2500 0.635 - - -
0.7269 2600 0.7242 - - -
0.7548 2700 0.7593 - - -
0.7828 2800 0.62 - - -
0.8107 2900 0.4302 - - -
0.8387 3000 0.2952 - - -
0.8666 3100 0.3354 - - -
0.8946 3200 0.3221 - - -
0.9226 3300 0.4317 - - -
0.9505 3400 0.3185 - - -
0.9785 3500 0.433 - - -
1.0 3577 - - - 0.9921

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: 2.18.0
  • 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}
}