File size: 1,426 Bytes
7d3d63c |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
#!/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()
|