maiduchuy321/vietnamese-bi-encoder-for-SoICT-2024
vietnamese-bi-encoder-for-SoICT-2024
This is a sentence-transformers model finetuned from bkai-foundation-models/vietnamese-bi-encoder on the json dataset. 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: bkai-foundation-models/vietnamese-bi-encoder <!-- at revision 84f9d9ada0d1a3c37557398b9ae9fcedcdf40be0 -->
- Maximum Sequence Length: 256 tokens
- Output Dimensionality: 768 tokens
- Similarity Function: Cosine Similarity
- Training Dataset:
- json
- Language: vn
- License: apache-2.0
Model Sources
- Documentation: Sentence Transformers Documentation
- Repository: Sentence Transformers on GitHub
- Hugging Face: Sentence Transformers on Hugging Face
Full Model Architecture
SentenceTransformer(
(0): Transformer({'max_seq_length': 256, 'do_lower_case': False}) with Transformer model: RobertaModel
(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:
pip install -U sentence-transformersThen you can load this model and run inference.
from sentence_transformers import SentenceTransformer
# Download from the 🤗 Hub
model = SentenceTransformer("maiduchuy321/vietnamese-bi-encoder-for-SoICT-2024")
# Run inference
sentences = [
'1. công_ước này sẽ bắt_đầu có hiệu_lực với điều_kiện tuân_thủ các quy_định của khoản 6 điều này , vào ngày đầu tháng tiếp_theo sau khi hết một hạn kỳ 12 tháng kể từ ngày văn_bản phê_chuẩn , chấp_nhận , chuẩn_y hay gia_nhập thứ mười được đệ_trình kể_cả những văn_bản chứa_đựng một tuyên_bố được làm chiếu theo điều 92. 5. mọi quốc_gia thành_viên của công_ước la - haye 1964 về ký_kết_hợp_đồng mà phê_chuẩn , chấp_nhận hay chuẩn_y công_ước này , hoặc gia_nhập công_ước này và tuyên_bố hay đã tuyên_bố chiếu theo điều 92 rằng họ không bị ràng_buộc bởi phần thứ ba của công_ước sẽ hủy bỏ vào lúc phê_chuẩn , chấp_nhận , chuẩn_y hay gia_nhập , bản công_ước la - haye 1964 về ký_kết_hợp_đồng_bằng cách gửi một thông_cáo với mục_đích đó cho chính_phủ hà_lan. 6. vì mục_đích của điều này , các sự phê_chuẩn , chấp_nhận , chuẩn_y và gia_nhập công_ước này của các quốc_gia thành_viên của công_ước la - haye 1964 về ký_kết_hợp_đồng hay công_ước la - haye 1964 về mua_bán hàng_hóa chỉ bắt_đầu có hiệu_lực kể từ ngày các thông_báo hủy_bỏ của các quốc_gia đó đối_với hai công_ước nói trên cũng sẽ có hiệu_lực. người giữ lưu_chiểu bản công_ước này sẽ thỏa_thuận với chính_phủ hà_lan , vốn là người giữ lưu_chiểu các công_ước 1964 , để đảm_bảo sự phối_hợp cần_thiết về vấn_đề này',
'công_ước viên về mua_bán hàng_hóa quốc_tế năm 1980 sẽ bắt_đầu có hiệu_lực với điều_kiện gì ?',
'đăng_kiểm viên có hành_vi làm sai_lệch kết_quả kiểm_định xe cơ_giới bị phạt tiền như thế_nào ?',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 768]
# 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. -->
Evaluation
Metrics
Information Retrieval
- Dataset:
dim_768 - Evaluated with <code>InformationRetrievalEvaluator</code>
<!--
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
json
- Dataset: json
- Size: 107,510 training samples
- Columns: <code>positive</code> and <code>anchor</code>
- Approximate statistics based on the first 1000 samples: | | positive | anchor | |:--------|:------------------------------------------------------------------------------------|:----------------------------------------------------------------------------------| | type | string | string | | details | <ul><li>min: 2 tokens</li><li>mean: 169.63 tokens</li><li>max: 256 tokens</li></ul> | <ul><li>min: 5 tokens</li><li>mean: 17.53 tokens</li><li>max: 37 tokens</li></ul> |
- Samples: | positive | anchor | |:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:------------------------------------------------------------------------------------------------------------------------------| | <code>" điều 6. mức hưởng chếđộ ốmđau 1. mức hưởng chếđộ ốmđau theo quyđịnh tại khoản 1 điều 26 và điều 27 của luật bảohiểm xãhội được tính như sau : mức hưởng chếđộ ốmđau = tiềnlương tháng đóng bảohiểm xãhội của tháng liền kề trước khi nghỉviệc / 24 ngày x 75 ( % ) x số ngày nghỉviệc được hưởng chếđộ ốmđau "</code> | <code>mức hưởng chếđộ ốmđau được phápluật quyđịnh như thếnào ?</code> | | <code>huấnluyện , bồidưỡng nghiệpvụ phòng cháy và chữacháy. 4. tráchnhiệm tổchức huấnluyện , bồidưỡng nghiệpvụ về phòng cháy và chữacháy :. b ) cơquan , tổchức , cơsở hoặc cánhân có nhucầu được huấnluyện , bồidưỡng nghiệpvụ phòng cháy và chữacháy thì đềnghị cơquan côngan hoặc cơsở huấnluyện , hướngdẫn về nghiệpvụ phòng cháy và chữacháy đã được xácnhận đủ điềukiện kinhdoanh dịchvụ phòng cháy và chữacháy tổchức huấnluyện. kinhphí tổchức huấnluyện do cơquan , tổchức , cơsở hoặc cánhân thamgia huấnluyện chịu tráchnhiệm. viphạmquyđịnh về tuyêntruyền , phổbiến phápluật , kiếnthức và huấnluyện , bồidưỡng nghiệpvụ phòng cháy và chữacháy , cứu nạn , cứuhộ. 3. phạt tiền từ 1. 500. 000 đồng đến 3. 000. 000 đồng đốivới hànhvi không tổchức huấnluyện , bồidưỡng nghiệpvụ phòng cháy và chữacháy , cứu nạn , cứuhộ theo quyđịnh</code> | <code>côngty không thựchiện bồidưỡng nghiệpvụ phòng cháy chữacháy cho người laođộng thì bị xửphạt như thếnào ?</code> | | <code>" điều 73. điềukiện trước khi chínhthức hoạtđộng 1. doanhnghiệp bảohiểm , doanhnghiệp táibảohiểm , chinhánh nướcngoài tại việt nam phải chínhthức hoạtđộng trong thờihạn 12 tháng kể từ ngày được cấp giấyphép thànhlập và hoạtđộng , trừ trườnghợp có sựkiện bấtkhảkháng hoặc trởngại kháchquan. đốivới trườnghợp bấtkhảkháng hoặc trởngại kháchquan , doanhnghiệp bảohiểm , doanhnghiệp táibảohiểm , chinhánh nướcngoài tại việt nam phải báocáo bằng vănbản và được bộ tàichính chấpthuận bằng vănbản về việc giahạn thờigian chínhthức hoạtđộng. thờigian giahạn tốiđa là 12 tháng. 2. doanhnghiệp bảohiểm , doanhnghiệp táibảohiểm , chinhánh nướcngoài tại việt nam phải đápứng các quyđịnh sau đây để chínhthức hoạtđộng : a ) chuyển số vốn gửi tại tàikhoản phongtỏa thành vốn điềulệ hoặc vốn được cấp. b ) xâydựng cơcấu tổchức , bộmáy quảnlý , kiểmsoát nộibộ , kiểmtoán nộibộ , hệthống quảntrị rủiro phùhợp với hìnhthức hoạtđộng theo quyđịnh của luật này và quyđịnh khác của phápluật có liênquan. bầu , bổnhiệm người đạidiện theo phápluật. bầu , bổnhiệm các chứcdanh đã được bộ tàichính chấpthuận về nguyêntắc quyđịnh tại khoản 2 điều 70 của luật này. c ) banhành các quychế quảnlý nộibộ về tổchức hoạtđộng , quychế nộibộ về quảntrị rủiro và các quytrình nghiệpvụ cơbản theo quyđịnh phápluật. d ) kýquỹ đầyđủ theo quyđịnh của luật này tại ngânhàng thươngmại hoạtđộng tại việtnam. đ ) có trụsở , cơsở vậtchất , kỹthuật , hệthống côngnghệ phùhợp với quytrình nghiệpvụ về kinhdoanh bảohiểm. e ) thựchiện côngbố nộidung giấyphép thànhlập và hoạtđộng quyđịnh tại khoản 2 điều 72 của luật này. 3. doanhnghiệp bảohiểm , doanhnghiệp táibảohiểm , chinhánh nướcngoài tại việt nam phải thôngbáo cho bộ tàichính về việc đápứng các quyđịnh tại khoản 2 điều này ítnhất 15 ngày trước ngày chínhthức hoạtđộng. bộ tàichính có quyền đìnhchỉ việc chínhthức hoạtđộng của doanhnghiệp bảohiểm , doanhnghiệp táibảohiểm , chinhánh nướcngoài tại việtnam khi chưa đápứng các quyđịnh tại khoản 2 điều này. 4. doanhnghiệp bảohiểm , doanhnghiệp táibảohiểm , chinhánh nướcngoài tại việt nam không được tiếnhành hoạtđộngkinhdoanh bảohiểm trước ngày chínhthức hoạtđộng. "</code> | <code>điềukiện để doanhnghiệp bảohiểm được chínhthức hoạtđộng ?</code> |
- Loss: <code>MatryoshkaLoss</code> with these parameters:
{
"loss": "MultipleNegativesRankingLoss",
"matryoshka_dims": [
768
],
"matryoshka_weights": [
1
],
"n_dims_per_step": -1
}Evaluation Dataset
json
- Dataset: json
- Size: 11,946 evaluation samples
- Columns: <code>positive</code> and <code>anchor</code>
- Approximate statistics based on the first 1000 samples: | | positive | anchor | |:--------|:-------------------------------------------------------------------------------------|:----------------------------------------------------------------------------------| | type | string | string | | details | <ul><li>min: 16 tokens</li><li>mean: 165.45 tokens</li><li>max: 256 tokens</li></ul> | <ul><li>min: 7 tokens</li><li>mean: 17.33 tokens</li><li>max: 40 tokens</li></ul> |
- Samples: | positive | anchor | |:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:------------------------------------------------------------------------------------| | <code>" điều 15. nguyêntắc giaokếthợpđồng laođộng 1. tựnguyện , bìnhđẳng , thiệnchí , hợptác và trungthực. 2. tựdo giaokếthợpđồng laođộng nhưng không được trái phápluật , thỏaước laođộng tậpthể và đạođức xãhội. "</code> | <code>nguyêntắc giaokếthợpđồng laođộng được đềcập như thếnào ?</code> | | <code>" 1. mỗi chứcdanh côngchức cấp xã được bốtrí từ 01 người trở lên , ủyban nhândân cấp tỉnh quyđịnh việc bốtrí tăng thêm người ở mộtsố chứcdanh côngchức cấp xã phùhợp với yêucầu , nhiệmvụ của từng xã , phường , thịtrấn ( trừ chứcdanh trưởng côngan xã và chỉhuytrưởng ban chỉhuy quânsự cấp xã ) nhưng không vượt quá tổngsố cánbộ , côngchức cấp xã quyđịnh tại khoản 1 điều 4 nghịđịnh số 92 / 2009 / nđ - cp đã được sửađổi , bổsung tại khoản 1 điều 2 nghịđịnh 34 / 2019 / nđ - cp. 2. những chứcdanh côngchức cấp xã có từ 02 người đảmnhiệm , khi tuyểndụng , ghi hồsơ lýlịch và sổ bảohiểm xãhội phải thốngnhất theo đúng tên gọi của chứcdanh côngchức cấp xã quyđịnh tại khoản 2 điều 3 nghịđịnh số 92 / 2009 / nđ - cp. 3. căncứ quyếtđịnh của ủyban nhândân cấp tỉnh về việc giao sốlượng cánbộ , côngchức cấp xã , chủtịch ủyban nhândân cấp huyện quyếtđịnh tuyểndụng , phâncông , điềuđộng , luânchuyển và bốtrí người đảmnhiệm các chứcdanh côngchức cấp xã phùhợp với chuyênngành đàotạo và đápứng các yêucầu của vịtrí chứcdanh côngchức. "</code> | <code>bốtrí sốlượng côngchức cấp xã được phápluật quyđịnh như thếnào ?</code> | | <code>“ điều 3. giảithích từngữ … 4. thu phí dịchvụ sửdụng đườngbộ theo hìnhthức điệntử không dừng ( sau đây gọi tắt là thu phí điệntử không dừng ) là hìnhthức thu phí dịchvụ sửdụng đườngbộ tựđộng , phươngtiện giaothông đườngbộ không cần phải dừng lại để trả phí dịchvụ sửdụng đườngbộ khi tới trạm thu phí dịchvụ sửdụng đườngbộ. quátrình tínhtoán phí dịchvụ sửdụng đườngbộ được thựchiện tựđộng bởi hệthống thu phí dịchvụ sửdụng đườngbộ theo hìnhthức điệntử không dừng ( sau đây gọi tắt là hệthống thu phí điệntử không dừng ). ”</code> | <code>thu phí điệntử không dừng là gì ?</code> |
- Loss: <code>MatryoshkaLoss</code> with these parameters:
{
"loss": "MultipleNegativesRankingLoss",
"matryoshka_dims": [
768
],
"matryoshka_weights": [
1
],
"n_dims_per_step": -1
}Training Hyperparameters
Non-Default Hyperparameters
eval_strategy: epochper_device_train_batch_size: 24per_device_eval_batch_size: 16gradient_accumulation_steps: 16learning_rate: 2e-05num_train_epochs: 5lr_scheduler_type: cosinewarmup_ratio: 0.1fp16: Trueload_best_model_at_end: Trueoptim: adamwtorchfusedbatch_sampler: no_duplicates
All Hyperparameters
<details><summary>Click to expand</summary>
overwrite_output_dir: Falsedo_predict: Falseeval_strategy: epochprediction_loss_only: Trueper_device_train_batch_size: 24per_device_eval_batch_size: 16per_gpu_train_batch_size: Noneper_gpu_eval_batch_size: Nonegradient_accumulation_steps: 16eval_accumulation_steps: Nonetorch_empty_cache_steps: Nonelearning_rate: 2e-05weight_decay: 0.0adam_beta1: 0.9adam_beta2: 0.999adam_epsilon: 1e-08max_grad_norm: 1.0num_train_epochs: 5max_steps: -1lr_scheduler_type: cosinelr_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: Trueignore_data_skip: Falsefsdp: []fsdp_min_num_params: 0fsdp_config: {'minnumparams': 0, 'xla': False, 'xlafsdpv2': False, 'xlafsdpgrad_ckpt': False}fsdp_transformer_layer_cls_to_wrap: Noneaccelerator_config: {'splitbatches': False, 'dispatchbatches': None, 'evenbatches': True, 'useseedablesampler': True, 'nonblocking': False, 'gradientaccumulationkwargs': None}deepspeed: Nonelabel_smoothing_factor: 0.0optim: adamwtorchfusedoptim_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: Falseuse_liger_kernel: Falseeval_use_gather_object: Falsebatch_sampler: no_duplicatesmulti_dataset_batch_sampler: proportional
</details>
Training Logs
<details><summary>Click to expand</summary>
- The bold row denotes the saved checkpoint. </details>
Framework Versions
- Python: 3.10.14
- Sentence Transformers: 3.2.1
- Transformers: 4.45.1
- PyTorch: 2.4.0
- Accelerate: 0.34.2
- Datasets: 3.0.1
- Tokenizers: 0.20.0
Citation
BibTeX
Sentence Transformers
@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",
}MatryoshkaLoss
@misc{kusupati2024matryoshka,
title={Matryoshka Representation Learning},
author={Aditya Kusupati and Gantavya Bhatt and Aniket Rege and Matthew Wallingford and Aditya Sinha and Vivek Ramanujan and William Howard-Snyder and Kaifeng Chen and Sham Kakade and Prateek Jain and Ali Farhadi},
year={2024},
eprint={2205.13147},
archivePrefix={arXiv},
primaryClass={cs.LG}
}MultipleNegativesRankingLoss
@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. -->
