|
|
--- |
|
|
language: en |
|
|
license: apache-2.0 |
|
|
library_name: transformers |
|
|
base_model: google/gemma-2b |
|
|
tags: |
|
|
- mathematics |
|
|
- jee |
|
|
- chain-of-thought |
|
|
- reasoning |
|
|
- gemma |
|
|
- fine-tuned |
|
|
- educational |
|
|
metrics: |
|
|
- loss |
|
|
pipeline_tag: text-generation |
|
|
widget: |
|
|
- text: "Question: Find the derivative of f(x) = x³ + 2x² - 5x + 3\n\nLet me solve this step by step:\n\n" |
|
|
example_title: "Calculus Problem" |
|
|
- text: "Question: Solve the quadratic equation 2x² + 5x - 3 = 0\n\nLet me solve this step by step:\n\n" |
|
|
example_title: "Algebra Problem" |
|
|
- text: "Question: Find the area of a triangle with sides 3, 4, and 5\n\nLet me solve this step by step:\n\n" |
|
|
example_title: "Geometry Problem" |
|
|
--- |
|
|
|
|
|
# mathAI-Gemma |
|
|
|
|
|
## Model Description |
|
|
|
|
|
**mathAI-Gemma** is a specialized mathematical reasoning model based on Gemma 2B, fine-tuned specifically for solving JEE (Joint Entrance Examination) level mathematics problems. This model has been trained using Chain-of-Thought reasoning to provide detailed, step-by-step solutions to complex mathematical problems. |
|
|
|
|
|
## Key Features |
|
|
|
|
|
- 🧮 **Mathematical Reasoning**: Specialized for JEE-level mathematics |
|
|
- 🔗 **Chain-of-Thought**: Provides step-by-step problem solving |
|
|
- 📚 **Educational Focus**: Designed for learning and teaching |
|
|
- 🎯 **High Accuracy**: Trained on curated JEE problem datasets |
|
|
- 💡 **Formula Integration**: Shows relevant formulas and calculations |
|
|
|
|
|
## Training Details |
|
|
|
|
|
- **Base Model**: google/gemma-2b |
|
|
- **Training Method**: Full fine-tuning with custom data collator |
|
|
- **Training Dataset**: JEE Mathematics Problems with Chain-of-Thought reasoning |
|
|
- **Problem Areas**: Algebra, Calculus, Geometry, Trigonometry, Physics Mathematics |
|
|
- **Training Framework**: Hugging Face Transformers |
|
|
- **Hardware**: NVIDIA A100 GPU |
|
|
|
|
|
## Usage |
|
|
|
|
|
### Quick Start |
|
|
|
|
|
```python |
|
|
from transformers import AutoModelForCausalLM, AutoTokenizer |
|
|
import torch |
|
|
|
|
|
# Load model and tokenizer |
|
|
model = AutoModelForCausalLM.from_pretrained( |
|
|
"kalkiai3000/mathAI-Gemma", |
|
|
torch_dtype=torch.bfloat16, |
|
|
device_map="auto" |
|
|
) |
|
|
tokenizer = AutoTokenizer.from_pretrained("kalkiai3000/mathAI-Gemma") |
|
|
|
|
|
# Solve a math problem |
|
|
question = "Find the derivative of f(x) = x³ + 2x² - 5x + 3" |
|
|
prompt = f'''Question: {question} |
|
|
|
|
|
Let me solve this step by step: |
|
|
|
|
|
''' |
|
|
|
|
|
inputs = tokenizer(prompt, return_tensors="pt") |
|
|
with torch.no_grad(): |
|
|
outputs = model.generate( |
|
|
**inputs, |
|
|
max_new_tokens=256, |
|
|
temperature=0.7, |
|
|
do_sample=True, |
|
|
pad_token_id=tokenizer.eos_token_id |
|
|
) |
|
|
|
|
|
response = tokenizer.decode(outputs[0], skip_special_tokens=True) |
|
|
print(response) |
|
|
``` |
|
|
|
|
|
### Advanced Usage |
|
|
|
|
|
```python |
|
|
# For better results, use structured prompting |
|
|
def solve_math_problem(question: str, model, tokenizer): |
|
|
prompt = f'''Question: {question} |
|
|
|
|
|
Let me solve this step by step: |
|
|
|
|
|
Step 1: ''' |
|
|
|
|
|
inputs = tokenizer(prompt, return_tensors="pt") |
|
|
outputs = model.generate( |
|
|
**inputs, |
|
|
max_new_tokens=512, |
|
|
temperature=0.3, # Lower temperature for more focused responses |
|
|
do_sample=True, |
|
|
top_p=0.9, |
|
|
repetition_penalty=1.1, |
|
|
pad_token_id=tokenizer.eos_token_id |
|
|
) |
|
|
|
|
|
return tokenizer.decode(outputs[0], skip_special_tokens=True) |
|
|
``` |
|
|
|
|
|
## Model Performance |
|
|
|
|
|
The model excels at: |
|
|
|
|
|
- **Calculus**: Derivatives, integrals, limits, optimization |
|
|
- **Algebra**: Quadratic equations, polynomials, systems of equations |
|
|
- **Geometry**: Area, volume, coordinate geometry, trigonometry |
|
|
- **Physics Mathematics**: Mechanics, waves, thermodynamics calculations |
|
|
- **Step-by-step reasoning**: Clear explanation of solution methodology |
|
|
|
|
|
## Example Outputs |
|
|
|
|
|
### Calculus Problem |
|
|
``` |
|
|
Question: Find the derivative of f(x) = x³ + 2x² - 5x + 3 |
|
|
|
|
|
Let me solve this step by step: |
|
|
|
|
|
Step 1: Apply the power rule to each term |
|
|
Step 2: d/dx(x³) = 3x² |
|
|
Step 3: d/dx(2x²) = 4x |
|
|
Step 4: d/dx(-5x) = -5 |
|
|
Step 5: d/dx(3) = 0 |
|
|
|
|
|
Therefore, f'(x) = 3x² + 4x - 5 |
|
|
``` |
|
|
|
|
|
## Limitations |
|
|
|
|
|
- **Domain Specific**: Optimized for mathematics, may not perform well on general tasks |
|
|
- **Language**: Primarily trained on English mathematical problems |
|
|
- **Complexity**: Best suited for JEE-level problems (may struggle with research-level mathematics) |
|
|
- **Format Dependency**: Works best with structured prompting format |
|
|
|
|
|
## Responsible AI Usage |
|
|
|
|
|
- Designed as an educational tool to assist learning |
|
|
- Should be used alongside human verification for critical applications |
|
|
- Not intended to replace mathematical education or understanding |
|
|
- Users should verify results for important calculations |
|
|
|
|
|
## Citation |
|
|
|
|
|
If you use this model in your research or applications, please cite: |
|
|
|
|
|
```bibtex |
|
|
@misc{mathAI-Gemma, |
|
|
title={MathAI-Gemma: A Specialized Mathematical Reasoning Model for JEE Problems}, |
|
|
author={kalkiai3000}, |
|
|
year={2024}, |
|
|
publisher={Hugging Face}, |
|
|
howpublished={\url{https://huggingface.co/kalkiai3000/mathAI-Gemma}} |
|
|
} |
|
|
``` |
|
|
|
|
|
## License |
|
|
|
|
|
This model is released under the Apache 2.0 License, following the base Gemma model licensing. |
|
|
|
|
|
## Acknowledgments |
|
|
|
|
|
- Google for the base Gemma 2B model |
|
|
- Hugging Face for the transformers library and hosting |
|
|
- JEE problem dataset contributors |
|
|
- Mathematical education community |
|
|
|
|
|
--- |
|
|
|
|
|
*Built with ❤️ for mathematical education and learning* |
|
|
|