Sheikh / train_math_model.py
megharudushi's picture
Upload folder using huggingface_hub
7d3d63c verified
#!/usr/bin/env python3
"""
Math Problem Solver Trainer
"""
from datasets import load_dataset
from transformers import AutoTokenizer, AutoModelForCausalLM, TrainingArguments, Trainer
def train_math_model():
print("🎓 Training Bengali Math Solver...")
# Load data
ds = load_dataset("hamim-87/Ashrafur_bangla_math", split="train[:10000]")
# Initialize model
tokenizer = AutoTokenizer.from_pretrained("microsoft/DialoGPT-medium")
model = AutoModelForCausalLM.from_pretrained("microsoft/DialoGPT-medium")
tokenizer.pad_token = tokenizer.eos_token
# Prepare data
def prepare_data(examples):
texts = []
for problem, solution in zip(examples['problem'], examples['solution']):
text = f"প্রশ্ন: {problem}\n\nউত্তর: {solution}\n\n"
texts.append(text)
return tokenizer(texts, truncation=True, padding=True, max_length=512)
tokenized_ds = ds.map(prepare_data, batched=True)
# Training
training_args = TrainingArguments(
output_dir="./bangla_math_model",
num_train_epochs=2,
per_device_train_batch_size=4,
)
trainer = Trainer(
model=model,
args=training_args,
train_dataset=tokenized_ds,
)
trainer.train()
trainer.save_model()
print("✅ Math model trained!")
if __name__ == "__main__":
train_math_model()