Edit model card

SentenceTransformer based on colbert-ir/colbertv2.0

This is a sentence-transformers model finetuned from colbert-ir/colbertv2.0 on the baconnier/rag-comprehensive-triplets dataset. It maps sentences & paragraphs to a 128-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 Sources

Full Model Architecture

ColBERT(
  (0): Transformer({'max_seq_length': 179, 'do_lower_case': False}) with Transformer model: BertModel 
  (1): Dense({'in_features': 768, 'out_features': 128, 'bias': False, 'activation_function': 'torch.nn.modules.linear.Identity'})
)

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("sentence_transformers_model_id")
# Run inference
sentences = [
    'india highest literay award winner name who got 56th jnanpith award',
    'The 56th Jnanpith Award was given to Nilmani Phookan, a renowned Assamese poet.',
    'Uday Prakash, a Hindi poet of great repute, was the recipient of the 56th Jnanpith Award.',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 128]

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

Training Details

Training Dataset

baconnier/rag-comprehensive-triplets

  • Dataset: baconnier/rag-comprehensive-triplets at 678e83e
  • Size: 900,096 training samples
  • Columns: query, positive, negative, original_id, dataset_source, category, and language
  • Approximate statistics based on the first 1000 samples:
    query positive negative original_id dataset_source category language
    type string string string string string string string
    details
    • min: 6 tokens
    • mean: 24.72 tokens
    • max: 32 tokens
    • min: 4 tokens
    • mean: 28.63 tokens
    • max: 32 tokens
    • min: 8 tokens
    • mean: 29.29 tokens
    • max: 32 tokens
    • min: 4 tokens
    • mean: 5.19 tokens
    • max: 6 tokens
    • min: 21 tokens
    • mean: 21.0 tokens
    • max: 21 tokens
    • min: 4 tokens
    • mean: 6.22 tokens
    • max: 7 tokens
    • min: 4 tokens
    • mean: 4.0 tokens
    • max: 4 tokens
  • Samples:
    query positive negative original_id dataset_source category language
    ¿cuáles son las empresas que son principalmente empresas de software en la nube y cuáles son empresas de semiconductores? ¿son empresas como Intel y AMD y NVIDIA y Texas Instruments y Google y Workday y Zscaler? Intel, AMD, NVIDIA y Texas Instruments son principalmente empresas de semiconductores. Workday y Zscaler son empresas de software totalmente en la nube. Google es principalmente una empresa de software, pero también desarrolla circuitos integrados específicos para aplicaciones personalizadas, que son semiconductores. Intel, AMD y NVIDIA son principalmente empresas de software en la nube, mientras que Workday y Zscaler son empresas de semiconductores, y Google es una empresa que desarrolla tanto software como circuitos integrados específicos para aplicaciones personalizadas. 1475 argilla/databricks-dolly-15k-curated-multilingual classification es
    A partir de este párrafo, dime cuándo murió María y cuándo hizo Isabel que encarcelaran a María, reina de Escocia. Además, ¿quién apoyó los complots para derrocar a Isabel? María (María la Sangrienta) murió en 1558 e Isabel hizo encarcelar a María (Reina de los Escoceses) en 1567. Felipe apoyó complots para derrocar a Isabel en favor de su prima católica, a quien consideraba la verdadera heredera: María, Reina de los Escoceses. María (María la Sangrienta) murió en 1567 e Isabel hizo encarcelar a María (Reina de los Escoceses) en 1558. Felipe apoyó complots para derrocar a Isabel en favor de su prima católica, a quien consideraba la verdadera heredera: Catalina. 1036 argilla/databricks-dolly-15k-curated-multilingual closed_qa es
    Quel est le but d'une voiture ? Une voiture permet de se déplacer rapidement et facilement d'un point à un autre. Une voiture permet de se déplacer rapidement mais n'est pas adaptée pour les longs trajets. 6911 argilla/databricks-dolly-15k-curated-multilingual open_qa fr
  • Loss: pylate.losses.contrastive.Contrastive

Evaluation Dataset

baconnier/rag-comprehensive-triplets

  • Dataset: baconnier/rag-comprehensive-triplets at 678e83e
  • Size: 9,092 evaluation samples
  • Columns: query, positive, negative, original_id, dataset_source, category, and language
  • Approximate statistics based on the first 1000 samples:
    query positive negative original_id dataset_source category language
    type string string string string string string string
    details
    • min: 9 tokens
    • mean: 24.89 tokens
    • max: 32 tokens
    • min: 4 tokens
    • mean: 28.4 tokens
    • max: 32 tokens
    • min: 5 tokens
    • mean: 29.33 tokens
    • max: 32 tokens
    • min: 4 tokens
    • mean: 5.23 tokens
    • max: 6 tokens
    • min: 21 tokens
    • mean: 21.0 tokens
    • max: 21 tokens
    • min: 4 tokens
    • mean: 6.23 tokens
    • max: 7 tokens
    • min: 4 tokens
    • mean: 4.0 tokens
    • max: 4 tokens
  • Samples:
    query positive negative original_id dataset_source category language
    necesito un resumen de las diferencias clave entre el anime japonés y otras formas de animación según este pasaje de wikipedia sobre los atributos del anime japonés para mi tarea El anime se separa de otras formas de animación por su representación de personajes, así como por la representación de efectos cinematográficos. Los personajes del anime suelen dibujarse con rasgos muy bien definidos, resaltados por líneas atrevidas y colores brillantes, junto con grandes ojos ovalados. Los efectos cinematográficos suelen destacarse mediante planos dinámicos, que incluyen panorámicas, acercamientos y tomas en ángulo, como si la escena se hubiera rodado con una cámara. El anime japonés se diferencia de otras formas de animación por su uso de colores pastel y su enfoque en historias que exploran la amistad y el amor. 7414 argilla/databricks-dolly-15k-curated-multilingual summarization es
    ¿como puedo hacer que mi salsa tzatziki sea la mejor de todas y que la gente me felicite? Para hacer que tu tzatziki sea realmente excepcional, debes seguir una serie de pasos y utilizar ingredientes frescos y de alta calidad. La clave para hacer que la salsa tzatziki sea verdaderamente deliciosa es utilizar pepino rallado sin exprimir, eneldo seco y yogur griego sin colar. 3845 argilla/databricks-dolly-15k-curated-multilingual brainstorming es
    Por favor, haz un resumen de las diferencias entre el Yoga Iyengar y otras prácticas de yoga sin citar directamente el texto El Yoga Iyengar se diferencia de otras prácticas de yoga en su enfoque en la precisión y la alineación, y su priorización del movimiento correcto sobre la cantidad. También mantiene a los practicantes en las posturas durante más tiempo A diferencia de otras prácticas de yoga, el Yoga Iyengar se enfoca en la coordinación y el equilibrio, y prioriza el movimiento dinámico sobre la precisión y la alineación. 2704 argilla/databricks-dolly-15k-curated-multilingual summarization es
  • Loss: pylate.losses.contrastive.Contrastive

Training Hyperparameters

Non-Default Hyperparameters

  • per_device_train_batch_size: 64
  • per_device_eval_batch_size: 64
  • learning_rate: 3e-06
  • num_train_epochs: 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: 64
  • per_device_eval_batch_size: 64
  • 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: 3e-06
  • 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.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: 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
  • eval_use_gather_object: False
  • batch_sampler: batch_sampler
  • multi_dataset_batch_sampler: proportional

Training Logs

Epoch Step Training Loss
0.0356 500 1.3328
0.0711 1000 1.0132
0.1067 1500 0.9106
0.1422 2000 0.8662
0.1778 2500 0.835
0.2133 3000 0.7989
0.2489 3500 0.7699
0.2844 4000 0.7482
0.3200 4500 0.7231
0.3555 5000 0.7141
0.3911 5500 0.6845
0.4266 6000 0.673
0.4622 6500 0.6734
0.4977 7000 0.6547
0.5333 7500 0.6486
0.5688 8000 0.6417
0.6044 8500 0.629
0.6399 9000 0.6171
0.6755 9500 0.6168
0.7110 10000 0.6164
0.7466 10500 0.6137
0.7821 11000 0.607
0.8177 11500 0.5998
0.8532 12000 0.5966
0.8888 12500 0.5989
0.9243 13000 0.593
0.9599 13500 0.5993
0.9954 14000 0.584

Framework Versions

  • Python: 3.10.12
  • Sentence Transformers: 3.0.1
  • Transformers: 4.44.2
  • PyTorch: 2.4.1+cu121
  • Accelerate: 0.34.2
  • Datasets: 3.0.1
  • 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",
}
Downloads last month
4
Safetensors
Model size
109M params
Tensor type
F32
·
Inference Examples
This model does not have enough activity to be deployed to Inference API (serverless) yet. Increase its social visibility and check back later, or deploy to Inference Endpoints (dedicated) instead.

Model tree for baconnier/bacolbert-v0.0

Finetuned
(3)
this model