avinot's picture
Add new SentenceTransformer model.
a23af80 verified
metadata
base_model: distilbert/distilroberta-base
datasets: []
language: []
library_name: sentence-transformers
pipeline_tag: sentence-similarity
tags:
  - sentence-transformers
  - sentence-similarity
  - feature-extraction
  - generated_from_trainer
  - dataset_size:3394
  - loss:MultipleNegativesRankingLoss
widget:
  - source_sentence: >
      As senna, Watch your positioning at all times so she cannot land crucial
      spells on you.


      Keep the minion wave closer to your side of the map to force her to
      over-extend for farm.


      Senna is quite weak early, you might be able to abuse that to gain an
      early health advantage. But if you can’t, don’t worry.


      Focus on farming early on if you can’t get kills. Try to poke her down
      often: whenever she uses her Q, try and use yours.
    sentences:
      - >-
        As riven, Riven will begin to fall as the game continues, so she will
        have to accumulate an early lead on. She should rely on peaks to win the
        game. She will have a lot of articles during this phase of the game,
        which will let her dry a lot of damage if she manages to catch an enemy.
        Level 16 is a massive power peak, which means that she can completely
        decimate the enemies that are joined together. She will have to find
        flanks on the enemy frequently.
      - >-
        As senna, Watch your position at all times so it can't put crucial
        spells on you. Keep the minion wave closer to your side of the map to
        force it to overtake for the farm. Senna is weak enough early, you might
        be able to abuse it to gain an early health benefit. But if you can,
        don't worry. Focus on agriculture early if you can't get killed.
      - >-
        Against zac, Zac really has long cooling times on his engagement
        abilities. As a result, he can really use them as a tool of engagement
        or escape only once in a fight. If you know that he is without these
        abilities- try to fight him. Placing the vision around his entrances
        into the jungle and into the river will reduce his ability to get
        successful ganks. Note that Zac can gank from afar with his E however.
        The easiest way for Zac to kill the Crab Scuttle is by using his E. If
        you see him killing the Crab Scuttle, it will usually mean that his E is
        on cooldown and he will miss an escape tool.
  - source_sentence: >-
      As teemo, Use your t to prevent the enemy ADC from doing anything in this
      game. Always focus on the champion that is close to your carry for maximal
      effectiveness.


      Try to lure enemies into fighting near your Ultimate t infested areas. It
      will allow you to auto-win a major fight due to the amount of damage your
      Ultimate t traps do.


      Ensure that your Ultimate t traps are in the choke points during neutral
      objective fights. This will make it really hard for the enemy team to do
      anything in the fight.
    sentences:
      - >-
        As taric, Taric will have his Q maxed at level 9. This means that he
        will heal a lot during a fight as long as he has enough mana to
        constantly use the ability. At level 11, Taric will have two points in
        his Ultimate R. This means that he will be able to use the ability
        frequently, which will make him powerful enough in team combat. At level
        thirteen, Taric will have two of his maximum capabilities out. This
        means that he will excel in team combat and will be successfully peeled
        for his port.
      - >-
        As annie, Look for aggressive parts at level 2 that you are stronger
        than it at level 2. Look for aggressive parts when its dizziness is
        down. Fight it after it uses its dizziness that you will win a battle
        with it. After you have obtained your first element, just keep pushing
        it in and get turn plates. Look for roaming opportunities when possible.
      - >-
        As teemo, Use your t to prevent the ADC enemy from doing anything in
        this game. Always focus on the champion who is close to your door for
        maximum efficiency. Try to attract enemies into the fight near your
        infested areas Ultimate t. It will allow you to self-win a major fight
        due to the amount of damage your Ultimate t traps do. Make sure your
        Ultimate t traps are in the choking points during neutral objective
        combats. This will make it really difficult for the enemy team to do
        anything in the fight.
  - source_sentence: >-
      As senna, 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.
    sentences:
      - >-
        As senna, 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 udyr, You are really good at securing the goals in early play. Look
        to secure the goals whenever they are. Find a healthy balance between
        the glove of your allies, the agriculture of your jungle and safety
        goals. Make sure you don't fall behind in XP trying to gank constantly.
        Look several times at the gank tracks that are wider or Flashless. Your
        champion is very good at several times the glove tracks over and over
        again.
      - >-
        As bard, Once you reach this stage, you should focus more on roaming and
        the impact of the map with your Ultimate R & E. When you keep in depth,
        make sure to keep your E ready to escape any sticky situation. Before
        leaving your track, drop some W shrines here and there. This will help
        your ADC stay healthy, especially when they are against a poke track.
        Always try to lure enemy travellers to push and use the wall behind them
        to E and then stun them with your Q. The association with your
        Jungler/other travelers will give maximum efficiency and enemies
        generally do not plan such coins.
  - source_sentence: >-
      Against trundle, When Trundle activates his n, back away immediately. He
      will become much tankier and your tanks will be weak. Re-engage when his
      Subjugate Subjugate n has cooled off.


      He has great pick potential in the mid game with his e. Avoid standing too
      far forward as he may push you towards his team and then all-in you.


      Poke is your best friend against Trundle. Getting him really low makes it
      near impossible for him to all-in or fight your team.
    sentences:
      - >-
        As kalista, If she has a support that can complete her escarment power,
        she will easily take the level path one himself. Kalista's passive does
        so so that she can easily avoid the CC abilities especially if it turns
        out that it is a skill shot. It also allows her to jump in and out of
        nonwarded brushes to drop the vision on the enemies. Once she gets her
        Ultimate x, her down pursuit potential becomes unmatched.
      - >-
        Against trundle, When Trundle activates his n, backs off immediately. He
        will become much more tankier and your tanks will be weak. Re-engagement
        when his Subjugate Subjugate n has cooled. He has great potential of
        choice in the middle of the match with his e. Avoid standing too far
        ahead that he can push you towards his team and then all of you. Poke is
        your best friend against Trundle.
      - >-
        As viego, Viego is decent enough during the team fights because of his W
        and Q. His life flight will help him during the full fights, and his
        Ultimate R will act as a decent finish movement. Viego will win a
        massive power peak once he has two points in his Ultimate R. He can run
        squishy targets, execute them and use his Passive for much longer than
        any other champion in his situation. He will have his basic elements
        through this phase of the game. He should be able to flatten a lot of
        damage and catch the out-of-guard enemies with his W. His E should help
        him shoot several ganks as well.
  - source_sentence: >-
      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.


      He is pretty decent during late-game fights, as his AoE abilities will
      hurt a lot. His survivability is quite appreciable as well.


      His 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.
    sentences:
      - >-
        As karma, Unlike most champions, Karma unlocks her Ultimate has at level
        1. This means that at level 6, she doesn't have as much pressure
        compared to many other champions especially if they re-level 6 power
        peak is very strong. When Karmas d is down, she is vulnerable to attack
        and will need to play safely while he is on the cooldown. His Q can
        easily be avoided if the enemy builds a huge wave or positions properly.
      - >-
        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.

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