Congrats to
@clara__meister for getting the Parity-Aware BPE tokenizer merged into Hugging Face tokenizers!
Learn more about it here:
alphaxiv.org/abs/2508.04796
Use it like this:
from tokenizers.pre_tokenizers import ByteLevel
from tokenizers.trainers import ParityBpeTrainer
tokenizer = Tokenizer(BPE())
tokenizer.pre_tokenizer = ByteLevel()
# Plain text files: one iterator per language
def lines(path):
with open(path) as f:
yield from f
trainer = ParityBpeTrainer(num_merges=32000, variant="base")
trainer.train_from_iterator(
tokenizer,
train_iterators=[lines("en.txt"), lines("de.txt"), lines("zh.txt")],
dev_iterators=[lines("en_dev.txt"), lines("de_dev.txt"), lines("zh_dev.txt")],
)
tokenizer.save("parity_bpe_tokenizer.json")