mT5-small ITN Ukrainian (CTranslate2 int8)
Inverse Text Normalization model for Ukrainian language, optimized for CPU inference with CTranslate2 int8 quantization.
Converts spoken-form text to written-form:
- Numbers:
сорок два→42 - Dates:
двадцять третього лютого дві тисячі двадцять четвертого року→23 лютого 2024 - Currency:
пʼятнадцять доларів і двадцять центів→$15.20 - Percentages:
сорок два відсотки→42% - Temperature:
мінус сімнадцять градусів→-17 градусів - Decimals:
три цілих чотирнадцять→3,14
Performance
- ~20-50ms per sentence on CPU (after warmup)
- int8 quantization, ~120MB
Usage
pip install ctranslate2 transformers
import ctranslate2
from transformers import AutoTokenizer
# Load model and tokenizer
translator = ctranslate2.Translator(
"snapshot_download('Mikhailo/mT5-small-ITN-uk-ct2')", # or local path after download
device="cpu",
compute_type="int8",
inter_threads=1,
intra_threads=4,
)
tok = AutoTokenizer.from_pretrained("Mikhailo/mT5-small-ITN-uk-ct2")
def itn(text: str) -> str:
tokens = tok.convert_ids_to_tokens(tok.encode(text))
result = translator.translate_batch(
[tokens],
beam_size=4,
max_decoding_length=140,
)
ids = tok.convert_tokens_to_ids(result[0].hypotheses[0])
return tok.decode(ids, skip_special_tokens=True)
# Examples
print(itn("сорок два відсотки населення"))
# → 42% населення
print(itn("двадцять третього лютого дві тисячі двадцять четвертого року"))
# → 23 лютого 2024
print(itn("пʼятнадцять доларів і двадцять центів"))
# → $15.20
Download and use locally
from huggingface_hub import snapshot_download
model_path = snapshot_download("Mikhailo/mT5-small-ITN-uk-ct2")
translator = ctranslate2.Translator(model_path, device="cpu", compute_type="int8")
tok = AutoTokenizer.from_pretrained(model_path)
Training
- Base model:
google/mt5-small - Dataset: ~889k Ukrainian news sentence pairs generated with LLM-assisted ITN annotation
- Training: 50000 steps, batch size 48, bf16
Related
- HF model:
Mikhailo/mT5-small-ITN-uk - Dataset:
Mikhailo/ubertext-itn-uk
- Downloads last month
- 28
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support