luka023's picture
Upload folder using huggingface_hub
58e947a verified
metadata
base_model: djovak/embedic-large
library_name: sentence-transformers
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:176
  - loss:MultipleNegativesRankingLoss
widget:
  - source_sentence: Kako Meridian kladionica tretira odlaganja?
    sentences:
      - >-
        Klađenje na dubl se razlikuje od singla, gde timska hemija i tehnika
        igrača poput voleja i servisa igraju ključnu ulogu.
      - >-
        Važno je pratiti formu igrača, promene u servisu i povrede kako biste
        doneli informisane odluke u klađenju uživo na tenis.
      - >-
        Meridian kladionica računa kvotu 1.00 ako se utakmica ne odigra u roku
        od sledećeg dana od planiranog termina.
  - source_sentence: Šta je hajnc sistem klađenja?
    sentences:
      - >-
        Loši vremenski uslovi, kao što su kiša ili sneg, mogu otežati igru i
        smanjiti broj golova.
      - >-
        Hajnc je kombinovani sistem klađenja koji uključuje šest događaja i
        ukupno 57 pojedinačnih opklada.
      - >-
        Za razliku od drugih sportova, vremenski uslovi ne utiču direktno na
        košarkaške mečeve, ali povrede ili izostanci igrača mogu značajno
        promeniti ishod.
  - source_sentence: Kako funkcioniše klađenje na poluvreme/kraj?
    sentences:
      - >-
        Ako se utakmica odloži za više od 48 sati, kvota postaje 1.00 i ulog se
        vraća, osim ako su ostali parovi na tiketu.
      - >-
        Ova vrsta klađenja zahteva predviđanje ishoda i na poluvremenu i na
        kraju utakmice. Na primer, opklada 1-2 znači da domaćin vodi na
        poluvremenu, ali gost pobeđuje na kraju.
      - >-
        Sistem 'Srećni 31' uključuje pet događaja i ukupno 31 pojedinačnu
        opkladu koja obuhvata singl, dubl, trostruke, četvorostruke i petostruke
        opklade.
  - source_sentence: Kako koristiti informacije za klađenje?
    sentences:
      - >-
        Informacije su ključne za uspešno klađenje. Preporučuje se korišćenje
        službenih sportskih stranica, portala i aplikacija za vesti kako biste
        dobili najnovije podatke o utakmicama i igračima.
      - >-
        Koeficijenti, ili kvote, označavaju verovatnoću ishoda događaja i
        određuju potencijalni dobitak na osnovu uloženog novca.
      - >-
        Hendikep klađenje podrazumeva da slabiji tim dobija prednost u bodovima
        pre početka meča, čime se izjednačavaju šanse za pobedu.
  - source_sentence: Šta je klađenje na kartone?
    sentences:
      - >-
        Ravnomerno klađenje podrazumeva postavljanje istog uloga na svaki
        događaj kako bi se smanjio rizik.
      - >-
        Klađenje na broj kornera podrazumeva predviđanje koliko će kornera biti
        izvedeno tokom meča, sa kvotama koje se menjaju uživo.
      - >-
        Klađenje na kartone uključuje predviđanje broja žutih ili crvenih
        kartona na utakmici, postavljajući granicu pre početka utakmice.
model-index:
  - name: SentenceTransformer based on djovak/embedic-large
    results:
      - task:
          type: triplet
          name: Triplet
        dataset:
          name: Unknown
          type: unknown
        metrics:
          - type: cosine_accuracy
            value: 1
            name: Cosine Accuracy
          - type: dot_accuracy
            value: 0
            name: Dot Accuracy
          - type: manhattan_accuracy
            value: 1
            name: Manhattan Accuracy
          - type: euclidean_accuracy
            value: 1
            name: Euclidean Accuracy
          - type: max_accuracy
            value: 1
            name: Max Accuracy

SentenceTransformer based on djovak/embedic-large

This is a sentence-transformers model finetuned from djovak/embedic-large. It maps sentences & paragraphs to a 1024-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: djovak/embedic-large
  • Maximum Sequence Length: 512 tokens
  • Output Dimensionality: 1024 tokens
  • Similarity Function: Cosine Similarity

Model Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 512, 'do_lower_case': False}) with Transformer model: XLMRobertaModel 
  (1): Pooling({'word_embedding_dimension': 1024, '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})
  (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("sentence_transformers_model_id")
# Run inference
sentences = [
    'Šta je klađenje na kartone?',
    'Klađenje na kartone uključuje predviđanje broja žutih ili crvenih kartona na utakmici, postavljajući granicu pre početka utakmice.',
    'Ravnomerno klađenje podrazumeva postavljanje istog uloga na svaki događaj kako bi se smanjio rizik.',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 1024]

# Get the similarity scores for the embeddings
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [3, 3]

Evaluation

Metrics

Triplet

Metric Value
cosine_accuracy 1.0
dot_accuracy 0.0
manhattan_accuracy 1.0
euclidean_accuracy 1.0
max_accuracy 1.0

Training Details

Training Dataset

Unnamed Dataset

  • Size: 176 training samples
  • Columns: anchor, positive, and negative
  • Approximate statistics based on the first 176 samples:
    anchor positive negative
    type string string string
    details
    • min: 6 tokens
    • mean: 12.9 tokens
    • max: 21 tokens
    • min: 19 tokens
    • mean: 33.32 tokens
    • max: 54 tokens
    • min: 21 tokens
    • mean: 33.6 tokens
    • max: 54 tokens
  • Samples:
    anchor positive negative
    Kako funkcioniše klađenje uživo na tenis? Klađenje uživo na tenis omogućava predviđanje ishoda poena, gemova i setova tokom meča, sa stalnim promenama kvota u zavisnosti od igre. Trixie sistem klađenja uključuje četiri opklade na tri različita događaja: tri dubl opklade i jednu trostruku opkladu. Dovoljna su dva pogođena događaja da bi se ostvario dobitak.
    Šta je klađenje na produžetke? Klađenje na produžetke uključuje opklade na ishod utakmice u dodatnim periodima igre, nakon regularnog vremena. Najpopularnije lige za klađenje na hokej uključuju NHL, Kontinentalnu ligu (KHL) i švedsku hokejašku ligu.
    Kako pandemija COVID-19 utiče na otkazivanje utakmica? Pandemija COVID-19 je dovela do povećanja broja otkazanih utakmica zbog zdravstvenih protokola i izolacija igrača. Hendikep dodaje golove slabijem timu kako bi se izjednačile šanse za oba tima.
  • Loss: MultipleNegativesRankingLoss with these parameters:
    {
        "scale": 20.0,
        "similarity_fct": "cos_sim"
    }
    

Evaluation Dataset

Unnamed Dataset

  • Size: 45 evaluation samples
  • Columns: anchor, positive, and negative
  • Approximate statistics based on the first 45 samples:
    anchor positive negative
    type string string string
    details
    • min: 6 tokens
    • mean: 12.89 tokens
    • max: 20 tokens
    • min: 25 tokens
    • mean: 35.67 tokens
    • max: 53 tokens
    • min: 21 tokens
    • mean: 32.58 tokens
    • max: 54 tokens
  • Samples:
    anchor positive negative
    Kako DNB funkcioniše u klađenju uživo? U klađenju uživo, DNB postaje profitabilan kada autsajder postigne gol prvi, povećavajući kvote za favorita. Klađenje na kornere omogućava predviđanje broja kornera na utakmici. Igrač se kladi da li će broj kornera biti iznad ili ispod postavljene granice.
    Šta se dešava sa opkladama u slučaju promenjenog mesta događaja? Ako se promeni mesto održavanja utakmice, opklade postaju nevažeće, a kvota se računa kao 1.00. Ako se utakmica pomeri za više od 48 sati, kladionica proglašava događaj nevažećim i kvota postaje 1.00.
    Šta je azijski hendikep? Azijski hendikep daje jednom timu prednost pre početka utakmice, a opklada se deli na dve odvojene opklade kako bi se izjednačile šanse za pobedu. Najčešći tipovi klađenja uključuju konačan ishod, hendikep, ukupan broj poena, i klađenje na performanse pojedinih igrača.
  • Loss: MultipleNegativesRankingLoss with these parameters:
    {
        "scale": 20.0,
        "similarity_fct": "cos_sim"
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • eval_strategy: epoch
  • per_device_eval_batch_size: 16
  • learning_rate: 3e-05
  • warmup_ratio: 0.1
  • fp16: True
  • load_best_model_at_end: True
  • ddp_find_unused_parameters: False

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: 16
  • 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: 3e-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: 3
  • 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: 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: 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
  • optim_args: None
  • adafactor: False
  • group_by_length: False
  • length_column_name: length
  • ddp_find_unused_parameters: False
  • 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
  • use_liger_kernel: False
  • eval_use_gather_object: False
  • batch_sampler: batch_sampler
  • multi_dataset_batch_sampler: proportional

Training Logs

Epoch Step Training Loss loss max_accuracy
0.1818 4 0.5902 - -
0.3636 8 0.2228 - -
0.5455 12 0.1065 - -
0.7273 16 0.0107 - -
0.9091 20 0.0801 - -
1.0 22 - 0.1504 1.0

Framework Versions

  • Python: 3.10.14
  • Sentence Transformers: 3.1.1
  • Transformers: 4.45.0
  • PyTorch: 2.3.0
  • Accelerate: 0.34.1
  • Datasets: 2.19.1
  • Tokenizers: 0.20.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}
}