KavithaSaaram (9b) Model Card
KavithaSaaram-9b-it is a fine-tuned large language model built for intralingual translation of classical Tamil poetry into modern, understandable Tamil. It bridges the linguistic gap between Sangam and classical Tamil literature and today's Tamil speakers, with a focus on poetic and cultural preservation.
Model Details
Model Description
KavithaSaaram-9b-it is a 9-billion parameter decoder-only language model fine-tuned for intralingual poetry translation. The model is part of the PaaPeyarchi project, a research initiative to simplify ancient Tamil literary texts using modern Tamil for educational, literary, and cultural applications. It leverages a curated dataset of classical Tamil poems paired with simplified, culturally faithful translations.
- Developed by: Diwahar A K (@akdiwahar)
- Shared by: Diwahar A K
- Model type: Decoder-only language model (LLM). Foundation Model is Gemma 2 9b instruct Model
- Language(s): Tamil
- Finetuned from model: google/gemma-2-9b-it
- License: gemma
- Finetuned from dataset: akdiwahar/PaaPeyarchi
Model Sources
- Repository: https://huggingface.co/akdiwahar/KavithaSaaram-9b-it
- Paper: Submission in progress to IconDeepCom 2025, track: Real-World Applications of AI
Results
KavithaSaaram-9b-it shows significant improvements over KavithaSaaram-2b across all major metrics.
The 9B model produces translations that are more fluent, faithful, and easier to understand while preserving poetic structure.
Metric | KavithaSaaram 2B | KavithaSaaram 9B | What is Good | Improvement |
---|---|---|---|---|
BLEU | 0.118 | 0.382 | Higher | 224% better |
METEOR | 0.299 | 0.619 | Higher | 107% better |
CHRF | 0.424 | 0.639 | Higher | 51% better |
GLEU | 0.184 | 0.486 | Higher | 164% better |
TER | 0.953 | 0.585 | Lower | 39% better |
WER | 0.877 | 0.480 | Lower | 45% better |
Citation
If you use this model in your research, please cite:
APA:
Diwahar A.K.(2025). KavithaSaaram-9b-it: A Large Language Model for Intralingual Tamil Poetry Translation [Computer software]. Hugging Face. https://huggingface.co/akdiwahar/KavithaSaaram-9b-it
BibTeX:
@misc{akdiwahar2025kavithasaaram9b,
title = {KavithaSaaram-9b-it: A Large Language Model for Intralingual Tamil Poetry Translation},
author = {Diwahar A.K.},
year = {2025},
publisher = {Hugging Face},
howpublished = {\url{https://huggingface.co/akdiwahar/KavithaSaaram-9b-it}},
note = {Fine-tuned LLM for simplifying classical Tamil poetry}
}
Uses
Direct Use
This model is intended for the intralingual translation of Tamil poetry, particularly:
- Translating Tamil poems into simplified modern Tamil.
- Preserving poetic structures while enhancing comprehension.
- Supporting students, educators, and researchers in Tamil literary studies.
Downstream Use
- Can be integrated into educational tools and apps.
- Suitable for research in linguistic preservation and low-resource language translation.
- Useful in digital humanities and AI-based cultural preservation projects.
Out-of-Scope Use
- Translation to or from non-Tamil languages.
- Use in legal, medical, or high-stakes decision-making contexts.
- Direct generation of modern creative content outside the poetic translation domain.
Bias, Risks, and Limitations
The model might:
- Over-simplify culturally dense or metaphorical phrases.
- Misinterpret archaic grammatical constructs.
- Occasionally introduce hallucinations or modern idioms not present in the original poem.
Recommendations
- Use alongside human expert verification for academic or publishing purposes.
- Consider cross-checking with multiple classical commentaries where applicable.
How to Get Started with the Model
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("akdiwahar/KavithaSaaram-9b-it")
model = AutoModelForCausalLM.from_pretrained("akdiwahar/KavithaSaaram-9b-it")
prompt = "Tamil Intralingual Translation: 'அன்பிற்கும் உண்டோ அடைக்குந்தாழ் ஆர்வலர் புன்கணீர் பூசல் தரும்'"
inputs = tokenizer(prompt, return_tensors="pt")
outputs = model.generate(**inputs, max_new_tokens=512,repetition_penalty=1.1,no_repeat_ngram_size=4,temperature=1, do_sample=False)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
- Downloads last month
- 88