Edit model card

SentenceTransformer based on distilbert/distilroberta-base

This is a sentence-transformers model finetuned from distilbert/distilroberta-base. 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: distilbert/distilroberta-base
  • Maximum Sequence Length: 512 tokens
  • Output Dimensionality: 768 tokens
  • Similarity Function: Cosine Similarity

Model Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 512, 'do_lower_case': False}) with Transformer model: RobertaModel 
  (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("avinot/distilroberta-base-LoL-Champions")
# Run inference
sentences = [
    'As mordekaiser, Another point in his Ultimate R will allow him to 1 v 1 target quite frequently. He should be able to secure picks even now.\n\nHe is pretty decent during late-game fights, as his AoE abilities will hurt a lot. His survivability is quite appreciable as well.\n\nHis tankiness will be massive during this phase of the game. He should be focused on absorbing a lot of damage for the enemy team while simultaneously picking off enemies when possible.',
    'As mordekaiser, Another point in his Ultimate R will allow him to 1 v 1 target quite frequently. He should be able to secure the choices even now. He is quite decent during the fights at the end of the game, because his AoE abilities will do a lot of harm. His survival is just as appreciable. His tankness will be massive during this phase of the game. He should be focused on absorbing a lot of damage for the enemy team while simultaneously dropping enemies when possible.',
    'As renekton, If you can get a murder or two, you can snowball your lead quite quickly. Every time your Ultimate t is up, you can look for aggressive games to try to kill the enemy. Your Ultimate t is an excellent trading tool that makes you much stronger. Keep the minion wave even or slightly closer to your side of the map early. This will allow you to run the enemy down while protecting yourself from the ganks. If you keep pushing when you are not forward, you will be unable to run the enemy down and you will be an easy target for the enemy Jungler.',
]
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]

Training Details

Training Dataset

Unnamed Dataset

  • Size: 3,394 training samples
  • Columns: sentence_0 and sentence_1
  • Approximate statistics based on the first 1000 samples:
    sentence_0 sentence_1
    type string string
    details
    • min: 6 tokens
    • mean: 125.49 tokens
    • max: 272 tokens
    • min: 27 tokens
    • mean: 109.21 tokens
    • max: 231 tokens
  • Samples:
    sentence_0 sentence_1
    As sivir, Just like in the mid-game, you should stick with your Support throughout the later parts of the game. Do not go around the map alone as you will die easily.

    Do not play super aggressive in team fights. Just kite and auto-attack the nearest enemy champion. If you walk too far forward, the enemy will focus you and take you down.

    Continue to kite in team fights and consistently adapt your positioning. Avoid standing still in fights as you’ll be an easy target.
    As sivir, Just like in the middle of the game, you have to stay with your support throughout the later parts of the game. Do not go around the map alone because you will die easily. Do not play super aggressive in team fights. Just kite and automatic attack the nearest enemy champion. If you walk too far forward, the enemy will concentrate and down you. Continue kiteing in team fights and systematically adapt your positioning.
    As nunu, After going in with your Ultimate R, be prepared to fall back and peel for your allies in late-game team fights.

    Play around your Ultimate R in the later parts of the game. Avoid fighting unless your Ultimate R is up. Fighting without it will make the late-game team fights much harder. Delay fights and be prepared to disengage if it’s still on cooldown.

    To make getting on the enemy backline easier, group with your team but stay off to the side. If you flank from an unwarded bush, the enemy will find it harder to react to your all-in. Avoid splitting or being away from your team in the late game as the enemy will force a fight while you’re gone.
    As nunu, After entering with your Ultimate R, be ready to fold and peel for your allies in the team fights at the end of the game. Play around your Ultimate R in the later parts of the game. Avoid fighting unless your Ultimate R is standing. Fighting without it will make the team fight a lot harder at the end of the game. Delaying the fights and being ready to disengage if it is still about to cool off. To make the enemy's attack easier, group with your team but stay away from the side. If you flank a bush not awarded, the enemy will find it harder to react to your all-in. Avoid separating or being away from your team in the end of the game as the enemy will force a fight while you are gone.
    As darius, Darius is one of the strongest early game champions in the game. You can use this advantage to gain an early lead.

    Extended trades work in the favour of Darius thanks to his Passive. He will win almost every auto-attack battle. This makes him a great duelist in low ELO as many players like to constantly fight.

    Is really good in team fights thanks to his Ultimate e which can be reset if he gets the killing blow with it.
    As darius, Darius is one of the first strongest game champions in the game. You can use this advantage to gain an early lead. Extended trades work in favor of Darius thanks to his passive. He will win almost all automatic attack battles. This makes him a great duelist in the bottom ELO as many players like to fight constantly. Is really good in team fights thanks to his Ultimate e that can be reset if he gets the shot of death with her.
  • Loss: MultipleNegativesRankingLoss with these parameters:
    {
        "scale": 20.0,
        "similarity_fct": "cos_sim"
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • per_device_train_batch_size: 16
  • per_device_eval_batch_size: 16
  • num_train_epochs: 10
  • multi_dataset_batch_sampler: round_robin

All Hyperparameters

Click to expand
  • overwrite_output_dir: False
  • do_predict: False
  • eval_strategy: no
  • prediction_loss_only: True
  • per_device_train_batch_size: 16
  • 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
  • learning_rate: 5e-05
  • weight_decay: 0.0
  • adam_beta1: 0.9
  • adam_beta2: 0.999
  • adam_epsilon: 1e-08
  • max_grad_norm: 1
  • num_train_epochs: 10
  • max_steps: -1
  • lr_scheduler_type: linear
  • lr_scheduler_kwargs: {}
  • warmup_ratio: 0.0
  • 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: 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
  • batch_sampler: batch_sampler
  • multi_dataset_batch_sampler: round_robin

Training Logs

Epoch Step Training Loss
2.3474 500 1.9312
4.6948 1000 0.0145
7.0423 1500 0.0023
9.3897 2000 0.0003

Framework Versions

  • Python: 3.10.12
  • Sentence Transformers: 3.0.1
  • Transformers: 4.41.2
  • PyTorch: 2.3.0+cu121
  • Accelerate: 0.31.0
  • 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",
}

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}
}
Downloads last month
22
Safetensors
Model size
82.1M params
Tensor type
F32
·
Inference API
This model can be loaded on Inference API (serverless).

Finetuned from