metadata
library_name: transformers
license: apache-2.0
base_model: answerdotai/ModernBERT-base
tags:
- generated_from_trainer
datasets:
- conll2003
metrics:
- precision
- recall
- f1
- accuracy
model-index:
- name: modernbert-ner-conll2003
results:
- task:
name: Token Classification
type: token-classification
dataset:
name: conll2003
type: conll2003
config: conll2003
split: validation
args: conll2003
metrics:
- name: Precision
type: precision
value: 0.8349195930423368
- name: Recall
type: recall
value: 0.856277347694379
- name: F1
type: f1
value: 0.8454636091724825
- name: Accuracy
type: accuracy
value: 0.9751567306569059
language:
- en
pipeline_tag: token-classification
ModernBERT NER (CoNLL2003)
This model is a fine-tuned version of answerdotai/ModernBERT-base on the conll2003 dataset for Named Entity Recognition (NER).
Robust performance on tasks involving the recognition of Persons, Organizations, and Locations.
It achieves the following results on the evaluation set:
- Loss: 0.0992
- Precision: 0.8349
- Recall: 0.8563
- F1: 0.8455
- Accuracy: 0.9752
Model Details
- Base Model: ModernBERT: https://doi.org/10.48550/arXiv.2412.13663.
- Fine-tuning Dataset: CoNLL2003: https://huggingface.co/datasets/eriktks/conll2003.
- Task: Named Entity Recognition (NER)
Training Data
The model is fine-tuned on the CoNLL2003 dataset, a well-known benchmark for NER. This dataset provides a solid foundation for the model to generalize on general English text.
Example Usage
Below is an example of how to use the model with the Hugging Face Transformers library:
from transformers import pipeline
ner = pipeline(task="token-classification", model="IsmaelMousa/modernbert-ner-conll2003", aggregation_strategy="max")
results = ner("Hi, I'm Ismael Mousa from Palestine working for NVIDIA inc.")
for entity in results:
for key, value in entity.items():
if key == "entity_group":
print(f"{entity['word']} => {entity[key]}")
Results:
Ismael Mousa => PER
Palestine => LOC
NVIDIA => ORG
Training hyperparameters
The following hyperparameters were used during training:
- learning_rate: 1e-06
- train_batch_size: 8
- eval_batch_size: 8
- seed: 42
- optimizer: Use adamw_torch with betas=(0.9,0.999) and epsilon=1e-08 and optimizer_args=No additional optimizer arguments
- lr_scheduler_type: linear
- num_epochs: 10
Training results
| Training Loss | Epoch | Step | Validation Loss | Precision | Recall | F1 | Accuracy |
|---|---|---|---|---|---|---|---|
| 0.2306 | 1.0 | 1756 | 0.2243 | 0.6074 | 0.6483 | 0.6272 | 0.9406 |
| 0.1415 | 2.0 | 3512 | 0.1583 | 0.7258 | 0.7536 | 0.7394 | 0.9583 |
| 0.1143 | 3.0 | 5268 | 0.1335 | 0.7731 | 0.7989 | 0.7858 | 0.9657 |
| 0.0913 | 4.0 | 7024 | 0.1145 | 0.7958 | 0.8256 | 0.8104 | 0.9699 |
| 0.0848 | 5.0 | 8780 | 0.1079 | 0.8120 | 0.8408 | 0.8261 | 0.9720 |
| 0.0728 | 6.0 | 10536 | 0.1036 | 0.8214 | 0.8452 | 0.8331 | 0.9730 |
| 0.0623 | 7.0 | 12292 | 0.1032 | 0.8258 | 0.8487 | 0.8371 | 0.9737 |
| 0.0599 | 8.0 | 14048 | 0.0990 | 0.8289 | 0.8527 | 0.8406 | 0.9745 |
| 0.0558 | 9.0 | 15804 | 0.0998 | 0.8331 | 0.8541 | 0.8434 | 0.9750 |
| 0.0559 | 10.0 | 17560 | 0.0992 | 0.8349 | 0.8563 | 0.8455 | 0.9752 |
Framework versions
- Transformers 4.48.0.dev0
- Pytorch 2.2.1+cu121
- Datasets 3.2.0
- Tokenizers 0.21.0