Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks
Paper • 1908.10084 • Published • 13
How to use Ananthu357/Ananthus-BAAI-for-contracts5.0 with sentence-transformers:
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("Ananthu357/Ananthus-BAAI-for-contracts5.0")
sentences = [
"Termination notice",
"having value more than Rs 20 crore and original period of completion 12 months or more, when there is no reduction in original scope of work by more than 10%, and no extension granted on either railway or Contractors account,",
"Special Conditions might exist in the contract and supersede the Standard General Conditions.",
"Subject to the provisions of the aforesaid Arbitration and Conciliation Act 1996 and the rules thereunder and relevant para of General Conditions of Contract"
]
embeddings = model.encode(sentences)
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [4, 4]This is a sentence-transformers model finetuned from BAAI/bge-large-en. It maps sentences & paragraphs to a 1024-dimensional dense vector space and can be used for semantic textual similarity, semantic search, paraphrase mining, text classification, clustering, and more.
SentenceTransformer(
(0): Transformer({'max_seq_length': 512, 'do_lower_case': True}) with Transformer model: BertModel
(1): Pooling({'word_embedding_dimension': 1024, 'pooling_mode_cls_token': True, 'pooling_mode_mean_tokens': False, '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()
)
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("Ananthu357/Ananthus-BAAI-for-contracts5.0")
# Run inference
sentences = [
'Additional documents involve General Conditions of Contract, Regulations for Tenders and Contracts and Special Conditions of Contract.',
"\xa0If the Contractor shall be dissatisfied by reason of any decision of the Engineer's representative, he shall be entitled to refer the matter to the Engineer who shall there upon confirm or vary such decision.",
'At the final stage of completion and commissioning of work, in case the contractor\x92s failure is limited to only some of the works costing not more than 2% of the original contract value,',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 1024]
# Get the similarity scores for the embeddings
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [3, 3]
eval_strategy: stepsper_device_train_batch_size: 16per_device_eval_batch_size: 16num_train_epochs: 25warmup_ratio: 0.1fp16: Truebatch_sampler: no_duplicatesoverwrite_output_dir: Falsedo_predict: Falseeval_strategy: stepsprediction_loss_only: Trueper_device_train_batch_size: 16per_device_eval_batch_size: 16per_gpu_train_batch_size: Noneper_gpu_eval_batch_size: Nonegradient_accumulation_steps: 1eval_accumulation_steps: Nonelearning_rate: 5e-05weight_decay: 0.0adam_beta1: 0.9adam_beta2: 0.999adam_epsilon: 1e-08max_grad_norm: 1.0num_train_epochs: 25max_steps: -1lr_scheduler_type: linearlr_scheduler_kwargs: {}warmup_ratio: 0.1warmup_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: Falsebatch_sampler: no_duplicatesmulti_dataset_batch_sampler: proportional| Epoch | Step | Training Loss | loss |
|---|---|---|---|
| 3.3448 | 100 | 0.06 | 0.0540 |
| 6.6897 | 200 | 0.0084 | 0.0568 |
| 10.0345 | 300 | 0.0035 | 0.0548 |
| 13.3448 | 400 | 0.0018 | 0.0536 |
| 16.6897 | 500 | 0.0011 | 0.0548 |
| 20.0345 | 600 | 0.001 | 0.0553 |
| 23.3448 | 700 | 0.0009 | 0.0556 |
| 3.3448 | 100 | 0.0014 | 0.0578 |
| 6.6897 | 200 | 0.0038 | 0.0582 |
| 10.0345 | 300 | 0.0025 | 0.0623 |
| 13.3448 | 400 | 0.0014 | 0.0579 |
| 16.6897 | 500 | 0.0008 | 0.0582 |
| 20.0345 | 600 | 0.0006 | 0.0579 |
| 23.3448 | 700 | 0.0006 | 0.0585 |
| 3.3448 | 100 | 0.0029 | 0.0640 |
| 6.6897 | 200 | 0.0048 | 0.0561 |
| 10.0345 | 300 | 0.0018 | 0.0524 |
| 13.3448 | 400 | 0.001 | 0.0522 |
| 16.6897 | 500 | 0.0007 | 0.0514 |
| 20.0345 | 600 | 0.0005 | 0.0519 |
| 23.3448 | 700 | 0.0005 | 0.0522 |
@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
BAAI/bge-large-en