Yalda-Embedding: Open Development of a Competitive Persian Retrieval Model
Organizations: Faculty of Engineering, Azad University · Faculty of Computer Engineering, University of Isfahan · Department of Electrical Engineering, Iran University of Science and Technology
Abstract
Despite advances in multilingual text representations, effective dense retrieval for Persian remains constrained by the limited availability of language-specific training resources and compact embedding models. We present Yalda Embedding, a 595.8-million-parameter Persian retrieval model adapted from Qwen3-Embedding-0.6B using more than one million query-document pairs. On eight Persian retrieval tasks from FaMTEB, the model achieves the highest macro-average among the evaluated 0.6B models, scoring 0.5488 and outperforming Qwen3-Embedding-0.6B and F2LLM-v2-0.6B on every task. It also approaches Qwen3-Embedding-4B, winning on four tasks, tying on one, and trailing by 0.0075 in macro-average. An incremental ablation study examines contrastive batch size, optimization stabilization, and relational knowledge distillation from F2LLM-v2-8B. Under the one-epoch training setup, contrastive fine-tuning alone yields a modest mean improvement over initialization and regressions on two tasks. The final distilled configuration improves all eight tasks over the non-distilled model, raising the mean from 0.4813 to 0.5488 without increasing inference-time model size. These gains include hard-negative evaluation tasks despite training without explicitly mined or supplied hard negatives. We release model weights, training and evaluation code, the pairwise dataset, and its teacher-embedded counterpart, enabling inspection of data composition and training procedures, independent evaluation, and reuse without repeating expensive teacher inference.
Figures & tables
| Source | Pairs | Share (%) |
|---|---|---|
| MSMARCO-Fa | 532,501 | 51.40 |
| HotpotQA-Fa | 169,946 | 16.40 |
| NFCorpus-Fa | 110,575 | 10.67 |
| PersianWebDocumentRetrieval | 78,871 | 7.61 |
| PQuAD | 63,994 | 6.18 |
| Synthetic Persian QA Retrieval | 27,243 | 2.63 |
| Property | Value |
|---|---|
| Parameters | 595,776,512 |
| Transformer blocks | 28 |
| Vocabulary size | 151,669 |
| Hidden / embedding size | 1,024 |
| Feed-forward intermediate size | 3,072 |
| Query attention heads | 16 |
| Hyperparameter | Value |
|---|---|
| Epochs | 1 |
| Global batch size | 512 |
| Batch size per TPU device | 64 |
| Optimization steps | 2,023 |
| Peak learning rate | |
| Warmup | 10% of updates |
| Model | Size | Mean |
|---|---|---|
| Same-scale comparison | ||
| Yalda-Embedding | 0.6B | 0.5488 |
| F2LLM-v2-0.6B | 0.6B | 0.5063 |
| Dibachain/Diba-Embed | 0.6B | 0.4788 |
| Qwen3-Embedding-0.6B | 0.6B | 0.4713 |
| heydariAI/persian-embeddings | 0.6B | 0.4175 |
| Ablation | Change | FiQA | NFC | Syn | Web | Hotpot | MSM | NQ | SciFact | Mean | |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Stage I: Contrastive training recipe (no KD) | |||||||||||
| 1 | InfoNCE, BS 64 | 0.18 | 0.29 | 0.80 | 0.47 | 0.41 | 0.59 | 0.28 | 0.46 | 0.4350 | – |
| 2 | Batch size 512 | 0.24 | 0.31 | 0.82 | 0.54 | 0.47 | 0.60 | 0.29 | 0.52 | 0.4738 | +0.0388 |
| 3 | Clip + warmup + cosine | 0.25 | 0.31 | 0.83 | 0.54 | 0.48 | 0.61 | 0.32 | 0.51 | 0.4813 | +0.0075 |
| Stage II: Distillation weights (Stage I recipe fixed) | |||||||||||
| 4 | Ablation 3 + KD, | 0.26 | 0.33 | 0.86 | 0.56 | 0.55 | 0.62 | 0.35 | 0.57 | 0.5125 | +0.0313 |
Text Embedding Models
Text embedding models map words, sentences, or documents to vectors for semantic search, retrieval, clustering, and downstream prediction.
See all 126 papers