--- tags: - sentence-transformers - sentence-similarity - feature-extraction - dense - generated_from_trainer - dataset_size:23446 - loss:CosineSimilarityLoss base_model: sentence-transformers/paraphrase-multilingual-mpnet-base-v2 widget: - source_sentence: 'tỷ lệ quy đổi: 1 lượt golf bằng 1 đêm nghỉ dưỡng tiêu chuẩn.' sentences: - nếu số dư bình quân tháng trên 100 triệu, tài khoản thanh toán hưởng lãi suất 0,30%. - chủ tài khoản combo đa lợi được hưởng các ưu đãi như quay số trúng thưởng và hoàn tiền. - mỗi điểm thưởng tích lũy có giá trị quy đổi tương đương 85 đồng. - source_sentence: gói an sinh xã hội tham gia các chương trình khuyến mãi của sacombank. sentences: - khoản vay ô tô vinfast cho phép trả góp trong vòng 96 tháng. - dùng gói an sinh xã hội rút tiền ở cây atm không tốn phí. - tráng miệng tại pincho là món kem nướng đường vị hạt sen. - source_sentence: biên độ 2,42% được cộng vào lãi suất bình quân lãi cuối kỳ của khcn. sentences: - vị trí của tunglok heen là tại trung tâm almaz, khu đô thị vinhomes riverside. - lãi suất 5,20% được áp dụng cho sản phẩm tiết kiệm trung niên phúc lộc kỳ hạn 12 tháng. - danh sách thẻ được bảo hiểm bao gồm cả visa platinum tiki và cashback. - source_sentence: cấm dùng thẻ quốc tế để mua bất động sản ở nước ngoài rồi bán lại lấy tiền mặt. sentences: - sinh viên mở thẻ o2 được hưởng mức lãi suất đặc biệt thấp chỉ 0,8% mỗi tháng. - khi ứng dụng gặp sự cố, chủ thẻ có thể truy cập https://khachhangthanthiet.sacombank.com để thao tác. - hệ thống sẽ ghi có số tiền tương ứng vào tài khoản thẻ tín dụng sau khi đổi điểm. - source_sentence: thủ tục mở combo hi-tek yêu cầu thẻ học sinh/sinh viên. sentences: - tóm tắt quy định lãi suất và tiền gửi tiết kiệm - các dịch vụ giá trị gia tăng như phát hành séc, bảo lãnh đều có trên tài khoản thanh toán. - mức lãi suất tối đa cho các kỳ hạn từ 1 tháng đến dưới 6 tháng là 4,75%. pipeline_tag: sentence-similarity library_name: sentence-transformers metrics: - pearson_cosine - spearman_cosine model-index: - name: SentenceTransformer based on sentence-transformers/paraphrase-multilingual-mpnet-base-v2 results: - task: type: semantic-similarity name: Semantic Similarity dataset: name: banking validation type: banking-validation metrics: - type: pearson_cosine value: 0.9364482359810874 name: Pearson Cosine - type: spearman_cosine value: 0.6616815700973865 name: Spearman Cosine --- # SentenceTransformer based on sentence-transformers/paraphrase-multilingual-mpnet-base-v2 This is a [sentence-transformers](https://www.SBERT.net) model finetuned from [sentence-transformers/paraphrase-multilingual-mpnet-base-v2](https://huggingface.co/sentence-transformers/paraphrase-multilingual-mpnet-base-v2). It maps sentences & paragraphs to a 768-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:** [sentence-transformers/paraphrase-multilingual-mpnet-base-v2](https://huggingface.co/sentence-transformers/paraphrase-multilingual-mpnet-base-v2) - **Maximum Sequence Length:** 128 tokens - **Output Dimensionality:** 768 dimensions - **Similarity Function:** Cosine Similarity ### 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': 128, 'do_lower_case': False, 'architecture': 'XLMRobertaModel'}) (1): Pooling({'word_embedding_dimension': 768, 'pooling_mode_cls_token': False, 'pooling_mode_mean_tokens': True, 'pooling_mode_max_tokens': False, 'pooling_mode_mean_sqrt_len_tokens': False, 'pooling_mode_weightedmean_tokens': False, 'pooling_mode_lasttoken': False, 'include_prompt': True}) ) ``` ## 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("sentence_transformers_model_id") # Run inference sentences = [ 'thủ tục mở combo hi-tek yêu cầu thẻ học sinh/sinh viên.', 'các dịch vụ giá trị gia tăng như phát hành séc, bảo lãnh đều có trên tài khoản thanh toán.', 'mức lãi suất tối đa cho các kỳ hạn từ 1 tháng đến dưới 6 tháng là 4,75%.', ] embeddings = model.encode(sentences) print(embeddings.shape) # [3, 768] # Get the similarity scores for the embeddings similarities = model.similarity(embeddings, embeddings) print(similarities) # tensor([[ 1.0000, -0.0398, 0.0058], # [-0.0398, 1.0000, 0.0282], # [ 0.0058, 0.0282, 1.0000]]) ``` ## Evaluation ### Metrics #### Semantic Similarity * Dataset: `banking-validation` * Evaluated with [EmbeddingSimilarityEvaluator](https://sbert.net/docs/package_reference/sentence_transformer/evaluation.html#sentence_transformers.evaluation.EmbeddingSimilarityEvaluator) | Metric | Value | |:--------------------|:-----------| | pearson_cosine | 0.9364 | | **spearman_cosine** | **0.6617** | ## Training Details ### Training Dataset #### Unnamed Dataset * Size: 23,446 training samples * Columns: sentence_0, sentence_1, and label * Approximate statistics based on the first 1000 samples: | | sentence_0 | sentence_1 | label | |:--------|:----------------------------------------------------------------------------------|:----------------------------------------------------------------------------------|:---------------------------------------------------------------| | type | string | string | float | | details | | | | * Samples: | sentence_0 | sentence_1 | label | |:--------------------------------------------------------------------------|:-------------------------------------------------------------------------------------|:-----------------| | vietlott sms là dịch vụ phân phối xổ số qua kênh điện thoại. | không áp dụng đổi điểm cho việc mua sắm trang sức (mã mcc 5944). | 0.0 | | khách hàng trúng trên 10 tỷ không được nhận thưởng tự động. | tiền để trong thẻ atm (không kỳ hạn) sinh lời 0,1% mỗi năm. | 0.0 | | thẻ metro pass phi vật lý miễn phí thường niên trọn đời. | để đảm bảo bảo mật, người dùng cần nâng cấp app lên phiên bản mới nhất. | 0.0 | * Loss: [CosineSimilarityLoss](https://sbert.net/docs/package_reference/sentence_transformer/losses.html#cosinesimilarityloss) with these parameters: ```json { "loss_fct": "torch.nn.modules.loss.MSELoss" } ``` ### Training Hyperparameters #### Non-Default Hyperparameters - `eval_strategy`: steps - `per_device_train_batch_size`: 16 - `per_device_eval_batch_size`: 16 - `num_train_epochs`: 4 - `multi_dataset_batch_sampler`: round_robin #### All Hyperparameters
Click to expand - `overwrite_output_dir`: False - `do_predict`: False - `eval_strategy`: steps - `prediction_loss_only`: True - `per_device_train_batch_size`: 16 - `per_device_eval_batch_size`: 16 - `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 - `num_train_epochs`: 4 - `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 - `bf16`: False - `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} - `parallelism_config`: None - `deepspeed`: None - `label_smoothing_factor`: 0.0 - `optim`: adamw_torch_fused - `optim_args`: None - `adafactor`: False - `group_by_length`: False - `length_column_name`: length - `project`: huggingface - `trackio_space_id`: trackio - `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 - `hub_revision`: None - `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 - `include_tokens_per_second`: False - `include_num_input_tokens_seen`: no - `neftune_noise_alpha`: None - `optim_target_modules`: None - `batch_eval_metrics`: False - `eval_on_start`: False - `use_liger_kernel`: False - `liger_kernel_config`: None - `eval_use_gather_object`: False - `average_tokens_across_devices`: True - `prompts`: None - `batch_sampler`: batch_sampler - `multi_dataset_batch_sampler`: round_robin - `router_mapping`: {} - `learning_rate_mapping`: {}
### Training Logs | Epoch | Step | Training Loss | banking-validation_spearman_cosine | |:------:|:----:|:-------------:|:----------------------------------:| | 0.3411 | 500 | 0.0523 | 0.6497 | | 0.6821 | 1000 | 0.0362 | 0.6519 | | 1.0 | 1466 | - | 0.6549 | | 1.0232 | 1500 | 0.0276 | 0.6548 | | 1.3643 | 2000 | 0.0187 | 0.6588 | | 1.7053 | 2500 | 0.016 | 0.6566 | | 2.0 | 2932 | - | 0.6580 | | 2.0464 | 3000 | 0.0142 | 0.6574 | | 2.3874 | 3500 | 0.0085 | 0.6606 | | 2.7285 | 4000 | 0.0087 | 0.6610 | | 3.0 | 4398 | - | 0.6617 | ### Framework Versions - Python: 3.12.12 - Sentence Transformers: 5.1.1 - Transformers: 4.57.1 - PyTorch: 2.8.0+cu126 - Accelerate: 1.11.0 - Datasets: 4.4.2 - Tokenizers: 0.22.1 ## 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", } ```