alakxender/e5-dhivehi-paws-mnr

🤗 Hugging Face sourcesentence-similaritymit284M params1.1 GBsafetensors✓ 2 checksumsupdated today
Submit in one command

Run it next to your model folder. It makes the torrent, checks your files against Hugging Face, and submits it. You just start seeding and paste your key from your account. It only reads your files and never changes them. Read the script first if you like.

curl -fsSL https://pirateface.co/package.sh | bash -s -- --repo alakxender/e5-dhivehi-paws-mnr ./model-folder
Needs a seeder →

SentenceTransformer based on intfloat/multilingual-e5-base

This is a sentence-transformers model finetuned from intfloat/multilingual-e5-base. 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: intfloat/multilingual-e5-base
  • Maximum Sequence Length: 256 tokens
  • Output Dimensionality: 768 dimensions
  • Similarity Function: Cosine Similarity

Fine-tuned Models

This model is part of a progressive series of sentence embedding models based on intfloat/multilingual-e5-base, fine-tuned specifically for Dhivehi language understanding.

Each stage leverages a targeted dataset to specialize the model for semantic similarity, question answering, and summarization tasks — improving performance for real-world Dhivehi NLP applications.

Stage Task Model Dataset Objective
0 Base Multilingual Base intfloat/multilingual-e5-base —
1 Paraphrase Identification (MNR) alakxender/e5-dhivehi-paws-mnr alakxender/dhivehi-paws-labeled > label=1 Only MultipleNegativesRankingLoss
2 Paraphrase Identification (Cosine) alakxender/e5-dhivehi-paws-cos alakxender/dhivehi-paws-labeled CosineSimilarityLoss
3 Question → Passage Matching alakxender/e5-dhivehi-qa-mnr alakxender/dhivehi-qa-dataset MultipleNegativesRankingLoss
4 News Title → Content alakxender/e5-dhivehi-articles-mnr alakxender/dhivehi-news-corpus MultipleNegativesRankingLoss
5 Summary → Content alakxender/e5-dhivehi-summaries-mnr alakxender/dv-en-parallel-corpus-clean, alakxender/dv-summary-translation-corpus MultipleNegativesRankingLoss

Each model builds upon the previous checkpoint, incrementally enhancing the semantic capabilities of the model for Dhivehi. The goal is to support high-quality sentence embeddings for a wide range of Dhivehi information retrieval and understanding tasks.

Model Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 256, '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:

pip install -U sentence-transformers

Then you can load this model and run inference.

from sentence_transformers import SentenceTransformer

# Download from the 🤗 Hub
model = SentenceTransformer("alakxender/e5-dhivehi-paws-mnr")
# Run inference
sentences = [
    'query: މި މާނަ ތިރީގައިވާ ގޮތަށް އެއްވެސް ( ސްޓޭންޑަރޑް ނުވަތަ ނޮން ސްޓޭންޑަރޑް ) ނުކުތާއަކަށް ފުޅާކުރެވިދާނެއެވެ :',
    'query: އެ މާނަ އަމިއްލައަށް ފުޅާކުރެވޭ ( ސްޓޭންޑަރޑް ނުވަތަ ނޮން ސްޓޭންޑަރޑް ) ޕޮއިންޓްތަކަށް ތިރީގައިވާ ގޮތަށް ފުޅާކުރެވިދާނެއެވެ :',
    "query: ޑޮންގް ޒާއޯ އަކީ `` ޝިއޯލިއަން '' އެއް ކަމަށާއި އޭނާގެ ފުރަތަމަ އަހަރުތަކުގައި ހަނގުރާމަވެރިޔާ ޔުއާން ޝާއޯގެ ދަށުން ޑިސްޓްރިކްޓް އޮފިޝަލްގެ މަގާމު އަދާކުރެއްވުމުގެ ކުރިން އޭނާ ވަނީ އަސްކަރީ ލަފާދޭ މީހަކަށް ޕްރޮމޯޓްވެފަ އެވެ .",
]
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.9850, -0.0063],
#         [ 0.9850,  1.0000, -0.0151],
#         [-0.0063, -0.0151,  1.0000]])

Evaluation

Metrics

Semantic Similarity

Metric Value
pearson_cosine 0.2502
spearman_cosine 0.283

Training Details

Training Dataset

  • Size: 25,436 training samples
  • Columns: sentence_0 and sentence_1
  • Approximate statistics based on the first 1000 samples:
    sentence_0 sentence_1
    type string string
    details
    • min: 9 tokens
    • mean: 42.4 tokens
    • max: 83 tokens
    • min: 9 tokens
    • mean: 42.52 tokens
    • max: 81 tokens
  • Samples:
    sentence_0 sentence_1
    query: ކެނެޑާގައި އުފައްދާ ހުރިހާ ދުންފަތުގެ %90 ވަރަކަށް މިތަނުގައި އުފައްދައެވެ . query: ކެނެޑާގައި އުފައްދާ ހުރިހާ ދުންފަތުގެ %90 ވަރަކަށް މިތަނުން އުފައްދައެވެ .
    query: ޒަމާނީ ހެދުން ބޭނުން ކުރަން ނިންމުމަކީ ހައުސްމަން ކިޔާ ނިންމުމަކީ އޯސަން ޑްރާމާއަކީ ސާފު ޒަމާނީ ޕެރެލަލްސްތަކެއް ހުރި ސިޔާސީ މެލޯޑްރާމާއެއްގެ ގޮތުގައި ތަސައްވަރު ކުރެއްވި މުހިންމު އެއް މާއްދާއެކެވެ . query: ހައުސްމަން ވިދާޅުވީ ޒަމާނީ ހެދުން ބޭނުން ކުރަން ނިންމުމަކީ `` ސާފު ޒަމާނީ ޕެރެލަލްސްތަކެއް ހުރި ސިޔާސީ މެލޯޑްރާމާއެއްގެ ގޮތުގައި އޮރސަން ޑްރާމާ ތަސައްވުރު ކުރުމުގައި މުހިންމު އެއް މާއްދާއެއް ކަމަށެވެ . '' .
    query: ލެޓާ އަކީ ނާޒީ ޖަރުމަނުން ލެޓްވިއާ ހިފެހެއްޓި ދުވަސްވަރު ޖަރުމަނުގެ ނޫސް އެޖެންސީ ޑީއެންބީގެ ދަށުގައި އޮތް ތަނެކެވެ . query: ނާޒީ ޖަރުމަނުން ލެޓްވިއާ ހިފުމުގެ ތެރޭގައި ލެޓާ އޮތީ ޖަރުމަނުގެ ޑީއެންބީ ނިއުސް އެޖެންސީގެ ދަށުގައެވެ .
  • Loss: MultipleNegativesRankingLoss with these parameters:
    {
        "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
  • 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: 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
  • num_train_epochs: 3
  • 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
  • use_ipex: 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}
  • 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
  • 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: batch_sampler
  • multi_dataset_batch_sampler: round_robin
  • router_mapping: {}
  • learning_rate_mapping: {}

Training Logs

Epoch Step Training Loss dhivehi-paws_spearman_cosine
0.6289 500 0.5595 0.2212
1.0 795 - 0.2677
1.2579 1000 0.2365 0.2781
1.8868 1500 0.1846 0.2733
2.0 1590 - 0.2797
2.5157 2000 0.1547 0.2772
3.0 2385 - 0.2830

Framework Versions

  • Python: 3.9.21
  • Sentence Transformers: 5.0.0
  • Transformers: 4.52.4
  • PyTorch: 2.5.1+cu124
  • Accelerate: 1.3.0
  • Datasets: 3.2.0
  • Tokenizers: 0.21.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",
}

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}
}