ByT5: Towards a token-free future with pre-trained byte-to-byte models
Paper • 2105.13626 • Published • 6
Transformer-based seq2seq normalizer for Middle High German (MHG) text, fine-tuned from google/byt5-base.
Unlike the mT5 variant (JonasHermann/normaere-model), this model uses ByT5's byte-level tokenizer (~1 token per character vs. ~0.35 tokens per character for SentencePiece models). For long inputs, use a stride window of ~1300 tokens with a step of ~1000 tokens to match the training-sample length distribution (training samples were up to 1200 characters ≈ 1350 tokens).
Normalizes Middle High German texts (ca. 1050–1500) according to the standards of the Referenzkorpus Mittelhochdeutsch (ReM):
Fine-tuned on the Referenzkorpus Mittelhochdeutsch (ReM), Version 2.1.
from transformers import AutoTokenizer, AutoModelForSeq2SeqLM
tokenizer = AutoTokenizer.from_pretrained("JonasHermann/normaere-ByT5")
model = AutoModelForSeq2SeqLM.from_pretrained("JonasHermann/normaere-ByT5")
input_text = "die stete wârheit"
inputs = tokenizer(input_text, return_tensors="pt")
outputs = model.generate(**inputs)
result = tokenizer.decode(outputs[0], skip_special_tokens=True)
Base model
google/byt5-base