Token Classification
SpanMarker
PyTorch
Safetensors
German
ner
named-entity-recognition
Eval Results (legacy)
Instructions to use gwlms/span-marker-teams-germeval14 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- SpanMarker
How to use gwlms/span-marker-teams-germeval14 with SpanMarker:
from span_marker import SpanMarkerModel model = SpanMarkerModel.from_pretrained("gwlms/span-marker-teams-germeval14") - Notebooks
- Google Colab
- Kaggle
| from datasets import load_dataset | |
| from transformers import TrainingArguments | |
| from span_marker import SpanMarkerModel, Trainer | |
| def perform_training(learning_rate: float, seed: int) -> None: | |
| # Load the dataset, ensure "tokens" and "ner_tags" columns, and get a list of labels | |
| dataset = load_dataset("gwlms/germeval2014") | |
| labels = dataset["train"].features["ner_tags"].feature.names | |
| # Initialize a SpanMarker model using a pretrained BERT-style encoder | |
| model_name = "gwlms/span-marker-teams-germeval14" | |
| model = SpanMarkerModel.from_pretrained( | |
| model_name, | |
| labels=labels, | |
| # SpanMarker hyperparameters: | |
| model_max_length=256, | |
| marker_max_length=128, | |
| entity_max_length=8, | |
| ) | |
| # Prepare the 🤗 transformers training arguments | |
| args = TrainingArguments( | |
| output_dir=f"./span_marker-{model_name}-bs16-lr{learning_rate}-{seed}", | |
| # Training Hyperparameters: | |
| learning_rate=learning_rate, | |
| per_device_train_batch_size=16, | |
| per_device_eval_batch_size=16, | |
| num_train_epochs=3, | |
| weight_decay=0.01, | |
| warmup_ratio=0.1, | |
| fp16=True, # Replace `bf16` with `fp16` if your hardware can't use bf16. | |
| # Other Training parameters | |
| logging_first_step=True, | |
| logging_steps=50, | |
| evaluation_strategy="epoch", | |
| save_strategy="epoch", | |
| save_total_limit=11, | |
| dataloader_num_workers=2, | |
| seed=seed, | |
| load_best_model_at_end=True, | |
| ) | |
| # Initialize the trainer using our model, training args & dataset, and train | |
| trainer = Trainer( | |
| model=model, | |
| args=args, | |
| train_dataset=dataset["train"], | |
| eval_dataset=dataset["validation"], | |
| ) | |
| trainer.train() | |
| trainer.save_model(f"./span_marker-{model_name}-bs16-lr{learning_rate}-{seed}/best-checkpoint") | |
| # Compute & save the metrics on the test set | |
| metrics = trainer.evaluate(dataset["test"], metric_key_prefix="test") | |
| trainer.save_metrics("test", metrics) | |
| if __name__ == "__main__": | |
| for learning_rate in [5e-05]: | |
| for seed in [1,2,3,4,5]: | |
| perform_training(learning_rate, seed) |