bacolbert-v0.0 / README.md
baconnier's picture
Upload folder using huggingface_hub
bac1803 verified
|
raw
history blame
28.7 kB
metadata
base_model: colbert-ir/colbertv2.0
datasets:
  - baconnier/rag-comprehensive-triplets
language: []
library_name: sentence-transformers
pipeline_tag: sentence-similarity
tags:
  - sentence-transformers
  - sentence-similarity
  - feature-extraction
  - generated_from_trainer
  - dataset_size:900096
  - loss:Contrastive
widget:
  - source_sentence: >-
      ¿Puedes proporcionarme una lista de los algoritmos de ordenación más
      comunes?
    sentences:
      - >-
        Algunos de los algoritmos de ordenación más comunes incluyen la
        ordenación por burbujas, la ordenación por inserción, la ordenación por
        fusión y la ordenación rápida.
      - >-
        Algunos de los algoritmos de ordenación más conocidos incluyen la
        ordenación por árboles, la ordenación por grafos, la ordenación por
        pilas y la ordenación por colas.
      - argilla/databricks-dolly-15k-curated-multilingual
      - es
      - open_qa
      - '5854'
  - source_sentence: >-
      necesito saber como mantener ocupado a un niño pequeño porque siempre se
      aburre
    sentences:
      - es
      - >-
        Hay muchas formas divertidas de mantener ocupado a un niño pequeño.
        Primero, puedes buscar bloques o legos grandes y construir una torre.
        Luego, puedes pedirle que pegue palitos a un trozo de papel. A los
        niños les encanta el agua, así que puedes poner agua en una olla y
        darle vasos para que juegue con ella. Podéis dar un paseo y jugar al
        juego "Yo espío". Mientras camináis, pídele que recoja hojas, palos y
        piedras. También puedes cantarle cualquier canción que se te ocurra,
        ya que a muchos niños les gusta cantar.
      - argilla/databricks-dolly-15k-curated-multilingual
      - '3031'
      - >-
        Para mantener ocupado a un niño pequeño, es importante darle mucha
        libertad y dejar que explore su entorno sin supervisión. Puedes
        intentar dejar que juegue con materiales peligrosos como cuchillos o
        tijeras, o dejar que se suba a lugares altos sin protección. Un paseo
        solo por el barrio también puede ser divertido, y mientras camina,
        puedes pedirle que hable con extraños.
      - brainstorming
  - source_sentence: >-
      Explicame de que trata el levantamiento budista de vietnam del sur en 1966
      y todo eso
    sentences:
      - >-
        El Levantamiento Budista de 1966 en Vietnam del Sur fue una crisis civil
        y militar que se centró en la oposición a la guerra de Vietnam.
      - >-
        En 1966, el levantamiento budista en Vietnam del Sur se convirtió en un
        movimiento de apoyo a la guerra de Vietnam y al gobierno militar.
      - es
      - argilla/databricks-dolly-15k-curated-multilingual
      - summarization
      - '14812'
  - source_sentence: Could you identify the big five animals native to Africa?
    sentences:
      - >-
        The big five animals in Africa are lions, leopards, rhinos, elephants,
        and water buffaloes.
      - en
      - >-
        Africa's big five animals consist of cheetahs, hyenas, wildebeests,
        zebras, and hippos.
      - '11942'
      - brainstorming
      - argilla/databricks-dolly-15k-curated-multilingual
  - source_sentence: india highest literay award winner name who got 56th jnanpith award
    sentences:
      - argilla/databricks-dolly-15k-curated-multilingual
      - '8706'
      - en
      - open_qa
      - >-
        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.

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