transformers library from version v4.48.0 onwards.
(Optional: install flash-attn to achieve highest efficiency.)AutoModelForMaskedLM. For downstream tasks such as classification, retrieval, or QA, fine-tune the model by following standard BERT fine-tuning recipes.AutoModelForMaskedLM:1from transformers import AutoTokenizer, AutoModelForMaskedLM
2
3model_id = "LSX-UniWue/ModernGBERT_134M"
4tokenizer = AutoTokenizer.from_pretrained(model_id)
5model = AutoModelForMaskedLM.from_pretrained(model_id)
6
7text = "Die Hauptstadt von Frankreich ist [MASK]."
8inputs = tokenizer(text, return_tensors="pt")
9outputs = model(**inputs)
10
11# To get predictions for the mask:
12masked_index = inputs["input_ids"][0].tolist().index(tokenizer.mask_token_id)
13predicted_token_id = outputs.logits[0, masked_index].argmax(axis=-1)
14predicted_token = tokenizer.decode(predicted_token_id)
15print("Predicted token:", predicted_token)
16# Predicted token: Paris1from peft import LoraConfig, get_peft_model
2peft_config = LoraConfig(
3 task_type="TOKEN_CLS", r=8, lora_alpha=32,
4 target_modules=["Wqkv", "Wi", "Wo"],
5)
6model = get_peft_model(model, peft_config)1from transformers import AutoTokenizer, AutoModelForMaskedLM
2
3model_id = "LSX-UniWue/ModernGBERT_134M"
4revision = "base-100000-ckpt"
5tokenizer = AutoTokenizer.from_pretrained(model_id, revision=revision)
6model = AutoModelForMaskedLM.from_pretrained(model_id, revision=revision)
7| Model | SuperGLEBer Avg | MTEB Avg |
|---|---|---|
| ModernGBERT 1B | 0.808 | 0.551 |
| ModernGBERT 134M (you are here) | 0.749 | 0.501 |
| GBERT-base | 0.718 | 0.500 |
| GBERT-large | 0.768 | 0.521 |
| GeBERTa-base | 0.716 | 0.493 |
| GeBERTa-large | 0.749 | 0.494 |
| GeBERTa-xlarge | 0.767 | 0.521 |
| Gerturax-3 | 0.740 | 0.472 |
| XLM-RoBERTa-large | 0.730 | 0.460 |
| XLM-RoBERTa-xlarge | 0.758 | 0.479 |