Gregniuki's picture
Update README.md
83b8780 verified
metadata
library_name: transformers
language:
  - th
  - ipa
license: apache-2.0
base_model: google/byt5-small
tags:
  - generated_from_trainer
metrics:
  - bleu
model-index:
  - name: thai-g2p-byt5-finetuned-final
    results: []
datasets:
  - Gregniuki/g2p_thai_ipa

thai-g2p-byt5-finetuned-final

This model is a fine-tuned version of google/byt5-small on an unknown dataset. It achieves the following results on the evaluation set:

  • Loss: 0.0385
  • Bleu: 91.9589
  • Gen Len: 31.241

Model description

More information needed

Intended uses & limitations

More information needed

Training and evaluation data

More information needed

Training procedure

Training hyperparameters

The following hyperparameters were used during training:

  • learning_rate: 5e-05
  • train_batch_size: 16
  • eval_batch_size: 16
  • seed: 42
  • optimizer: Use OptimizerNames.ADAMW_TORCH with betas=(0.9,0.999) and epsilon=1e-08 and optimizer_args=No additional optimizer arguments
  • lr_scheduler_type: linear
  • lr_scheduler_warmup_steps: 500
  • num_epochs: 5.0

Training results

Framework versions

  • Transformers 4.52.0.dev0
  • Pytorch 2.6.0+cu118
  • Datasets 3.5.0
  • Tokenizers 0.21.1

How to use

from transformers import T5ForConditionalGeneration, ByT5Tokenizer

--- Make sure this path points to the LATEST training output ---

(The one corresponding to the metrics above)

model_path = r"C:\thai-g2p-v2\thai-g2p-byt5-finetuned" # Or whatever you named it

print(f"Loading model from: {model_path}") tokenizer = ByT5Tokenizer.from_pretrained(model_path) model = T5ForConditionalGeneration.from_pretrained(model_path)

model.to("cuda") # If using GPU

def thai_to_ipa(text):

... (rest of your function is fine) ...

input_ids = tokenizer(text, return_tensors="pt").input_ids # .to(model.device)

Increase max_length slightly just in case IPA is longer

outputs = model.generate(input_ids, max_length=192) ipa_output = tokenizer.decode(outputs[0], skip_special_tokens=True) return ipa_output

--- Test with examples NOT in your train/val data ---

test_word1 = "สวัสดี" test_word2 = "ภาษาไทย" test_word3 = "สำนักงานคณะกรรมการส่งเสริมและประสานงานเยาวชนแห่งชาติ" test_word4 = "สมเด็จพระเจ้าพี่นางเธอ เจ้าฟ้ากัลยาณิวัฒนา กรมหลวงนราธิวาสราชนครินทร์"

print(f"'{test_word1}' -> {thai_to_ipa(test_word1)}") print(f"'{test_word2}' -> {thai_to_ipa(test_word2)}") print(f"'{test_word3}' -> {thai_to_ipa(test_word3)}") print(f"'{test_word4}' -> {thai_to_ipa(test_word4)}")