strongpear's picture
Add new SentenceTransformer model
90b4f91 verified
---
tags:
- sentence-transformers
- sentence-similarity
- feature-extraction
- generated_from_trainer
- dataset_size:2790
- loss:MultipleNegativesRankingLoss
base_model: BAAI/bge-m3
widget:
- source_sentence: Cần làm để đảm bảo lắp đặt thiết bị đúng tiêu chuẩn?
sentences:
- Nhà thầu phải thu dọn, làm sạch hoàn trả mặt bằng thi công, đồng thời di chuyển
toàn bộ máy móc thiết bị nguyên vật liệu đã sử dụng ra khỏi khu vực thi công.
- Việc lắp đặt thiết bị phải tuân theo quy trình kỹ thuật của nhà sản xuất thực
hiện kiểm tra các thông số kỹ thuật thực tế với thông tin công bố trong catalog
các tài liệu kỹ thuật của hãng sản xuất.
- Người dùng được cung cấp chức năng 'Quên mật khẩu' để lấy lại mật khẩu địa chỉ
hòm thư của mình.
- source_sentence: Những yêu cầu nào phải được đáp ứng khi vận chuyển hàng hóa?
sentences:
- Sau thời hạn 30 ngày kể từ ngày phát sinh tranh chấp, Các Bên quyền đưa tranh
chấp ra giải quyết tại Tòa án thẩm quyền của Việt Nam.
- Hàng hóa nhà thầu khi bàn giao cho Chủ đầu phải đảm bảo nguyên vẹn theo quy
cách hàng hoá trước khi vận chuyển; không bị móp méo, dập, nát, gãy, vỡ, biến
dạng hoặc thiếu hụt.
- Máy tính data Server 1 (PC0201 - CIS 1) được soát lỗ hổng bảo mật nhiều nhất,
với 8 lượt soát.
- source_sentence: Hợp đồng chịu sự điều chỉnh bởi hệ thống pháp luật nào?
sentences:
- Nghị định số 63/2014/NĐ-CP ngày 26/6/2014 của Chính phủ quy định chi tiết thi
hành một số điều của Luật Đấu thầu về lựa chọn nhà thầu.
- Hợp đồng chịu sự điều chỉnh của hệ thống Pháp luật của Nước Cộng hòa hội Chủ
nghĩa Việt Nam.
- Hàng hóa cần được kiểm tra chi tiết, đối chiếu thông số kỹ thuật với catalog
tài liệu kỹ thuật của hãng, đồng thời kiểm tra an ninh, an toàn theo quy định
của Bên mời thầu.
- source_sentence: Quản báo cáo tuần chức năng để xử các báo cáo hiện
tại?
sentences:
- Trong chức năng bảo mật thông tin liên lạc, thiết bị cho phép hóa thông tin,
dữ liệu trước khi truyền đưa, trao đổi qua môi trường mạng.
- Hợp đồng chịu sự điều chỉnh của hệ thống Pháp luật của Nước Cộng hòa hội Chủ
nghĩa Việt Nam.
- 'Quản lý báo cáo tuần cho phép thực hiện nhiều chức năng như: tìm kiếm, xuất excel,
thêm mới, sửa, xóa, in, gửi và tổng hợp báo cáo tuần theo khoảng tuần.'
- source_sentence: Quản uống vitamin A bao gồm những chức năng nào?
sentences:
- Quản uống vitamin A bao gồm lập kế hoạch, tìm kiếm kế hoạch, xóa kế hoạch
xem danh sách chi tiết các thông tin liên quan đến việc uống vitamin A cho trẻ
em, phụ nữ.
- Nhân sự soát độc phải kinh nghiệm 05 năm hoặc đã thực hiện 02 hợp đồng
tương tự.
- Mục tiêu chính duy trì vận hành hệ thống camera an ninh camera giám sát
giao thông trong huyện Bắc Trà My, tỉnh Quảng Nam.
pipeline_tag: sentence-similarity
library_name: sentence-transformers
---
# SentenceTransformer based on BAAI/bge-m3
This is a [sentence-transformers](https://www.SBERT.net) model finetuned from [BAAI/bge-m3](https://huggingface.co/BAAI/bge-m3). 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.
## Model Details
### Model Description
- **Model Type:** Sentence Transformer
- **Base model:** [BAAI/bge-m3](https://huggingface.co/BAAI/bge-m3) <!-- at revision 5617a9f61b028005a4858fdac845db406aefb181 -->
- **Maximum Sequence Length:** 8192 tokens
- **Output Dimensionality:** 1024 dimensions
- **Similarity Function:** Cosine Similarity
<!-- - **Training Dataset:** Unknown -->
<!-- - **Language:** Unknown -->
<!-- - **License:** Unknown -->
### Model Sources
- **Documentation:** [Sentence Transformers Documentation](https://sbert.net)
- **Repository:** [Sentence Transformers on GitHub](https://github.com/UKPLab/sentence-transformers)
- **Hugging Face:** [Sentence Transformers on Hugging Face](https://huggingface.co/models?library=sentence-transformers)
### Full Model Architecture
```
SentenceTransformer(
(0): Transformer({'max_seq_length': 8192, 'do_lower_case': False}) with Transformer model: XLMRobertaModel
(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()
)
```
## Usage
### Direct Usage (Sentence Transformers)
First install the Sentence Transformers library:
```bash
pip install -U sentence-transformers
```
Then you can load this model and run inference.
```python
from sentence_transformers import SentenceTransformer
# Download from the 🤗 Hub
model = SentenceTransformer("strongpear/M3-retriever-vCRM_test")
# Run inference
sentences = [
'Quản lý uống vitamin A bao gồm những chức năng nào?',
'Quản lý uống vitamin A bao gồm lập kế hoạch, tìm kiếm kế hoạch, xóa kế hoạch và xem danh sách chi tiết các thông tin liên quan đến việc uống vitamin A cho trẻ em, phụ nữ.',
'Mục tiêu chính là duy trì và vận hành hệ thống camera an ninh và camera giám sát giao thông trong huyện Bắc Trà My, tỉnh Quảng Nam.',
]
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]
```
<!--
### Direct Usage (Transformers)
<details><summary>Click to see the direct usage in Transformers</summary>
</details>
-->
<!--
### Downstream Usage (Sentence Transformers)
You can finetune this model on your own dataset.
<details><summary>Click to expand</summary>
</details>
-->
<!--
### Out-of-Scope Use
*List how the model may foreseeably be misused and address what users ought not to do with the model.*
-->
<!--
## Bias, Risks and Limitations
*What are the known or foreseeable issues stemming from this model? You could also flag here known failure cases or weaknesses of the model.*
-->
<!--
### Recommendations
*What are recommendations with respect to the foreseeable issues? For example, filtering explicit content.*
-->
## Training Details
### Training Dataset
#### Unnamed Dataset
* Size: 2,790 training samples
* Columns: <code>anchor</code> and <code>positive</code>
* Approximate statistics based on the first 1000 samples:
| | anchor | positive |
|:--------|:-----------------------------------------------------------------------------------|:-----------------------------------------------------------------------------------|
| type | string | string |
| details | <ul><li>min: 10 tokens</li><li>mean: 18.59 tokens</li><li>max: 30 tokens</li></ul> | <ul><li>min: 12 tokens</li><li>mean: 38.2 tokens</li><li>max: 114 tokens</li></ul> |
* Samples:
| anchor | positive |
|:------------------------------------------------------------------------------|:--------------------------------------------------------------------------------------------------------------|
| <code>Điều kiện bên B bị phạt về chất lượng là gì?</code> | <code>Bên B bị phạt 1% giá trị hợp đồng nếu vi phạm về chất lượng theo quy định trong hợp đồng.</code> |
| <code>Sound card hỗ trợ mấy chế độ tùy chọn thông qua phím điều khiển?</code> | <code>Sound card hỗ trợ 4 chế độ tùy chọn thông qua phím nhấn điều khiển: Music, Chat, Sing, MC.</code> |
| <code>Ai là người đại diện của Viettel trong hợp đồng này?</code> | <code>Ông Nguyễn Chí Thanh, giữ chức vụ Phó Tổng Giám Đốc Tổng Công ty Giải pháp Doanh nghiệp Viettel.</code> |
* Loss: [<code>MultipleNegativesRankingLoss</code>](https://sbert.net/docs/package_reference/sentence_transformer/losses.html#multiplenegativesrankingloss) with these parameters:
```json
{
"scale": 20.0,
"similarity_fct": "cos_sim"
}
```
### Evaluation Dataset
#### Unnamed Dataset
* Size: 147 evaluation samples
* Columns: <code>anchor</code> and <code>positive</code>
* Approximate statistics based on the first 147 samples:
| | anchor | positive |
|:--------|:-----------------------------------------------------------------------------------|:-----------------------------------------------------------------------------------|
| type | string | string |
| details | <ul><li>min: 12 tokens</li><li>mean: 18.54 tokens</li><li>max: 29 tokens</li></ul> | <ul><li>min: 15 tokens</li><li>mean: 40.46 tokens</li><li>max: 83 tokens</li></ul> |
* Samples:
| anchor | positive |
|:----------------------------------------------------------------------------------------------------|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| <code>Thời gian tối đa để Viettel hoàn thành khởi tạo dịch vụ sau khi thanh toán là bao lâu?</code> | <code>Viettel sẽ hoàn thành việc khởi tạo Dịch vụ cho Khách hàng trong vòng tối đa 03 (ba) ngày làm việc kể từ ngày Khách hàng thanh toán đầy đủ phí Dịch vụ cho chu kỳ thanh toán đầu tiên và hoàn thành xác minh thông tin Khách hàng.</code> |
| <code>Bộ vi xử lý này có bao nhiêu lõi (cores) và luồng (threads)?</code> | <code>Bộ vi xử lý Intel® Core™ i5 12400 có 6 lõi (cores) và 12 luồng (threads).</code> |
| <code>Hệ thống cung cấp những mẫu báo cáo nào liên quan đến HIV?</code> | <code>Hệ thống cung cấp các mẫu báo cáo như C03 năm, C03 quý, chỉ số tiến độ, Lao – HIV, MER, duy trì điều trị và bảo hiểm y tế.</code> |
* Loss: [<code>MultipleNegativesRankingLoss</code>](https://sbert.net/docs/package_reference/sentence_transformer/losses.html#multiplenegativesrankingloss) with these parameters:
```json
{
"scale": 20.0,
"similarity_fct": "cos_sim"
}
```
### Training Hyperparameters
#### Non-Default Hyperparameters
- `eval_strategy`: steps
- `per_device_train_batch_size`: 32
- `per_device_eval_batch_size`: 32
- `warmup_ratio`: 0.1
- `bf16`: True
- `batch_sampler`: no_duplicates
#### All Hyperparameters
<details><summary>Click to expand</summary>
- `overwrite_output_dir`: False
- `do_predict`: False
- `eval_strategy`: steps
- `prediction_loss_only`: True
- `per_device_train_batch_size`: 32
- `per_device_eval_batch_size`: 32
- `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`: 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`: 3
- `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`: True
- `fp16`: False
- `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`: None
- `hub_always_push`: False
- `gradient_checkpointing`: False
- `gradient_checkpointing_kwargs`: None
- `include_inputs_for_metrics`: False
- `include_for_metrics`: []
- `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
- `use_liger_kernel`: False
- `eval_use_gather_object`: False
- `average_tokens_across_devices`: False
- `prompts`: None
- `batch_sampler`: no_duplicates
- `multi_dataset_batch_sampler`: proportional
</details>
### Training Logs
| Epoch | Step | Training Loss | Validation Loss |
|:------:|:----:|:-------------:|:---------------:|
| 0.5682 | 50 | 0.1253 | 0.0241 |
| 1.1364 | 100 | 0.0462 | 0.0250 |
| 1.7045 | 150 | 0.0341 | 0.0100 |
| 2.2727 | 200 | 0.0312 | 0.0070 |
| 2.8409 | 250 | 0.0241 | 0.0068 |
### Framework Versions
- Python: 3.11.10
- Sentence Transformers: 3.4.1
- Transformers: 4.49.0
- PyTorch: 2.6.0+cu124
- Accelerate: 1.4.0
- Datasets: 3.3.2
- Tokenizers: 0.21.0
## Citation
### BibTeX
#### Sentence Transformers
```bibtex
@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",
}
```
#### MultipleNegativesRankingLoss
```bibtex
@misc{henderson2017efficient,
title={Efficient Natural Language Response Suggestion for Smart Reply},
author={Matthew Henderson and Rami Al-Rfou and Brian Strope and Yun-hsuan Sung and Laszlo Lukacs and Ruiqi Guo and Sanjiv Kumar and Balint Miklos and Ray Kurzweil},
year={2017},
eprint={1705.00652},
archivePrefix={arXiv},
primaryClass={cs.CL}
}
```
<!--
## Glossary
*Clearly define terms in order to be accessible across audiences.*
-->
<!--
## Model Card Authors
*Lists the people who create the model card, providing recognition and accountability for the detailed work that goes into its construction.*
-->
<!--
## Model Card Contact
*Provides a way for people who have updates to the Model Card, suggestions, or questions, to contact the Model Card authors.*
-->