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()
)pip install -U sentence-transformers1from sentence_transformers import SentenceTransformer
2
3# Download from the 🤗 Hub
4model = SentenceTransformer("binh230/bge-m3-finetuned-2")
5# Run inference
6sentences = [
7 'Người thực hiện việc uỷ thác toàn bộ hoặc một phần việc vận chuyển hàng hoá bằng đường biển được gọi là ai?',
8 'Điều 72. Các bên liên quan đến hợp đồng vận chuyển hàng hoá bằng đường biển\n1. Người thuê vận chuyển là người tự mình hoặc uỷ quyền cho người khác giao kết hợp đồng vận chuyển hàng hoá bằng đường biển với người vận chuyển. Trong trường hợp hợp đồng vận chuyển theo chứng từ vận chuyển, người thuê vận chuyển được gọi là người gửi hàng.\n2. Người vận chuyển là người tự mình hoặc uỷ quyền cho người khác giao kết hợp đồng vận chuyển hàng hoá bằng đường biển với người thuê vận chuyển.\n3. Người vận chuyển thực tế là người được người vận chuyển uỷ thác thực hiện toàn bộ hoặc một phần việc vận chuyển hàng hoá bằng đường biển.\n4. Người giao hàng là người tự mình hoặc được người khác uỷ thác giao hàng cho người vận chuyển theo hợp đồng vận chuyển hàng hoá bằng đường biển.\n5. Người nhận hàng là người có quyền nhận hàng theo quy định tại Điều 89 và Điều 110 của Bộ luật này.',
9 'Điều 49. Địa vị pháp lý của thuyền trưởng\n1. Thuyền trưởng là người có quyền chỉ huy cao nhất ở trên tàu biển, chỉ huy tàu theo chế độ thủ trưởng. Mọi người có mặt trên tàu biển phải chấp hành mệnh lệnh của thuyền trưởng.\n2. Thuyền trưởng chịu sự chỉ đạo của chủ tàu hoặc người thuê tàu, người khai thác tàu.',
10]
11embeddings = model.encode(sentences)
12print(embeddings.shape)
13# [3, 1024]
14
15# Get the similarity scores for the embeddings
16similarities = model.similarity(embeddings, embeddings)
17print(similarities.shape)
18# [3, 3]InformationRetrievalEvaluator| Metric | Value |
|---|---|
| cosine_accuracy@1 | 0.2468 |
| cosine_accuracy@3 | 0.7418 |
| cosine_accuracy@5 | 0.8261 |
| cosine_accuracy@10 | 0.9197 |
| cosine_precision@1 | 0.2468 |
| cosine_precision@3 | 0.2473 |
| cosine_precision@5 | 0.1652 |
| cosine_precision@10 | 0.092 |
| cosine_recall@1 | 0.2468 |
| cosine_recall@3 | 0.7418 |
| cosine_recall@5 | 0.8261 |
| cosine_recall@10 | 0.9197 |
| cosine_ndcg@10 | 0.5917 |
| cosine_mrr@10 | 0.4847 |
| cosine_map@100 | 0.4893 |
sentence_0 and sentence_1| sentence_0 | sentence_1 | |
|---|---|---|
| type | string | string |
| details |
|
|
| sentence_0 | sentence_1 |
|---|---|
Tổ chức phát hành có trách nhiệm gì khi quản lý tài khoản vốn phát hành chứng khoán bằng ngoại tệ? | Điều 8. Trách nhiệm của tổ chức phát hành[object Object]1. Thực hiện việc mở, đóng và sử dụng tài khoản vốn phát hành chứng khoán bằng ngoại tệ theo đúng quy định tại Thông tư này và các văn bản pháp luật có liên quan.[object Object]2. Kê khai trung thực, đầy đủ nội dung thu, chi trên tài khoản vốn phát hành chứng khoán bằng ngoại tệ; Cung cấp các chứng từ, tài liệu liên quan đến việc mở và sử dụng tài khoản vốn phát hành chứng khoán bằng ngoại tệ theo yêu cầu và hướng dẫn của tổ chức tín dụng được phép. |
Đơn vị nào có quyền yêu cầu cung cấp chứng từ liên quan đến việc sử dụng tài khoản vốn phát hành chứng khoán bằng ngoại tệ và tổ chức phát hành phải tuân thủ như thế nào? | Điều 8. Trách nhiệm của tổ chức phát hành[object Object]1. Thực hiện việc mở, đóng và sử dụng tài khoản vốn phát hành chứng khoán bằng ngoại tệ theo đúng quy định tại Thông tư này và các văn bản pháp luật có liên quan.[object Object]2. Kê khai trung thực, đầy đủ nội dung thu, chi trên tài khoản vốn phát hành chứng khoán bằng ngoại tệ; Cung cấp các chứng từ, tài liệu liên quan đến việc mở và sử dụng tài khoản vốn phát hành chứng khoán bằng ngoại tệ theo yêu cầu và hướng dẫn của tổ chức tín dụng được phép. |
Tổ chức tín dụng có trách nhiệm gì khi liên quan đến tài khoản vốn phát hành chứng khoán bằng ngoại tệ? | Điều 9. Trách nhiệm của tổ chức tín dụng được phép[object Object]1. Thực hiện việc mở, đóng và sử dụng tài khoản vốn phát hành chứng khoán bằng ngoại tệ phù hợp với quy định tại Thông tư này và các văn bản pháp luật có liên quan.[object Object]2. Kiểm tra, lưu giữ các tài liệu, chứng từ liên quan đến các giao dịch thu, chi được thực hiện trên tài khoản vốn phát hành chứng khoán bằng ngoại tệ của tổ chức phát hành để đảm bảo việc cung ứng dịch vụ ngoại hối được thực hiện đúng mục đích và phù hợp với quy định của pháp luật.[object Object]3. Thực hiện chế độ báo cáo theo quy định tại Điều 10 Thông tư này. |
MultipleNegativesRankingLoss with these parameters:
1{
2 "scale": 20.0,
3 "similarity_fct": "cos_sim"
4}eval_strategy: stepsper_device_train_batch_size: 10per_device_eval_batch_size: 10num_train_epochs: 1multi_dataset_batch_sampler: round_robinoverwrite_output_dir: Falsedo_predict: Falseeval_strategy: stepsprediction_loss_only: Trueper_device_train_batch_size: 10per_device_eval_batch_size: 10per_gpu_train_batch_size: Noneper_gpu_eval_batch_size: Nonegradient_accumulation_steps: 1eval_accumulation_steps: Nonetorch_empty_cache_steps: Nonelearning_rate: 5e-05weight_decay: 0.0adam_beta1: 0.9adam_beta2: 0.999adam_epsilon: 1e-08max_grad_norm: 1num_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: Falsefp16_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: Nonehub_always_push: Falsegradient_checkpointing: Falsegradient_checkpointing_kwargs: Noneinclude_inputs_for_metrics: Falseinclude_for_metrics: []eval_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: Falseuse_liger_kernel: Falseeval_use_gather_object: Falseaverage_tokens_across_devices: Falseprompts: Nonebatch_sampler: batch_samplermulti_dataset_batch_sampler: round_robin| Epoch | Step | Training Loss | cosine_ndcg@10 |
|---|---|---|---|
| 0.0735 | 500 | 0.0157 | - |
| 0.1470 | 1000 | 0.0231 | - |
| 0.2204 | 1500 | 0.0191 | - |
| 0.2939 | 2000 | 0.0179 | - |
| 0.3674 | 2500 | 0.0153 | - |
| 0.4409 | 3000 | 0.017 | - |
| 0.4702 | 3200 | - | 0.5705 |
| 0.5143 | 3500 | 0.0181 | - |
| 0.5878 | 4000 | 0.0131 | - |
| 0.6613 | 4500 | 0.0129 | - |
| 0.7348 | 5000 | 0.012 | - |
| 0.8082 | 5500 | 0.0117 | - |
| 0.8817 | 6000 | 0.0096 | - |
| 0.9405 | 6400 | - | 0.5906 |
| 0.9552 | 6500 | 0.0111 | - |
| 1.0 | 6805 | - | 0.5917 |
1@inproceedings{reimers-2019-sentence-bert,
2 title = "Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks",
3 author = "Reimers, Nils and Gurevych, Iryna",
4 booktitle = "Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing",
5 month = "11",
6 year = "2019",
7 publisher = "Association for Computational Linguistics",
8 url = "https://arxiv.org/abs/1908.10084",
9}1@misc{henderson2017efficient,
2 title={Efficient Natural Language Response Suggestion for Smart Reply},
3 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},
4 year={2017},
5 eprint={1705.00652},
6 archivePrefix={arXiv},
7 primaryClass={cs.CL}
8}