CoolFace
Modelpublic

kevinadityai/minilm-ai-faq-embeddings-v3

sourceHugging Faceupdated 1y agoView on Hugging Face
0likes27downloads
Model Card

SentenceTransformer based on sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2

This is a sentence-transformers model finetuned from sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2. It maps sentences & paragraphs to a 384-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-MiniLM-L12-v2 <!-- at revision 86741b4e3f5cb7765a600d3a3d55a0f6a6cb443d -->
  • —Maximum Sequence Length: 128 tokens
  • —Output Dimensionality: 384 dimensions
  • —Similarity Function: Cosine Similarity <!-- - Training Dataset: Unknown --> <!-- - Language: Unknown --> <!-- - License: Unknown -->

Model Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 128, 'do_lower_case': False, 'architecture': 'BertModel'})
  (1): Pooling({'word_embedding_dimension': 384, '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("kevinadityai/minilm-ai-faq-embeddings-v3")
# Run inference
queries = [
    "Di mana ada lokasi Rumah Sakit Siloam?",
]
documents = [
    'Ada 41 Rumah Sakit modern yang terdiri dari 14 Rumah Sakit di Jabodetabek dan 27 rumah sakit yang tersebar di Jawa, Sumatera, Kalimantan, Sulawesi, serta Bali dan Nusa Tenggara.',
    'Nama lain Siloam Wenang adalah Siloam Hospitals Manado atau SHMN',
    'Ada 41 Rumah Sakit modern yang terdiri dari 14 Rumah Sakit di Jabodetabek dan 27 rumah sakit yang tersebar di Jawa, Sumatera, Kalimantan, Sulawesi, serta Bali dan Nusa Tenggara.',
]
query_embeddings = model.encode_query(queries)
document_embeddings = model.encode_document(documents)
print(query_embeddings.shape, document_embeddings.shape)
# [1, 384] [3, 384]

# Get the similarity scores for the embeddings
similarities = model.similarity(query_embeddings, document_embeddings)
print(similarities)
# tensor([[ 0.8557, -0.2976,  0.8557]])

<!--

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

Triplet
MetricValue
cosine_accuracy1.0

<!--

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: 92,112 training samples
  • —Columns: <code>query</code>, <code>answerpositive</code>, and <code>answernegative</code>
  • —Approximate statistics based on the first 1000 samples: | | query | answerpositive | answernegative | |:--------|:-----------------------------------------------------------------------------------|:------------------------------------------------------------------------------------|:----------------------------------------------------------------------------------| | type | string | string | string | | details | <ul><li>min: 11 tokens</li><li>mean: 12.52 tokens</li><li>max: 14 tokens</li></ul> | <ul><li>min: 22 tokens</li><li>mean: 42.25 tokens</li><li>max: 128 tokens</li></ul> | <ul><li>min: 8 tokens</li><li>mean: 33.1 tokens</li><li>max: 128 tokens</li></ul> |
  • —Samples: | query | answerpositive | answernegative | |:----------------------------------------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | <code>Di mana ada lokasi Rumah Sakit Siloam?</code> | <code>Ada 41 Rumah Sakit modern yang terdiri dari 14 Rumah Sakit di Jabodetabek dan 27 rumah sakit yang tersebar di Jawa, Sumatera, Kalimantan, Sulawesi, serta Bali dan Nusa Tenggara.</code> | <code>Siloam Hospitals menawarkan banyak pilihan jenis kamar rawat inap. Silahkan pilih rumah sakit yang akan Anda kunjungi untuk mengetahui jenis kamar rawat inap yang ditawarkan di setiap unit.</code> | | <code>Di mana ada lokasi Rumah Sakit Siloam?</code> | <code>Ada 41 Rumah Sakit modern yang terdiri dari 14 Rumah Sakit di Jabodetabek dan 27 rumah sakit yang tersebar di Jawa, Sumatera, Kalimantan, Sulawesi, serta Bali dan Nusa Tenggara.</code> | <code>Untuk memastikan keamanan dan kualitas suplai darah, kami secara eksklusif menerima darah dari Palang Merah Indonesia.</code> | | <code>Di mana ada lokasi Rumah Sakit Siloam?</code> | <code>Ada 41 Rumah Sakit modern yang terdiri dari 14 Rumah Sakit di Jabodetabek dan 27 rumah sakit yang tersebar di Jawa, Sumatera, Kalimantan, Sulawesi, serta Bali dan Nusa Tenggara.</code> | <code>Kardiologi: Di Cardiac Center kami terdapat Unit Perawatan Jantung (CCU) yang berfokus pada perawatan pasien setelah serangan jantung atau operasi jantung, CT-Scan multi-irisan, Ekokardiografi, Elektrokardiogram (ECG), Pengobatan nuklir, Cath Lab, dan lainnya. Ilmu Saraf: Pusat Ilmu Saraf Siloam menawarkan perawatan lanjutan untuk operasi stereotaktik radiasi menggunakan pisau Gamma dan perawatan untuk Hydrocephalus. Onkologi: Pusat onkologi kami menawarkan perawatan seperti operasi radio pisau gamma, kedokteran nuklir dengan PET-CT dan SPECT-CT Scan, terapi radiasi dengan Rapid Arc Linear Accelerator (LINAC), terapi radionuklida, dan lainnya. Ortopedi: Pusat Keunggulan Siloam dalam Ortopedi menyediakan diagnosis, perawatan, dan rehabilitasi ahli untuk gangguan tulang, sendi, atau jaringan ikat. Meliputi pencegahan patah tulang osteoporosis, Bone Mass Densitometry dan Frax, diagnosa cedera atau penyakit kompleks, CT Scan 2D/3D, 1,5 Tesla dan 3 Tesla MRI, artroplasti revisi kompleks di ...</code> |
  • —Loss: <code>MultipleNegativesRankingLoss</code> with these parameters:
json
  {
      "scale": 20.0,
      "similarity_fct": "cos_sim",
      "gather_across_devices": false
  }

Evaluation Dataset

Unnamed Dataset
  • —Size: 1,000 evaluation samples
  • —Columns: <code>query</code>, <code>answerpositive</code>, and <code>answernegative</code>
  • —Approximate statistics based on the first 1000 samples: | | query | answerpositive | answernegative | |:--------|:-----------------------------------------------------------------------------------|:------------------------------------------------------------------------------------|:----------------------------------------------------------------------------------| | type | string | string | string | | details | <ul><li>min: 11 tokens</li><li>mean: 12.52 tokens</li><li>max: 14 tokens</li></ul> | <ul><li>min: 22 tokens</li><li>mean: 42.25 tokens</li><li>max: 128 tokens</li></ul> | <ul><li>min: 8 tokens</li><li>mean: 33.1 tokens</li><li>max: 128 tokens</li></ul> |
  • —Samples: | query | answerpositive | answernegative | |:----------------------------------------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | <code>Di mana ada lokasi Rumah Sakit Siloam?</code> | <code>Ada 41 Rumah Sakit modern yang terdiri dari 14 Rumah Sakit di Jabodetabek dan 27 rumah sakit yang tersebar di Jawa, Sumatera, Kalimantan, Sulawesi, serta Bali dan Nusa Tenggara.</code> | <code>Siloam Hospitals menawarkan banyak pilihan jenis kamar rawat inap. Silahkan pilih rumah sakit yang akan Anda kunjungi untuk mengetahui jenis kamar rawat inap yang ditawarkan di setiap unit.</code> | | <code>Di mana ada lokasi Rumah Sakit Siloam?</code> | <code>Ada 41 Rumah Sakit modern yang terdiri dari 14 Rumah Sakit di Jabodetabek dan 27 rumah sakit yang tersebar di Jawa, Sumatera, Kalimantan, Sulawesi, serta Bali dan Nusa Tenggara.</code> | <code>Untuk memastikan keamanan dan kualitas suplai darah, kami secara eksklusif menerima darah dari Palang Merah Indonesia.</code> | | <code>Di mana ada lokasi Rumah Sakit Siloam?</code> | <code>Ada 41 Rumah Sakit modern yang terdiri dari 14 Rumah Sakit di Jabodetabek dan 27 rumah sakit yang tersebar di Jawa, Sumatera, Kalimantan, Sulawesi, serta Bali dan Nusa Tenggara.</code> | <code>Kardiologi: Di Cardiac Center kami terdapat Unit Perawatan Jantung (CCU) yang berfokus pada perawatan pasien setelah serangan jantung atau operasi jantung, CT-Scan multi-irisan, Ekokardiografi, Elektrokardiogram (ECG), Pengobatan nuklir, Cath Lab, dan lainnya. Ilmu Saraf: Pusat Ilmu Saraf Siloam menawarkan perawatan lanjutan untuk operasi stereotaktik radiasi menggunakan pisau Gamma dan perawatan untuk Hydrocephalus. Onkologi: Pusat onkologi kami menawarkan perawatan seperti operasi radio pisau gamma, kedokteran nuklir dengan PET-CT dan SPECT-CT Scan, terapi radiasi dengan Rapid Arc Linear Accelerator (LINAC), terapi radionuklida, dan lainnya. Ortopedi: Pusat Keunggulan Siloam dalam Ortopedi menyediakan diagnosis, perawatan, dan rehabilitasi ahli untuk gangguan tulang, sendi, atau jaringan ikat. Meliputi pencegahan patah tulang osteoporosis, Bone Mass Densitometry dan Frax, diagnosa cedera atau penyakit kompleks, CT Scan 2D/3D, 1,5 Tesla dan 3 Tesla MRI, artroplasti revisi kompleks di ...</code> |
  • —Loss: <code>MultipleNegativesRankingLoss</code> with these parameters:
json
  {
      "scale": 20.0,
      "similarity_fct": "cos_sim",
      "gather_across_devices": false
  }

Training Hyperparameters

Non-Default Hyperparameters
  • —eval_strategy: steps
  • —per_device_train_batch_size: 64
  • —per_device_eval_batch_size: 64
  • —learning_rate: 2e-05
  • —num_train_epochs: 1
  • —warmup_ratio: 0.1
  • —fp16: True
  • —dataloader_num_workers: 4
  • —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: 64
  • —per_device_eval_batch_size: 64
  • —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: 2e-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: 1
  • —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: False
  • —fp16: True
  • —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: 4
  • —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: {'minnumparams': 0, 'xla': False, 'xlafsdpv2': False, 'xlafsdpgrad_ckpt': False}
  • —fsdp_transformer_layer_cls_to_wrap: None
  • —accelerator_config: {'splitbatches': False, 'dispatchbatches': None, 'evenbatches': True, 'useseedablesampler': True, 'nonblocking': False, 'gradientaccumulationkwargs': None}
  • —parallelism_config: None
  • —deepspeed: None
  • —label_smoothing_factor: 0.0
  • —optim: adamwtorchfused
  • —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
  • —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: False
  • —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: False
  • —prompts: None
  • —batch_sampler: no_duplicates
  • —multi_dataset_batch_sampler: proportional
  • —router_mapping: {}
  • —learning_rate_mapping: {}

</details>

Training Logs

EpochStepTraining LossValidation Lossai-faq-validation_cosine_accuracy
-1-1--0.8450
0.13891001.02890.00051.0
0.34725000.00280.00001.0
0.694410000.00240.00001.0

Framework Versions

  • —Python: 3.12.11
  • —Sentence Transformers: 5.1.1
  • —Transformers: 4.56.2
  • —PyTorch: 2.8.0+cu126
  • —Accelerate: 1.10.1
  • —Datasets: 4.0.0
  • —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",
}
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. -->