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