yandac's picture
Add new SentenceTransformer model.
b265113 verified
metadata
base_model: sentence-transformers/all-MiniLM-L6-v2
datasets: []
language: []
library_name: sentence-transformers
pipeline_tag: sentence-similarity
tags:
  - sentence-transformers
  - sentence-similarity
  - feature-extraction
  - generated_from_trainer
  - dataset_size:1053
  - loss:CosineSimilarityLoss
widget:
  - source_sentence: >-
      question: Radiateur électrique à inertie fluide pas cher disponible à
      Bastia ?  ----->query: query=radiateur électrique inertie
      fluide&sort=price-asc&context=298
    sentences:
      - >-
        question: Je recherche un pied de table disponible dans le magasin
        d'Ivry sur Seine.  ----->query: query=Pied de table&context=142
      - >-
        question: Peinture intérieure Luxens disponible dans le magasin de Vitry
        ?  ----->query: query=luxens peinture interieure&context=21
      - >-
        question: Radiateur disponible dans le magasin de Montauban ? 
        ----->query: query=Radiateur&context=189
  - source_sentence: 'question: Avez-vous des produits bio ?  ----->query: query=Bio'
    sentences:
      - >-
        question: Je cherche des parpaings creux disponibles dans le magasin de
        Pau.  ----->query: query=parpaing creux&context=41
      - >-
        question: Je recherche des profilés disponibles dans le magasin de
        Bordeaux.  ----->query: query=profilé&context=37
      - >-
        question: Avez-vous des supports collecteurs disponibles dans le magasin
        de Strasbourg ?  ----->query: query=Support collecteur&context=40
  - source_sentence: >-
      question: Donnez-moi les pieds de table les moins chers disponibles dans
      le magasin de Thoiry.  ----->query: query=pieds
      table&sort=price-asc&context=167
    sentences:
      - >-
        question: Je cherche des pieds pour meuble.  ----->query: query=Pieds
        meuble
      - >-
        question: J'ai besoin d'enduit de rebouchage pour un chantier, est-ce
        que vous en avez en stock dans le magasin d'Osny ?  ----->query:
        query=enduit de rebouchage&context=23
      - >-
        question: Avez-vous du mastic d'étanchéité disponible dans le magasin de
        Clermont Ferrand ?  ----->query: query=mastic d'etancheite&context=133
  - source_sentence: >-
      question: Donnez-moi les pieds de table les moins chers disponibles dans
      le magasin de Thoiry.  ----->query: query=pieds
      table&sort=price-asc&context=167
    sentences:
      - 'question: Je recherche du parquet.  ----->query: query=parket'
      - >-
        question: J'aimerais savoir si vous avez des pinces à dénuder dans le
        magasin de Cabries.  ----->query: query=pince a denuder&context=66
      - >-
        question: Parquet contrecollé pas cher dans le magasin de Nice. 
        ----->query: query=parquet contrecolle&sort=price-asc&context=6
  - source_sentence: >-
      question: Je cherche une scie dans le magasin de Dinard.  ----->query:
      query=Scie&context=178
    sentences:
      - 'question: Dalles pour l''extérieur  ----->query: query=dalle exterieur'
      - >-
        question: J'ai besoin d'une goulotte pour câble électrique, disponible
        dans le magasin de Vitry.  ----->query: query=goulotte pour cable
        electrique&context=21
      - >-
        question: J'aimerais savoir si vous avez des pinces à dénuder dans le
        magasin de Cabries.  ----->query: query=pince a denuder&context=66

SentenceTransformer based on sentence-transformers/all-MiniLM-L6-v2

This is a sentence-transformers model finetuned from sentence-transformers/all-MiniLM-L6-v2. It maps sentences & paragraphs to a 384-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: sentence-transformers/all-MiniLM-L6-v2
  • Maximum Sequence Length: 256 tokens
  • Output Dimensionality: 384 tokens
  • Similarity Function: Cosine Similarity

Model Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 256, 'do_lower_case': False}) with Transformer model: BertModel 
  (1): Pooling({'word_embedding_dimension': 384, '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("yandac/embedding_model_search_api")
# Run inference
sentences = [
    'question: Je cherche une scie dans le magasin de Dinard.  ----->query: query=Scie&context=178',
    "question: J'aimerais savoir si vous avez des pinces à dénuder dans le magasin de Cabries.  ----->query: query=pince a denuder&context=66",
    "question: J'ai besoin d'une goulotte pour câble électrique, disponible dans le magasin de Vitry.  ----->query: query=goulotte pour cable electrique&context=21",
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 384]

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

Training Details

Training Dataset

Unnamed Dataset

  • Size: 1,053 training samples
  • Columns: sentence1, sentence2, and label
  • Approximate statistics based on the first 1000 samples:
    sentence1 sentence2 label
    type string string float
    details
    • min: 20 tokens
    • mean: 45.16 tokens
    • max: 67 tokens
    • min: 17 tokens
    • mean: 43.69 tokens
    • max: 66 tokens
    • min: 0.0
    • mean: 0.24
    • max: 0.9
  • Samples:
    sentence1 sentence2 label
    question: Peinture pour bois extérieur disponible dans le magasin de Mundolsheim ? ----->query: query=Peinture bois extérieur&context=197 question: Avez-vous des plans de travail d'angle disponibles dans le magasin de Douai ? ----->query: query=plan de travail d'angle&context=183 0.0
    question: Sac de granulés de bois disponible dans le magasin de Brive ? ----->query: query=sac granule bois&context=175 question: Avez-vous des 1/2 ronds disponibles dans le magasin de Compiegne ? ----->query: query=1/2 rond&context=78 0.0
    question: Je cherche un rouleau d'étanchéité disponible dans le magasin de Cabries. ----->query: query=rouleau etancheite&context=66 question: Je recherche un pied de table disponible dans le magasin d'Ivry sur Seine. ----->query: query=Pied de table&context=142 0.0
  • Loss: CosineSimilarityLoss with these parameters:
    {
        "loss_fct": "torch.nn.modules.loss.MSELoss"
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • per_device_train_batch_size: 1
  • num_train_epochs: 4.8
  • warmup_ratio: 0.1
  • fp16: True

All Hyperparameters

Click to expand
  • overwrite_output_dir: False
  • do_predict: False
  • eval_strategy: no
  • prediction_loss_only: True
  • per_device_train_batch_size: 1
  • per_device_eval_batch_size: 8
  • 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.0
  • num_train_epochs: 4.8
  • 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: 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
  • eval_on_start: False
  • batch_sampler: batch_sampler
  • multi_dataset_batch_sampler: proportional

Training Logs

Epoch Step Training Loss
1.5152 100 0.0071
0.4748 500 0.0076
0.9497 1000 0.0162
1.4245 1500 0.0164
1.8993 2000 0.0155
2.3742 2500 0.0112
2.8490 3000 0.0106
3.3238 3500 0.0064
3.7987 4000 0.0055
4.2735 4500 0.0043
4.7483 5000 0.0027
0.4748 500 0.0046
0.9497 1000 0.0102
1.4245 1500 0.0134
1.8993 2000 0.0133
2.3742 2500 0.0086
2.8490 3000 0.007
3.3238 3500 0.0049
3.7987 4000 0.0037
4.2735 4500 0.0031
4.7483 5000 0.0022

Framework Versions

  • Python: 3.11.9
  • Sentence Transformers: 3.0.1
  • Transformers: 4.42.4
  • PyTorch: 2.3.1+cu118
  • Accelerate: 0.33.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",
}