28
stars
21
commits
3
repos using this model
2
linked in READMEs
Jan 5, 2026
updated
📄 Paper: TabiBERT:A Large-Scale ModernBERT Foundation Model and A Unified Benchmark for Turkish
💻 Code: https://github.com/boun-tabi-LMG/TabiBERT
TabiBERT is a modernized encoder-only Transformer model (BERT-style) based on the ModernBERT-base architecture. TabiBERT is pre-trained on 1 trillion tokens of a diverse dataset including Turkish, English, Code, Math with a native context length of up to 8,192 tokens.
TabiBERT inherits ModernBERT’s architectural improvements, such as:
This makes TabiBERT particularly suitable for:
TabiBERT is built by TABILAB with the support of VNGRS.
You can use TabiBERT directly with the transformers library (v4.48.0+):
pip install -U transformers>=4.48.0
Since TabiBERT is a Masked Language Model (MLM), you can use the fill-mask pipeline or load it via AutoModelForMaskedLM.
⚠️ If your GPU supports it, we recommend using ModernBERT with Flash Attention 2 to reach the highest efficiency. To do so, install Flash Attention as follows, then use the model as normal:
pip install flash-attn
Example usage with AutoModelForMaskedLM:
from transformers import AutoTokenizer, AutoModelForMaskedLM
import torch
model_id = "boun-tabilab/TabiBERT"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForMaskedLM.from_pretrained(model_id)
device = "cuda" if torch.cuda.is_available() else "cpu"
model = model.to(device)
text = "[MASK] Sistemi'ndeki en büyük gezegen Jüpiter'dir."
inputs = tokenizer(text, return_tensors="pt").to(device)
outputs = model(**inputs)
masked_index = inputs["input_ids"][0].tolist().index(tokenizer.mask_token_id)
predicted_id = outputs.logits[0, masked_index].argmax(axis=-1)
print("Predicted token:", tokenizer.decode(predicted_id))
# Predicted token: Güneş
Example with pipeline:
from transformers import pipeline
pipe = pipeline("fill-mask", model="boun-tabilab/TabiBERT")
print(pipe("[MASK], Türkiye Cumhuriyeti'nin başkentidir.")[0]['sequence'])
# Ankara, Türkiye Cumhuriyeti'nin başkentidir.
TabiBERT has been pre-trained on 86 billion tokens of diverse data, primarily:
TabiBERT was comprehensively evaluated on TabiBench, a benchmark consisting of 28 datasets spanning 8 task categories. The model achieves state-of-the-art performance among Turkish models, with a total average score of 77.58, surpassing the previous best Turkish model by 1.62 points.
TabiBench is a comprehensive benchmark specifically designed for Turkish NLP, consisting of 28 datasets across 8 task types. The benchmark includes both existing Turkish NLP datasets and newly created/translated datasets for code retrieval and academic domain tasks.
Benchmark Collection: TabiBench on HuggingFace
Comparison of downstream task performance across all evaluated models.
For each column, the highest score among the models is shown in bold. The evaluation metric used for each task type is also displayed in the column headers.
| Model | # of params (M) | Text Clf (F1) | Token Clf (F1) | STS (Pearson) | NLI (F1) | QA (F1) | Academic (F1) | Retrieval (NDCG@10) | Code Retrieval (NDCG@10) | Total Avg (tabibench) |
|---|---|---|---|---|---|---|---|---|---|---|
| TurkishBERTweet | 163 | 79.71 | 92.02 | 75.86 | 79.10 | 38.13 | 63.12 | 68.40 | 43.49 | 67.48 |
| YTU-BERT | 111 | 84.25 | 93.60 | 84.68 | 84.16 | 31.50 | 71.78 | 74.29 | 53.80 | 72.26 |
| BERTurk | 110 | 83.42 | 93.67 | 85.33 | 84.33 | 60.16 | 71.40 | 74.84 | 54.54 | 75.96 |
| TabiBERT | 149 | 83.44 | 93.42 | 84.74 | 84.51 | 69.71 | 72.44 | 75.44 | 56.95 | 77.58 |
Systematic hyperparameter tuning was performed for all model-task pairs with the following search space:
| Parameter | Values |
|---|---|
| Learning Rate | 5e-6, 1e-5, 2e-5, 3e-5 |
| Weight Decay | 1e-5, 1e-6 |
| Batch Size | 16, 32 |
| Epochs | Up to 10, with early stopping |
For each task category, a single score is reported by computing a weighted average across all datasets, where each dataset's weight is proportional to its test set size. This ensures that larger, more representative datasets have corresponding influence on overall results (test set sizes range from 150 to 35,000 examples).
TabiBERT was compared against three established Turkish BERT models:
Result: TabiBERT outperforms all monolingual Turkish models with a total average score of 77.58, surpassing BERTurk (previous best) by 1.62 points.
All evaluation datasets are publicly available on HuggingFace, under the TabiBench collection to facilitate future research and comparisons.
TabiBERT model weights and training codebase are released under the Apache 2.0 license.
If you use TabiBERT in your project, please cite:
@misc{Türker2025Tabibert,
title={TabiBERT: A Large-Scale ModernBERT Foundation Model and Unified Benchmarking Framework for Turkish},
author={Melikşah Türker and Asude Ebrar Kızıloğlu and Onur Güngör and Susan Üsküdarlı},
year={2025},
eprint={2512.23065},
archivePrefix={arXiv},
primaryClass={cs.CL},
url={https://arxiv.org/abs/2512.23065},
}
20 commits
1 commits
28
stars
21
commits
3
repos using this model
2
linked in READMEs
Jan 5, 2026
updated
📄 Paper: TabiBERT:A Large-Scale ModernBERT Foundation Model and A Unified Benchmark for Turkish
💻 Code: https://github.com/boun-tabi-LMG/TabiBERT
TabiBERT is a modernized encoder-only Transformer model (BERT-style) based on the ModernBERT-base architecture. TabiBERT is pre-trained on 1 trillion tokens of a diverse dataset including Turkish, English, Code, Math with a native context length of up to 8,192 tokens.
TabiBERT inherits ModernBERT’s architectural improvements, such as:
This makes TabiBERT particularly suitable for:
TabiBERT is built by TABILAB with the support of VNGRS.
You can use TabiBERT directly with the transformers library (v4.48.0+):
pip install -U transformers>=4.48.0
Since TabiBERT is a Masked Language Model (MLM), you can use the fill-mask pipeline or load it via AutoModelForMaskedLM.
⚠️ If your GPU supports it, we recommend using ModernBERT with Flash Attention 2 to reach the highest efficiency. To do so, install Flash Attention as follows, then use the model as normal:
pip install flash-attn
Example usage with AutoModelForMaskedLM:
from transformers import AutoTokenizer, AutoModelForMaskedLM
import torch
model_id = "boun-tabilab/TabiBERT"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForMaskedLM.from_pretrained(model_id)
device = "cuda" if torch.cuda.is_available() else "cpu"
model = model.to(device)
text = "[MASK] Sistemi'ndeki en büyük gezegen Jüpiter'dir."
inputs = tokenizer(text, return_tensors="pt").to(device)
outputs = model(**inputs)
masked_index = inputs["input_ids"][0].tolist().index(tokenizer.mask_token_id)
predicted_id = outputs.logits[0, masked_index].argmax(axis=-1)
print("Predicted token:", tokenizer.decode(predicted_id))
# Predicted token: Güneş
Example with pipeline:
from transformers import pipeline
pipe = pipeline("fill-mask", model="boun-tabilab/TabiBERT")
print(pipe("[MASK], Türkiye Cumhuriyeti'nin başkentidir.")[0]['sequence'])
# Ankara, Türkiye Cumhuriyeti'nin başkentidir.
TabiBERT has been pre-trained on 86 billion tokens of diverse data, primarily:
TabiBERT was comprehensively evaluated on TabiBench, a benchmark consisting of 28 datasets spanning 8 task categories. The model achieves state-of-the-art performance among Turkish models, with a total average score of 77.58, surpassing the previous best Turkish model by 1.62 points.
TabiBench is a comprehensive benchmark specifically designed for Turkish NLP, consisting of 28 datasets across 8 task types. The benchmark includes both existing Turkish NLP datasets and newly created/translated datasets for code retrieval and academic domain tasks.
Benchmark Collection: TabiBench on HuggingFace
Comparison of downstream task performance across all evaluated models.
For each column, the highest score among the models is shown in bold. The evaluation metric used for each task type is also displayed in the column headers.
| Model | # of params (M) | Text Clf (F1) | Token Clf (F1) | STS (Pearson) | NLI (F1) | QA (F1) | Academic (F1) | Retrieval (NDCG@10) | Code Retrieval (NDCG@10) | Total Avg (tabibench) |
|---|---|---|---|---|---|---|---|---|---|---|
| TurkishBERTweet | 163 | 79.71 | 92.02 | 75.86 | 79.10 | 38.13 | 63.12 | 68.40 | 43.49 | 67.48 |
| YTU-BERT | 111 | 84.25 | 93.60 | 84.68 | 84.16 | 31.50 | 71.78 | 74.29 | 53.80 | 72.26 |
| BERTurk | 110 | 83.42 | 93.67 | 85.33 | 84.33 | 60.16 | 71.40 | 74.84 | 54.54 | 75.96 |
| TabiBERT | 149 | 83.44 | 93.42 | 84.74 | 84.51 | 69.71 | 72.44 | 75.44 | 56.95 | 77.58 |
Systematic hyperparameter tuning was performed for all model-task pairs with the following search space:
| Parameter | Values |
|---|---|
| Learning Rate | 5e-6, 1e-5, 2e-5, 3e-5 |
| Weight Decay | 1e-5, 1e-6 |
| Batch Size | 16, 32 |
| Epochs | Up to 10, with early stopping |
For each task category, a single score is reported by computing a weighted average across all datasets, where each dataset's weight is proportional to its test set size. This ensures that larger, more representative datasets have corresponding influence on overall results (test set sizes range from 150 to 35,000 examples).
TabiBERT was compared against three established Turkish BERT models:
Result: TabiBERT outperforms all monolingual Turkish models with a total average score of 77.58, surpassing BERTurk (previous best) by 1.62 points.
All evaluation datasets are publicly available on HuggingFace, under the TabiBench collection to facilitate future research and comparisons.
TabiBERT model weights and training codebase are released under the Apache 2.0 license.
If you use TabiBERT in your project, please cite:
@misc{Türker2025Tabibert,
title={TabiBERT: A Large-Scale ModernBERT Foundation Model and Unified Benchmarking Framework for Turkish},
author={Melikşah Türker and Asude Ebrar Kızıloğlu and Onur Güngör and Susan Üsküdarlı},
year={2025},
eprint={2512.23065},
archivePrefix={arXiv},
primaryClass={cs.CL},
url={https://arxiv.org/abs/2512.23065},
}
20 commits
1 commits