Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks
Paper
•
1908.10084
•
Published
•
10
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.
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'})
)
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]
query, positive, negative, original_id, dataset_source, category, and language| query | positive | negative | original_id | dataset_source | category | language | |
|---|---|---|---|---|---|---|---|
| type | string | string | string | string | string | string | string |
| details |
|
|
|
|
|
|
|
| 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 |
pylate.losses.contrastive.Contrastivequery, positive, negative, original_id, dataset_source, category, and language| query | positive | negative | original_id | dataset_source | category | language | |
|---|---|---|---|---|---|---|---|
| type | string | string | string | string | string | string | string |
| details |
|
|
|
|
|
|
|
| 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 |
pylate.losses.contrastive.Contrastiveper_device_train_batch_size: 64per_device_eval_batch_size: 64learning_rate: 3e-06num_train_epochs: 1fp16: Trueoverwrite_output_dir: Falsedo_predict: Falseeval_strategy: noprediction_loss_only: Trueper_device_train_batch_size: 64per_device_eval_batch_size: 64per_gpu_train_batch_size: Noneper_gpu_eval_batch_size: Nonegradient_accumulation_steps: 1eval_accumulation_steps: Nonetorch_empty_cache_steps: Nonelearning_rate: 3e-06weight_decay: 0.0adam_beta1: 0.9adam_beta2: 0.999adam_epsilon: 1e-08max_grad_norm: 1.0num_train_epochs: 1max_steps: -1lr_scheduler_type: linearlr_scheduler_kwargs: {}warmup_ratio: 0.0warmup_steps: 0log_level: passivelog_level_replica: warninglog_on_each_node: Truelogging_nan_inf_filter: Truesave_safetensors: Truesave_on_each_node: Falsesave_only_model: Falserestore_callback_states_from_checkpoint: Falseno_cuda: Falseuse_cpu: Falseuse_mps_device: Falseseed: 42data_seed: Nonejit_mode_eval: Falseuse_ipex: Falsebf16: Falsefp16: Truefp16_opt_level: O1half_precision_backend: autobf16_full_eval: Falsefp16_full_eval: Falsetf32: Nonelocal_rank: 0ddp_backend: Nonetpu_num_cores: Nonetpu_metrics_debug: Falsedebug: []dataloader_drop_last: Falsedataloader_num_workers: 0dataloader_prefetch_factor: Nonepast_index: -1disable_tqdm: Falseremove_unused_columns: Truelabel_names: Noneload_best_model_at_end: Falseignore_data_skip: Falsefsdp: []fsdp_min_num_params: 0fsdp_config: {'min_num_params': 0, 'xla': False, 'xla_fsdp_v2': False, 'xla_fsdp_grad_ckpt': False}fsdp_transformer_layer_cls_to_wrap: Noneaccelerator_config: {'split_batches': False, 'dispatch_batches': None, 'even_batches': True, 'use_seedable_sampler': True, 'non_blocking': False, 'gradient_accumulation_kwargs': None}deepspeed: Nonelabel_smoothing_factor: 0.0optim: adamw_torchoptim_args: Noneadafactor: Falsegroup_by_length: Falselength_column_name: lengthddp_find_unused_parameters: Noneddp_bucket_cap_mb: Noneddp_broadcast_buffers: Falsedataloader_pin_memory: Truedataloader_persistent_workers: Falseskip_memory_metrics: Trueuse_legacy_prediction_loop: Falsepush_to_hub: Falseresume_from_checkpoint: Nonehub_model_id: Nonehub_strategy: every_savehub_private_repo: Falsehub_always_push: Falsegradient_checkpointing: Falsegradient_checkpointing_kwargs: Noneinclude_inputs_for_metrics: Falseeval_do_concat_batches: Truefp16_backend: autopush_to_hub_model_id: Nonepush_to_hub_organization: Nonemp_parameters: auto_find_batch_size: Falsefull_determinism: Falsetorchdynamo: Noneray_scope: lastddp_timeout: 1800torch_compile: Falsetorch_compile_backend: Nonetorch_compile_mode: Nonedispatch_batches: Nonesplit_batches: Noneinclude_tokens_per_second: Falseinclude_num_input_tokens_seen: Falseneftune_noise_alpha: Noneoptim_target_modules: Nonebatch_eval_metrics: Falseeval_on_start: Falseeval_use_gather_object: Falsebatch_sampler: batch_samplermulti_dataset_batch_sampler: proportional| 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 |
@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",
}
Base model
colbert-ir/colbertv2.0