SentenceTransformer based on google/embeddinggemma-300m

This is a sentence-transformers model finetuned from google/embeddinggemma-300m. 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: google/embeddinggemma-300m
  • Maximum Sequence Length: 2048 tokens
  • Output Dimensionality: 768 dimensions
  • Similarity Function: Cosine Similarity

Model Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 2048, 'do_lower_case': False, 'architecture': 'Gemma3TextModel'})
  (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})
  (2): Dense({'in_features': 768, 'out_features': 3072, 'bias': False, 'activation_function': 'torch.nn.modules.linear.Identity'})
  (3): Dense({'in_features': 3072, 'out_features': 768, 'bias': False, 'activation_function': 'torch.nn.modules.linear.Identity'})
  (4): 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("Pierrax/embeddinggemma-chess-arbiter-fr")
# Run inference
queries = [
    "Quel est le contenu de l\u0027article 4.3.2.1 ?",
]
documents = [
    "Règlement médical\nFEDERATION FRANÇAISE DES ECHECS\nASSOCIATION DECLAREE CONFORME A LA LOI DU 1er JUILLET 1901- JO du 22 mai 1921\n \n \nCD FFE – 19.08.2022\nB07 – 6/6\n \n \n \n4.3.3 AUT à effet rétroactif \nLes licencié(e)s ne répondant pas à la définition de joueurs de niveau international comme \ndéfini à l’article 4.3.2.1 peuvent, après un contrôle antidopage faire une demande d’AUT \nà effet rétroactif. La demande (ANNEXE) est à adresser dans les 30 jours au médecin fédéral qui \nest tenu au secret professionnel dans les conditions et sous les réserves énoncées aux articles \n226-13 et226-14du code pénal. \n \n5 Surveillance des joueurs et joueuses de niveau international \nConformément à l’article A. 231-3 du code du sport les joueurs et joueuses de niveau \ninternational comme défini à l’article 4.3.2 doivent se soumettre dans les deux mois suivant \nleurs sélections en équipe de France, puis/ou annuellement à : \n\uf0b7 Un examen médical réalisé par un médecin du sport comprenant : \no Un examen clinique avec interrogatoire et examen physique selon les recommandations \nde la Société française de médecine de l'exercice et du sport. \no Un bilan diététique et des conseils nutritionnels. \no Un bilan psychologique visant à dépister des difficultés psychopathologiques pouvant \nêtre liées à la pratique sportive intensive. \n\uf0b7 Un électrocardiogramme de repos. \n \nA la demande du médecin du sport et sous sa responsabilité, les bilans psychologique et \ndiététique peuvent être effectués respectivement par un psychologue clinicien ou un \ndiététicien. \nLes résultats des examens sont transmis au médecin fédéral. \nLa FFE prend en charge financièrement cette surveillance médicale.",
    "4.2.2. Tout autre contact physique avec une pièce, à l’exception d’un contact clairement accidentel, doit être \nconsidéré comme intentionnel. \nSelon cette règle, si un joueur ou une joueuse n’a pas dit « j’adoube » ou quelque chose de similaire avant de toucher \nune pièce et que le contact n’est pas accidentel alors la pièce touchée doit être déplacée. \nPar exemple, si les Blancs ont joué 1. Fe2xg5 en soulevant le fou et en retirant le cavalier (ce coup n’est pas possible) \nalors le fou sur e2 doit être déplacé car il a été touché dans l'intention de le déplacer. \n \n4.3. En dehors du cadre précisé par l’Article 4.2 si le joueur ou la joueuse au trait touche sur l’échiquier, avec l’intention \nde déplacer ou de prendre : \n4.3.1. Une ou plusieurs de ses propres pièces, il/elle doit déplacer la première pièce touchée pouvant être \ndéplacée. \n4.3.2. Une ou plusieurs des pièces adverses, il/elle doit prendre la première pièce touchée pouvant être prise. \n4.3.3. Une ou plusieurs pièces de chaque couleur, il/elle doit prendre la première pièce adverse touchée avec sa \npremière pièce touchée ou, si c’est illégal, déplacer ou prendre la première pièce touchée pouvant être déplacée \nou prise. Si on ne peut pas déterminer si c’est une de ses pièces ou une des pièces adverses qui a été touchée en \npremier, alors on considère que c’est sa propre pièce qui a été touchée en premier, avant celle de son adversaire.",
    '9.10.3 Obligations de confidentialité\nLes membres de la commission sont tenus à une obligation de confidentialité concernant les informations\ndont ils ont connaissance dans le cadre de leurs missions. Ils sont en outre tenus de s’abstenir de toute dé-\nclaration publique qui serait de nature à remettre en cause leur impartialité.\nRèglement Intérieur de la Fédération Française des Échecs\nPage 19/19',
]
query_embeddings = model.encode_query(queries)
document_embeddings = model.encode_document(documents)
print(query_embeddings.shape, document_embeddings.shape)
# [1, 768] [3, 768]

# Get the similarity scores for the embeddings
similarities = model.similarity(query_embeddings, document_embeddings)
print(similarities)
# tensor([[0.8131, 0.5536, 0.0916]])

Training Details

Training Dataset

Unnamed Dataset

  • Size: 2,152 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.5 tokens
    • max: 37 tokens
    • min: 30 tokens
    • mean: 383.58 tokens
    • max: 631 tokens
    • min: 91 tokens
    • mean: 384.08 tokens
    • max: 620 tokens
  • Samples:
    anchor positive negative
    Que dit l'article 1 ? FEDERATION FRANÇAISE DES ECHECS ASSOCIATION DECLAREE CONFORME A LA LOI DU 1ER JUILLET 1901 – JO DU 22 MAI 1921

    Règlement Disciplinaire
    AG FFE - 22.04.2018
    B03-1/8

    RÈGLEMENT DISCIPLINAIRE
    ARTICLE 1ER – OBJET
    Le présent règlement est établi en application des articles L. 131-8 et R. 131-3 du Code du Sport et
    conformément à l'article 5.1 des statuts de la Fédération Française des Echecs (FFE).
    Le présent règlement ne s'applique pas à l'exercice du pouvoir disciplinaire à l'égard des agents sportifs et
    en matière de lutte contre le dopage, régi par des dispositions particulières.

    CHAPITRE Ier : ORGANES ET PROCÉDURES DISCIPLINAIRES
    Section I : Dispositions communes aux organes disciplinaires de première instance et d'appel
    ARTICLE 2 – DEFINITION – COMPOSITION
    Il est institué différents organes investis du pouvoir disciplinaire à l'égard :

    des licenciés de la FFE ;

    des associations affiliées à la FFE ;

    tout membre, préposé, salarié ou bénévole de ces associati...
    Partie 1:LA D.N.A. et les arbitres
    Chapitre 1.2 :Les missions de l’arbitre
    Version d’octobre 2025
    page 10 sur 227
    Direction Nationale de l’arbitrage
    Article 5
    Défraiement des arbitres
    Dès sa nomination, l’arbitre et l’équipe d’organisation devront définir l’ensemble des frais liés à l’arbitrage. L’arbitre
    en chef a la mission de s’assurer que les frais liés aux arbitres adjoints aient été aussi pris en compte. Ces frais incluent :

    Indemnités des arbitres suivant les tarifs officiels du "barème d'indemnisation des arbitres" ;

    Frais de déplacements ;

    Hébergement et restauration ;
    Les arbitres sont en droit de solliciter le paiement de leurs indemnités avant la dernière ronde du tournoi. En l’absence
    de paiement, les arbitres ne communiqueront pas les résultats aux autorités fédérales ou internationales.
    Article 6
    Relations avec les instances fédérales
    À la fin de l’événement, l'Arbitre en chef doit transmettre le jour même les résultats sportifs et doit rédiger ...
    Quel est le contenu de l'article 1 ? FEDERATION FRANÇAISE DES ECHECS ASSOCIATION DECLAREE CONFORME A LA LOI DU 1ER JUILLET 1901 – JO DU 22 MAI 1921

    Règlement Disciplinaire
    AG FFE - 22.04.2018
    B03-1/8

    RÈGLEMENT DISCIPLINAIRE
    ARTICLE 1ER – OBJET
    Le présent règlement est établi en application des articles L. 131-8 et R. 131-3 du Code du Sport et
    conformément à l'article 5.1 des statuts de la Fédération Française des Echecs (FFE).
    Le présent règlement ne s'applique pas à l'exercice du pouvoir disciplinaire à l'égard des agents sportifs et
    en matière de lutte contre le dopage, régi par des dispositions particulières.

    CHAPITRE Ier : ORGANES ET PROCÉDURES DISCIPLINAIRES
    Section I : Dispositions communes aux organes disciplinaires de première instance et d'appel
    ARTICLE 2 – DEFINITION – COMPOSITION
    Il est institué différents organes investis du pouvoir disciplinaire à l'égard :

    des licenciés de la FFE ;

    des associations affiliées à la FFE ;

    tout membre, préposé, salarié ou bénévole de ces associati...
    Partie 1:LA D.N.A. et les arbitres
    Chapitre 1.2 :Les missions de l’arbitre
    Version d’octobre 2025
    page 7 sur 227
    Direction Nationale de l’arbitrage
    Chapitre 1.2 : Les missions de
    l’arbitre
    Charte de l’Arbitre
    A.
    Mission fédérale
    B.
    Mission administrative
    C.
    Mission sur les lieux d’un tournoi
    Que dit l'article 9 ? Ces organes sont les suivants :

    Un organe disciplinaire fédéral de 1re instance dénommé « Commission Fédérale de Discipline » (CFD) ;

    Un organe disciplinaire régional de 1re instance dénommé « Commission Régionale de Discipline »
    (CRD) dans chaque organe déconcentré régional de la FFE, saisi lorsque le Bureau Fédéral décide
    d’engager des poursuites selon les modalités prévues à l’article 9, sans transmettre directement
    l’affaire à la Commission Fédérale de Discipline, en fonction de la gravité du litige ;

    Un organe disciplinaire d’appel dénommé « Commission d’Appel », compétent pour trancher les appels
    interjetés à l’encontre de toutes décisions rendues en 1re instance.
    Ces organes disciplinaires sont compétents pour prononcer des sanctions à raison des faits suivants,
    commis par une personne physique ou morale en une des qualités mentionnées ci-dessus à la date de
    commission des faits :

    faits contraires aux règles posées par les statuts et règlements de la Fédér...
    Elle n’a pas le droit de retirer sa réclamation.
    9.5.2. Si la réclamation est jugée correcte, la partie est déclarée immédiatement nulle.
    9.5.3. Si la réclamation est jugée incorrecte, l’arbitre ajoute deux minutes au temps de réflexion restant de
    l’adversaire. La partie doit continuer. Si la réclamation était basée sur un coup prévu, ce coup doit être joué en
    respectant les Articles 3 et 4.
    Cette réclamation n'est pas traitée comme un coup illégal, toutefois il est stipulé que le coup prévu doit être joué, s’il
    s’agit d’un coup illégal, un autre coup doit être joué avec la même pièce. Tous les autres éléments de l’article 4
    s’appliquent.
    9.6. Si l’une ou les deux situations suivantes se produisent, alors la partie est nulle :
    9.6.1. La même position est apparue, comme en 9.2.2 au moins cinq fois ;
    9.6.2. Une suite d’au moins 75 coups a été jouée par chacun des deux adversaires, sans aucun mouvement de pion
    ni prise. Si le dernier coup produit un mat, celui-ci est prioritair...
  • Loss: MultipleNegativesRankingLoss with these parameters:
    {
        "scale": 20.0,
        "similarity_fct": "cos_sim",
        "gather_across_devices": false
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • per_device_train_batch_size: 2
  • gradient_accumulation_steps: 8
  • learning_rate: 2e-05
  • warmup_ratio: 0.1
  • dataloader_drop_last: True
  • dataloader_num_workers: 2

All Hyperparameters

Click to expand
  • overwrite_output_dir: False
  • do_predict: False
  • eval_strategy: no
  • prediction_loss_only: True
  • per_device_train_batch_size: 2
  • per_device_eval_batch_size: 8
  • per_gpu_train_batch_size: None
  • per_gpu_eval_batch_size: None
  • gradient_accumulation_steps: 8
  • eval_accumulation_steps: None
  • torch_empty_cache_steps: None
  • learning_rate: 2e-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
  • 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: True
  • dataloader_num_workers: 2
  • 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}
  • parallelism_config: None
  • deepspeed: None
  • label_smoothing_factor: 0.0
  • optim: adamw_torch_fused
  • optim_args: None
  • adafactor: False
  • group_by_length: False
  • length_column_name: length
  • project: huggingface
  • trackio_space_id: trackio
  • 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: None
  • hub_always_push: False
  • hub_revision: None
  • gradient_checkpointing: False
  • gradient_checkpointing_kwargs: None
  • include_inputs_for_metrics: False
  • include_for_metrics: []
  • 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
  • include_tokens_per_second: False
  • include_num_input_tokens_seen: no
  • neftune_noise_alpha: None
  • optim_target_modules: None
  • batch_eval_metrics: False
  • eval_on_start: False
  • use_liger_kernel: False
  • liger_kernel_config: None
  • eval_use_gather_object: False
  • average_tokens_across_devices: True
  • prompts: None
  • batch_sampler: batch_sampler
  • multi_dataset_batch_sampler: proportional
  • router_mapping: {}
  • learning_rate_mapping: {}

Training Logs

Epoch Step Training Loss
0.7435 50 1.0852
1.4758 100 0.455
2.2082 150 0.3961
2.9517 200 0.2978

Framework Versions

  • Python: 3.12.12
  • Sentence Transformers: 5.1.1
  • Transformers: 4.57.1
  • PyTorch: 2.8.0+cu126
  • Accelerate: 1.11.0
  • Datasets: 4.4.2
  • Tokenizers: 0.22.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
-
Safetensors
Model size
0.3B params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for Pierrax/embeddinggemma-chess-arbiter-fr

Finetuned
(205)
this model

Papers for Pierrax/embeddinggemma-chess-arbiter-fr