bourdoiscatie's picture
Update README.md
d57927a verified
metadata
tags:
  - sentence-transformers
  - sparse-encoder
  - sparse
  - splade
  - generated_from_trainer
  - dataset_size:10000
  - loss:SpladeLoss
  - loss:SparseMultipleNegativesRankingLoss
  - loss:FlopsLoss
base_model: almanach/moderncamembert-cv2-base
widget:
  - text: >-
      Même si la production se fait de plus en plus souvent à l'étranger, les
      entreprises françaises restent prédominantes dans de nombreux domaines,
      certaines occupent la première place du marché mondial dans leur domaine
      (par exemple L'Oréal dans les cosmétiques ou Michelin dans les
      pneumatiques). En 2018, françaises figurent dans le classement Global 500
      du magazine "Fortune", ainsi la France est le cinquième pays avec le plus
      d'entreprises dans le classement, derrière les États-Unis, la Chine,
      l'Allemagne et le Japon. Les six entreprises françaises figurant dans le
      top 100 sont Axa (rang 27), Total (rang 28), BNP Paribas (rang 44),
      Carrefour (rang 68), Crédit agricole (rang 82) et EDF (rang 94).
  - text: >-
      La plupart des planeurs sont capables d'effectuer des figures de base de
      voltige, mais du fait de leur envergure, ils sont moins maniables que les
      avions. Pour les compétitions, il existe donc des planeurs de voltige,
      d'envergure moindre donc très maniables, mais dont la finesse plus faible
      les rend moins apte au vol à voile.
  - text: >-
      Le ou CSP est un parti politique démocrate-chrétien belge de la Communauté
      germanophone. Actuellement, le parti est présidé par Luc Frank. Le CSP est
      structurellement lié à son parti frère francophone, le Centre démocrate
      humaniste, pour les élections régionales wallonnes, les élections
      provinciales et fédérales.
  - text: >-
      Le punk rock est un genre musical dérivé du rock, apparu au milieu des
      années 1970 et associé au mouvement punk de cette même époque. Précédé par
      une variété de musique protopunk des années 1960 et du début des années
      1970, le punk rock se développe surtout entre 1974 et 1976 aux États-Unis,
      au Royaume-Uni et en Australie. Des groupes comme les Ramones, les Sex
      Pistols, et The Saints sont reconnus comme les pionniers d'un nouveau
      mouvement musical. Les groupes de punk rock, s'opposant à la lourdeur
      qu'ils jugent excessive et à l'institutionnalisation du rock populaire des
      années 1970, créent une musique rapide et rude, généralement servie par
      des chansons de courte durée, une instrumentation simplifiée et des
      paroles souvent chargées de messages politiques ou nihilistes. Le
      mouvement punk, associé au genre, exprime une rébellion jeune et est
      caractérisé par des styles vestimentaires distinctifs, une variété
      d'idéologies anti-autoritaires et une attitude "" (« Faites-le vous-même
      »).
  - text: >-
      Le ou CSP est un parti politique démocrate-chrétien belge de la Communauté
      germanophone. Actuellement, le parti est présidé par Luc Frank. Le CSP est
      structurellement lié à son parti frère francophone, le Centre démocrate
      humaniste, pour les élections régionales wallonnes, les élections
      provinciales et fédérales.
datasets:
  - bourdoiscatie/triplet_small
pipeline_tag: feature-extraction
library_name: sentence-transformers
metrics:
  - dot_accuracy@1
  - dot_accuracy@3
  - dot_accuracy@5
  - dot_accuracy@10
  - dot_precision@1
  - dot_precision@3
  - dot_precision@5
  - dot_precision@10
  - dot_recall@1
  - dot_recall@3
  - dot_recall@5
  - dot_recall@10
  - dot_ndcg@10
  - dot_mrr@10
  - dot_map@100
  - query_active_dims
  - query_sparsity_ratio
  - corpus_active_dims
  - corpus_sparsity_ratio
model-index:
  - name: SPLADE Sparse Encoder
    results:
      - task:
          type: sparse-information-retrieval
          name: Sparse Information Retrieval
        dataset:
          name: NanoMSMARCO
          type: NanoMSMARCO
        metrics:
          - type: dot_accuracy@1
            value: 0.1
            name: Dot Accuracy@1
          - type: dot_accuracy@3
            value: 0.18
            name: Dot Accuracy@3
          - type: dot_accuracy@5
            value: 0.36
            name: Dot Accuracy@5
          - type: dot_accuracy@10
            value: 0.44
            name: Dot Accuracy@10
          - type: dot_precision@1
            value: 0.1
            name: Dot Precision@1
          - type: dot_precision@3
            value: 0.06
            name: Dot Precision@3
          - type: dot_precision@5
            value: 0.07200000000000001
            name: Dot Precision@5
          - type: dot_precision@10
            value: 0.04400000000000001
            name: Dot Precision@10
          - type: dot_recall@1
            value: 0.1
            name: Dot Recall@1
          - type: dot_recall@3
            value: 0.18
            name: Dot Recall@3
          - type: dot_recall@5
            value: 0.36
            name: Dot Recall@5
          - type: dot_recall@10
            value: 0.44
            name: Dot Recall@10
          - type: dot_ndcg@10
            value: 0.24781469888162072
            name: Dot Ndcg@10
          - type: dot_mrr@10
            value: 0.18852380952380954
            name: Dot Mrr@10
          - type: dot_map@100
            value: 0.20267531990339566
            name: Dot Map@100
          - type: query_active_dims
            value: 80.73999786376953
            name: Query Active Dims
          - type: query_sparsity_ratio
            value: 0.9975360108073801
            name: Query Sparsity Ratio
          - type: corpus_active_dims
            value: 32.6964111328125
            name: Corpus Active Dims
          - type: corpus_sparsity_ratio
            value: 0.9990021847188473
            name: Corpus Sparsity Ratio
      - task:
          type: sparse-information-retrieval
          name: Sparse Information Retrieval
        dataset:
          name: NanoNFCorpus
          type: NanoNFCorpus
        metrics:
          - type: dot_accuracy@1
            value: 0.26
            name: Dot Accuracy@1
          - type: dot_accuracy@3
            value: 0.36
            name: Dot Accuracy@3
          - type: dot_accuracy@5
            value: 0.42
            name: Dot Accuracy@5
          - type: dot_accuracy@10
            value: 0.48
            name: Dot Accuracy@10
          - type: dot_precision@1
            value: 0.26
            name: Dot Precision@1
          - type: dot_precision@3
            value: 0.22
            name: Dot Precision@3
          - type: dot_precision@5
            value: 0.184
            name: Dot Precision@5
          - type: dot_precision@10
            value: 0.136
            name: Dot Precision@10
          - type: dot_recall@1
            value: 0.008340457250764616
            name: Dot Recall@1
          - type: dot_recall@3
            value: 0.04502583768261485
            name: Dot Recall@3
          - type: dot_recall@5
            value: 0.06399892144981056
            name: Dot Recall@5
          - type: dot_recall@10
            value: 0.07443120662131407
            name: Dot Recall@10
          - type: dot_ndcg@10
            value: 0.1758077986435294
            name: Dot Ndcg@10
          - type: dot_mrr@10
            value: 0.32066666666666666
            name: Dot Mrr@10
          - type: dot_map@100
            value: 0.05569320900819794
            name: Dot Map@100
          - type: query_active_dims
            value: 58.13999938964844
            name: Query Active Dims
          - type: query_sparsity_ratio
            value: 0.998225708026439
            name: Query Sparsity Ratio
          - type: corpus_active_dims
            value: 33.627498626708984
            name: Corpus Active Dims
          - type: corpus_sparsity_ratio
            value: 0.9989737701835111
            name: Corpus Sparsity Ratio
      - task:
          type: sparse-information-retrieval
          name: Sparse Information Retrieval
        dataset:
          name: NanoNQ
          type: NanoNQ
        metrics:
          - type: dot_accuracy@1
            value: 0.06
            name: Dot Accuracy@1
          - type: dot_accuracy@3
            value: 0.1
            name: Dot Accuracy@3
          - type: dot_accuracy@5
            value: 0.1
            name: Dot Accuracy@5
          - type: dot_accuracy@10
            value: 0.22
            name: Dot Accuracy@10
          - type: dot_precision@1
            value: 0.06
            name: Dot Precision@1
          - type: dot_precision@3
            value: 0.03333333333333333
            name: Dot Precision@3
          - type: dot_precision@5
            value: 0.02
            name: Dot Precision@5
          - type: dot_precision@10
            value: 0.024000000000000004
            name: Dot Precision@10
          - type: dot_recall@1
            value: 0.05
            name: Dot Recall@1
          - type: dot_recall@3
            value: 0.08
            name: Dot Recall@3
          - type: dot_recall@5
            value: 0.08
            name: Dot Recall@5
          - type: dot_recall@10
            value: 0.19
            name: Dot Recall@10
          - type: dot_ndcg@10
            value: 0.10832298540557454
            name: Dot Ndcg@10
          - type: dot_mrr@10
            value: 0.09207936507936507
            name: Dot Mrr@10
          - type: dot_map@100
            value: 0.09816620724466586
            name: Dot Map@100
          - type: query_active_dims
            value: 67.33999633789062
            name: Query Active Dims
          - type: query_sparsity_ratio
            value: 0.9979449464008212
            name: Query Sparsity Ratio
          - type: corpus_active_dims
            value: 36.64011764526367
            name: Corpus Active Dims
          - type: corpus_sparsity_ratio
            value: 0.9988818323472515
            name: Corpus Sparsity Ratio
      - task:
          type: sparse-nano-beir
          name: Sparse Nano BEIR
        dataset:
          name: NanoBEIR mean
          type: NanoBEIR_mean
        metrics:
          - type: dot_accuracy@1
            value: 0.13999999999999999
            name: Dot Accuracy@1
          - type: dot_accuracy@3
            value: 0.21333333333333335
            name: Dot Accuracy@3
          - type: dot_accuracy@5
            value: 0.29333333333333333
            name: Dot Accuracy@5
          - type: dot_accuracy@10
            value: 0.37999999999999995
            name: Dot Accuracy@10
          - type: dot_precision@1
            value: 0.13999999999999999
            name: Dot Precision@1
          - type: dot_precision@3
            value: 0.10444444444444445
            name: Dot Precision@3
          - type: dot_precision@5
            value: 0.09200000000000001
            name: Dot Precision@5
          - type: dot_precision@10
            value: 0.068
            name: Dot Precision@10
          - type: dot_recall@1
            value: 0.05278015241692154
            name: Dot Recall@1
          - type: dot_recall@3
            value: 0.10167527922753829
            name: Dot Recall@3
          - type: dot_recall@5
            value: 0.16799964048327018
            name: Dot Recall@5
          - type: dot_recall@10
            value: 0.2348104022071047
            name: Dot Recall@10
          - type: dot_ndcg@10
            value: 0.17731516097690822
            name: Dot Ndcg@10
          - type: dot_mrr@10
            value: 0.20042328042328042
            name: Dot Mrr@10
          - type: dot_map@100
            value: 0.11884491205208648
            name: Dot Map@100
          - type: query_active_dims
            value: 68.73999786376953
            name: Query Active Dims
          - type: query_sparsity_ratio
            value: 0.9979022217448801
            name: Query Sparsity Ratio
          - type: corpus_active_dims
            value: 34.43120229693405
            name: Corpus Active Dims
          - type: corpus_sparsity_ratio
            value: 0.9989492430939656
            name: Corpus Sparsity Ratio
language:
  - fr

SPLADE Sparse Encoder

This is a SPLADE Sparse Encoder model finetuned from almanach/moderncamembert-cv2-base on the triplet_small dataset using the sentence-transformers library. It maps sentences & paragraphs to a 32768-dimensional sparse vector space and can be used for semantic search and sparse retrieval.

Model Details

Model Description

Model Sources

Full Model Architecture

SparseEncoder(
  (0): MLMTransformer({'max_seq_length': 8192, 'do_lower_case': False, 'architecture': 'ModernBertForMaskedLM'})
  (1): SpladePooling({'pooling_strategy': 'max', 'activation_function': 'relu', 'word_embedding_dimension': 32768})
)

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 SparseEncoder

# Download from the 🤗 Hub
model = SparseEncoder("bourdoiscatie/sparse_encoder_test")
# Run inference
sentences = [
    'Qui est le chef du Parti Social Chrétien en Belgique?',
    'Le ou CSP est un parti politique démocrate-chrétien belge de la Communauté germanophone. Actuellement, le parti est présidé par Luc Frank. Le CSP est structurellement lié à son parti frère francophone, le Centre démocrate humaniste, pour les élections régionales wallonnes, les élections provinciales et fédérales.',
    'Le parti est renommé à la suite de la Seconde Guerre mondiale pour devenir le Parti Social Chrétien (PSC). "Un nouveau parti, une nouvelle pensée, de jeunes équipes, voilà ce qu\'est le PSC-CVP". Telle était la première phrase du programme de Noël 1945. Ce nouveau parti marquait une rupture radicale par rapport au parti d\'avant-guerre tant sur le plan doctrinal que celui de l\'organisation.',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 32768]

# Get the similarity scores for the embeddings
similarities = model.similarity(embeddings, embeddings)
print(similarities)
# tensor([[80.9456,  8.8064, 16.3190],
#         [ 8.8064,  9.4767,  5.4743],
#         [16.3190,  5.4743, 11.2208]])

Evaluation

Metrics

Sparse Information Retrieval

Metric NanoMSMARCO NanoNFCorpus NanoNQ
dot_accuracy@1 0.1 0.26 0.06
dot_accuracy@3 0.18 0.36 0.1
dot_accuracy@5 0.36 0.42 0.1
dot_accuracy@10 0.44 0.48 0.22
dot_precision@1 0.1 0.26 0.06
dot_precision@3 0.06 0.22 0.0333
dot_precision@5 0.072 0.184 0.02
dot_precision@10 0.044 0.136 0.024
dot_recall@1 0.1 0.0083 0.05
dot_recall@3 0.18 0.045 0.08
dot_recall@5 0.36 0.064 0.08
dot_recall@10 0.44 0.0744 0.19
dot_ndcg@10 0.2478 0.1758 0.1083
dot_mrr@10 0.1885 0.3207 0.0921
dot_map@100 0.2027 0.0557 0.0982
query_active_dims 80.74 58.14 67.34
query_sparsity_ratio 0.9975 0.9982 0.9979
corpus_active_dims 32.6964 33.6275 36.6401
corpus_sparsity_ratio 0.999 0.999 0.9989

Sparse Nano BEIR

  • Dataset: NanoBEIR_mean
  • Evaluated with main.SparseNanoBEIREvaluator with these parameters:
    {
        "dataset_names": [
            "msmarco",
            "nfcorpus",
            "nq"
        ]
    }
    
Metric Value
dot_accuracy@1 0.14
dot_accuracy@3 0.2133
dot_accuracy@5 0.2933
dot_accuracy@10 0.38
dot_precision@1 0.14
dot_precision@3 0.1044
dot_precision@5 0.092
dot_precision@10 0.068
dot_recall@1 0.0528
dot_recall@3 0.1017
dot_recall@5 0.168
dot_recall@10 0.2348
dot_ndcg@10 0.1773
dot_mrr@10 0.2004
dot_map@100 0.1188
query_active_dims 68.74
query_sparsity_ratio 0.9979
corpus_active_dims 34.4312
corpus_sparsity_ratio 0.9989

Training Details

Training Dataset

triplet_small

  • Dataset: triplet_small at 8dace9e
  • Size: 10,000 training samples
  • Columns: anchor, positive, and negative
  • Approximate statistics based on the first 1000 samples:
    anchor positive negative
    type string string string
    details
    • min: 2 tokens
    • mean: 13.3 tokens
    • max: 76 tokens
    • min: 30 tokens
    • mean: 565.57 tokens
    • max: 8192 tokens
    • min: 18 tokens
    • mean: 405.24 tokens
    • max: 8192 tokens
  • Samples:
    anchor positive negative
    Qu'est-ce que le classement de la meilleure grimpeuse? Le classement de la meilleure grimpeuse, ou classement des monts, est un classement spécifique basé sur les arrivées au sommet des ascensions répertoriées dans l'ensemble de la course. Elles sont classés en trois catégories. Les ascensions de première catégorie rapportent respectivement 7, 5, 3, 2 points aux quatre premières coureuses, celles de deuxième catégorie 5, 3 et 2 points enfin celles de troisième catégorie 3, 2 et 1 point. Le premier du classement des monts est détenteur du maillot jaune et noir. Le , il épouse Margaret Neville, fille de Ralph Neville, de Neville de Raby, et d'Alice de Audley ; veuve de William, lord Ros de Helmsley. De cette union naissent trois enfants qui nous sont connus (dans l'ordre) :
    Qu'est-ce que la Formule 2? Initialement disputée sous la forme d'un championnat européen et de quelques séries nationales (notamment au Japon, en Grande-Bretagne et en Amérique du Sud), la F2 a progressivement disparu à la fin des années 1980, avant de renaître provisoirement à la fin des années 2000 avec un championnat indépendant, puis dans les années 2010 sous la forme d'un seul championnat disputé en ouverture des épreuves de Formule 1. Dans la hiérarchie des monoplaces, les F2 ont une puissance se situant entre la Formule 3 et la Formule 1. Le Musée d’art contemporain de Baie-Saint-Paul organise du au , l’exposition "Ateliers croisés". Œuvres rassemblées par monsieur René Viau, commissaire de l’exposition, et Serge Murphy, chargé de projet. Cette exposition présente des œuvres des artistes Claude Vermette (objets d’art, pièces de faïence, encres, aquarelles et céramiques) ainsi que Mariette Rousseau-Vermette (tapisserie) afin de présenter le parcours complet du couple originaire de Sainte-Adèle.
    Qu'est-ce que la diffusion de Mie? La diffusion de Mie peut également être observée pour des molécules suffisamment grosses, ou des rayonnements suffisamment fins pour que l'objet reste d'une taille importante devant la longueur d'onde. Cependant, on ne peut pas toujours traiter ces cas dans le cadre strict de la théorie de Mie, qui s'applique en toute rigueur à des sphères diélectriques. Il est toutefois possible de retrouver ces résultats en considérant un modèle (classique) du comportement électronique. L'abbaye vendue à la Révolution est démolie, notamment pour construire l’imposante auberge en bordure de la grand’route, surnommée le "château des Hirondelles", elle-même détruite en . Foucarmont est le lieu d'inhumation des comtes d'Eu. Y sont notamment enterrés Henri, son fils Jean, son petit-fils Henri, ainsi que Jean de Brienne, empereur latin de Constantinople. Les comtes d'Eu continuent de choisir l'abbaye comme nécropole jusqu'au milieu du .
  • Loss: SpladeLoss with these parameters:
    {
        "loss": "SparseMultipleNegativesRankingLoss(scale=1.0, similarity_fct='dot_score')",
        "document_regularizer_weight": 0.001,
        "query_regularizer_weight": 5e-05
    }
    

Evaluation Dataset

triplet_small

  • Dataset: triplet_small at 8dace9e
  • Size: 5,218 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.79 tokens
    • max: 17 tokens
    • min: 26 tokens
    • mean: 130.28 tokens
    • max: 404 tokens
    • min: 6 tokens
    • mean: 118.31 tokens
    • max: 496 tokens
  • Samples:
    anchor positive negative
    Qu'est-ce que c'est une famille patricienne? Les familles patriciennes de Gênes désignent les familles de l'aristocratie génoise, bien plus exactement qu'une « noblesse » (bien que parfois qualifiée comme telle), qui constitue à Gênes « un certain milieu, devenu bientôt une classe avec ses privilèges » ayant en haute considération la richesse, presque comme une ploutocratie. Les familles patriciennes de la République romaine s'éteignent petit à petit, malgré les adoptions. À la fin de la République, les historiens n'identifient plus que trente familles patriciennes, appartenant à 13 "gentes".
    Qu'est-ce que c'est une famille patricienne? Les familles patriciennes de Gênes désignent les familles de l'aristocratie génoise, bien plus exactement qu'une « noblesse » (bien que parfois qualifiée comme telle), qui constitue à Gênes « un certain milieu, devenu bientôt une classe avec ses privilèges » ayant en haute considération la richesse, presque comme une ploutocratie. La famille Patry est une famille patricienne genevoise, admise à la bourgeoisie en 1474.
    Qu'est-ce que c'est une famille patricienne? Les familles patriciennes de Gênes désignent les familles de l'aristocratie génoise, bien plus exactement qu'une « noblesse » (bien que parfois qualifiée comme telle), qui constitue à Gênes « un certain milieu, devenu bientôt une classe avec ses privilèges » ayant en haute considération la richesse, presque comme une ploutocratie. Les premières familles romaines sont appelées "gentes". Quand les premières "gens" romaines se sont regroupées pour former une unique communauté, les "patres" des "gentes" dirigeantes sont choisis pour former l’assemblée des doyens (ce qui devient le Sénat romain). Pendant cette période, chaque famille non patricienne existe comme étant dépendante d'une des familles patriciennes. Finalement, cette dépendance est rompue et le résultat est la création de la classe plébéienne. Ainsi, chaque "pater" a autorité absolue sur sa famille patricienne ainsi que sur toutes les familles qui en dépendent. Le droit romain reconnaît seulement aux familles patriciennes une entité juridique.
  • Loss: SpladeLoss with these parameters:
    {
        "loss": "SparseMultipleNegativesRankingLoss(scale=1.0, similarity_fct='dot_score')",
        "document_regularizer_weight": 0.001,
        "query_regularizer_weight": 5e-05
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • eval_strategy: steps
  • per_device_train_batch_size: 1
  • per_device_eval_batch_size: 1
  • learning_rate: 2e-05
  • num_train_epochs: 1
  • warmup_ratio: 0.1
  • bf16: True
  • load_best_model_at_end: 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: 1
  • per_device_eval_batch_size: 1
  • 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: 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: 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: 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}
  • tp_size: 0
  • 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: None
  • hub_always_push: False
  • 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: 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
  • average_tokens_across_devices: False
  • prompts: None
  • batch_sampler: no_duplicates
  • multi_dataset_batch_sampler: proportional
  • router_mapping: {}
  • learning_rate_mapping: {}

Training Logs

Click to expand
Epoch Step Training Loss Validation Loss NanoMSMARCO_dot_ndcg@10 NanoNFCorpus_dot_ndcg@10 NanoNQ_dot_ndcg@10 NanoBEIR_mean_dot_ndcg@10
0.01 100 1490.2789 - - - - -
0.02 200 1186.7568 - - - - -
0.03 300 193.6165 - - - - -
0.04 400 37.9527 - - - - -
0.05 500 21.0956 - - - - -
0.06 600 3.8794 - - - - -
0.07 700 2.0878 - - - - -
0.08 800 2.2085 - - - - -
0.09 900 1.1569 - - - - -
0.1 1000 3.1387 - - - - -
0.11 1100 0.4972 - - - - -
0.12 1200 0.8585 - - - - -
0.13 1300 0.5699 - - - - -
0.14 1400 0.5158 - - - - -
0.15 1500 0.4239 - - - - -
0.16 1600 0.1863 - - - - -
0.17 1700 0.4274 - - - - -
0.18 1800 0.2781 - - - - -
0.19 1900 0.4866 - - - - -
0.2 2000 0.1389 - - - - -
0.21 2100 0.3181 - - - - -
0.22 2200 0.3034 - - - - -
0.23 2300 0.2121 - - - - -
0.24 2400 0.1981 - - - - -
0.25 2500 0.1996 - - - - -
0.26 2600 0.5473 - - - - -
0.27 2700 0.1414 - - - - -
0.28 2800 0.2229 - - - - -
0.29 2900 0.1195 - - - - -
0.3 3000 0.2131 - - - - -
0.31 3100 0.3152 - - - - -
0.32 3200 0.1645 - - - - -
0.33 3300 0.0882 - - - - -
0.34 3400 0.0881 - - - - -
0.35 3500 0.301 - - - - -
0.36 3600 0.1317 - - - - -
0.37 3700 0.16 - - - - -
0.38 3800 0.1014 - - - - -
0.39 3900 0.0822 - - - - -
0.4 4000 0.1756 - - - - -
0.41 4100 0.3875 - - - - -
0.42 4200 0.161 - - - - -
0.43 4300 0.101 - - - - -
0.44 4400 0.1411 - - - - -
0.45 4500 0.2613 - - - - -
0.46 4600 0.1105 - - - - -
0.47 4700 0.228 - - - - -
0.48 4800 0.169 - - - - -
0.49 4900 0.1544 - - - - -
0.5 5000 0.2442 - - - - -
0.51 5100 0.0801 - - - - -
0.52 5200 0.2108 - - - - -
0.53 5300 0.0782 - - - - -
0.54 5400 0.1218 - - - - -
0.55 5500 0.046 - - - - -
0.56 5600 0.1735 - - - - -
0.57 5700 0.0537 - - - - -
0.58 5800 0.1652 - - - - -
0.59 5900 0.3073 - - - - -
0.6 6000 0.1466 - - - - -
0.61 6100 0.2638 - - - - -
0.62 6200 0.1141 - - - - -
0.63 6300 0.122 - - - - -
0.64 6400 0.0792 - - - - -
0.65 6500 0.2049 - - - - -
0.66 6600 0.3184 - - - - -
0.67 6700 0.0776 - - - - -
0.68 6800 0.125 - - - - -
0.69 6900 0.1652 - - - - -
0.7 7000 0.0654 - - - - -
0.71 7100 0.0487 - - - - -
0.72 7200 0.0432 - - - - -
0.73 7300 0.0811 - - - - -
0.74 7400 0.0452 - - - - -
0.75 7500 0.126 - - - - -
0.76 7600 0.1828 - - - - -
0.77 7700 0.039 - - - - -
0.78 7800 0.0612 - - - - -
0.79 7900 0.1001 - - - - -
0.8 8000 0.097 - - - - -
0.81 8100 0.2437 - - - - -
0.82 8200 0.2191 - - - - -
0.83 8300 0.0414 - - - - -
0.84 8400 0.0571 - - - - -
0.85 8500 0.051 - - - - -
0.86 8600 0.1424 - - - - -
0.87 8700 0.0359 - - - - -
0.88 8800 0.0843 - - - - -
0.89 8900 0.0548 - - - - -
0.9 9000 0.0485 - - - - -
0.91 9100 0.0858 - - - - -
0.92 9200 0.2217 - - - - -
0.93 9300 0.1452 - - - - -
0.94 9400 0.1927 - - - - -
0.95 9500 0.1307 - - - - -
0.96 9600 0.0783 - - - - -
0.97 9700 0.0984 - - - - -
0.98 9800 0.054 - - - - -
0.99 9900 0.1155 - - - - -
1.0 10000 0.2358 1.2326 0.2478 0.1758 0.1083 0.1773
-1 -1 - - 0.2478 0.1758 0.1083 0.1773
  • The bold row denotes the saved checkpoint.

Framework Versions

  • Python: 3.12.3
  • Sentence Transformers: 5.0.0
  • Transformers: 4.51.3
  • PyTorch: 2.6.0+cu124
  • Accelerate: 1.6.0
  • Datasets: 2.16.0
  • Tokenizers: 0.21.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",
}

SpladeLoss

@misc{formal2022distillationhardnegativesampling,
      title={From Distillation to Hard Negative Sampling: Making Sparse Neural IR Models More Effective},
      author={Thibault Formal and Carlos Lassance and Benjamin Piwowarski and Stéphane Clinchant},
      year={2022},
      eprint={2205.04733},
      archivePrefix={arXiv},
      primaryClass={cs.IR},
      url={https://arxiv.org/abs/2205.04733},
}

SparseMultipleNegativesRankingLoss

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

FlopsLoss

@article{paria2020minimizing,
    title={Minimizing flops to learn efficient sparse representations},
    author={Paria, Biswajit and Yeh, Chih-Kuan and Yen, Ian EH and Xu, Ning and Ravikumar, Pradeep and P{'o}czos, Barnab{'a}s},
    journal={arXiv preprint arXiv:2004.05665},
    year={2020}
}