|
|
--- |
|
|
language: |
|
|
- en |
|
|
license: apache-2.0 |
|
|
library_name: transformers |
|
|
tags: |
|
|
- transformers |
|
|
- modernbert |
|
|
- fill-mask |
|
|
- masked-language-model |
|
|
pipeline_tag: fill-mask |
|
|
datasets: |
|
|
- mjbommar/ogbert-v1-mlm |
|
|
model-index: |
|
|
- name: ogbert-2m-base |
|
|
results: |
|
|
- task: |
|
|
type: word-similarity |
|
|
dataset: |
|
|
name: SimLex-999 |
|
|
type: simlex999 |
|
|
metrics: |
|
|
- type: spearman |
|
|
value: 0.162 |
|
|
--- |
|
|
|
|
|
# OGBert-2M-Base |
|
|
|
|
|
A tiny (2.1M parameter) ModernBERT-based masked language model for glossary and domain-specific text. |
|
|
|
|
|
**Related models:** |
|
|
- [mjbommar/ogbert-2m-sentence](https://huggingface.co/mjbommar/ogbert-2m-sentence) - Sentence embedding version with mean pooling + L2 normalization |
|
|
|
|
|
## Model Details |
|
|
|
|
|
| Property | Value | |
|
|
|----------|-------| |
|
|
| Architecture | ModernBERT | |
|
|
| Parameters | 2.1M | |
|
|
| Hidden size | 128 | |
|
|
| Layers | 4 | |
|
|
| Attention heads | 4 | |
|
|
| Vocab size | 8,192 | |
|
|
| Max sequence | 1,024 tokens | |
|
|
|
|
|
## Training |
|
|
|
|
|
- **Task**: Masked Language Modeling (MLM) |
|
|
- **Dataset**: [mjbommar/ogbert-v1-mlm](https://huggingface.co/datasets/mjbommar/ogbert-v1-mlm) - derived from [OpenGloss](https://arxiv.org/abs/2511.18622), a synthetic encyclopedic dictionary with 537K senses across 150K lexemes |
|
|
- **Masking**: Standard 15% token masking |
|
|
|
|
|
## Performance |
|
|
|
|
|
### Word Similarity (SimLex-999) |
|
|
|
|
|
**SimLex-999** measures Spearman correlation between model cosine similarities and human judgments on 999 word pairs. Higher = better alignment with human perception of word similarity. |
|
|
|
|
|
| Model | Params | SimLex-999 (ρ) | |
|
|
|-------|--------|----------------| |
|
|
| **OGBert-2M-Base** | **2.1M** | **0.162** | |
|
|
| BERT-base | 110M | 0.070 | |
|
|
| RoBERTa-base | 125M | -0.061 | |
|
|
|
|
|
OGBert-2M-Base achieves **2.3x better** word similarity than BERT-base with **52x fewer parameters**. |
|
|
|
|
|
## Usage |
|
|
|
|
|
### Fill-Mask Pipeline |
|
|
|
|
|
```python |
|
|
from transformers import pipeline |
|
|
|
|
|
fill_mask = pipeline('fill-mask', model='mjbommar/ogbert-2m-base') |
|
|
result = fill_mask('The financial <|mask|> was approved.') |
|
|
``` |
|
|
|
|
|
**Output:** |
|
|
| Rank | Token | Score | |
|
|
|------|-------|-------| |
|
|
| 1 | report | 0.031 | |
|
|
| 2 | transaction | 0.025 | |
|
|
| 3 | system | 0.021 | |
|
|
| 4 | audit | 0.019 | |
|
|
| 5 | account | 0.017 | |
|
|
|
|
|
### Direct Model Usage |
|
|
|
|
|
```python |
|
|
from transformers import AutoModelForMaskedLM, AutoTokenizer |
|
|
|
|
|
tokenizer = AutoTokenizer.from_pretrained('mjbommar/ogbert-2m-base') |
|
|
model = AutoModelForMaskedLM.from_pretrained('mjbommar/ogbert-2m-base') |
|
|
|
|
|
inputs = tokenizer('The <|mask|> definition is clear.', return_tensors='pt') |
|
|
outputs = model(**inputs) |
|
|
``` |
|
|
|
|
|
### For Sentence Embeddings |
|
|
|
|
|
Use [mjbommar/ogbert-2m-sentence](https://huggingface.co/mjbommar/ogbert-2m-sentence) instead, which includes mean pooling and L2 normalization for optimal similarity search. |
|
|
|
|
|
## Citation |
|
|
|
|
|
If you use this model, please cite the OpenGloss dataset: |
|
|
|
|
|
```bibtex |
|
|
@article{bommarito2025opengloss, |
|
|
title={OpenGloss: A Synthetic Encyclopedic Dictionary and Semantic Knowledge Graph}, |
|
|
author={Bommarito II, Michael J.}, |
|
|
journal={arXiv preprint arXiv:2511.18622}, |
|
|
year={2025} |
|
|
} |
|
|
``` |
|
|
|
|
|
## License |
|
|
|
|
|
Apache 2.0 |
|
|
|