| --- |
| license: apache-2.0 |
| datasets: |
| - TIGER-Lab/MATH-plus |
| language: |
| - en |
| tags: |
| - torchtune |
| - minerva-math |
| library_name: transformers |
| pipeline_tag: text-generation |
| --- |
| |
| # jrc/phi3-mini-math |
|
|
| <!-- Provide a quick summary of what the model is/does. --> |
|
|
| Math majors - who needs em? This model can answer any math questions you have. |
|
|
| ## How to Get Started with the Model |
|
|
| Use the code below to get started with the model. |
|
|
| ```python |
| # Load model directly |
| from transformers import AutoTokenizer, AutoModelForCausalLM |
| |
| tokenizer = AutoTokenizer.from_pretrained("jrc/phi3-mini-math", trust_remote_code=True) |
| model = AutoModelForCausalLM.from_pretrained("jrc/phi3-mini-math", trust_remote_code=True) |
| ``` |
|
|
| ## Training Details |
|
|
| Phi3 was trained using [torchtune](https://github.com/pytorch/torchtune) and the training script + config file are located in this repository. |
|
|
| ```bash |
| tune run lora_finetune_distributed.py --config mini_lora.yaml |
| ``` |
|
|
| You can see a full Weights & Biases run [here](https://api.wandb.ai/links/jcummings/hkey76vj). |
|
|
| ### Training Data |
|
|
| <!-- This should link to a Dataset Card, perhaps with a short stub of information on what the training data is all about as well as documentation related to data pre-processing or additional filtering. --> |
|
|
| This model was finetuned on the following datasets: |
|
|
| * [TIGER-Lab/MATH-plus](https://huggingface.co/datasets/TIGER-Lab/MATH-plus): An advanced math-specific dataset with 894k samples. |
|
|
| #### Hardware |
|
|
| * Machines: 4 x NVIDIA A100 GPUs |
| * Max VRAM used per GPU: 29 GB |
| * Real time: 10 hours |
|
|
| ## Evaluation |
|
|
| The finetuned model is evaluated on [minerva-math](https://research.google/blog/minerva-solving-quantitative-reasoning-problems-with-language-models/) using [EleutherAI Eval Harness](https://github.com/EleutherAI/lm-evaluation-harness) through torchtune. |
|
|
| ```bash |
| tune run eleuther_eval --config eleuther_evaluation \ |
| checkpoint.checkpoint_dir=./lora-phi3-math \ |
| tasks=["minerva_math"] \ |
| batch_size=32 |
| ``` |
|
|
| | Tasks |Version|Filter|n-shot| Metric |Value | |Stderr| |
| |------------------------------------|-------|------|-----:|-----------|-----:|---|-----:| |
| |minerva_math |N/A |none | 4|exact_match|0.1670|± |0.0051| |
| | - minerva_math_algebra | 1|none | 4|exact_match|0.2502|± |0.0126| |
| | - minerva_math_counting_and_prob | 1|none | 4|exact_match|0.1329|± |0.0156| |
| | - minerva_math_geometry | 1|none | 4|exact_match|0.1232|± |0.0150| |
| | - minerva_math_intermediate_algebra| 1|none | 4|exact_match|0.0576|± |0.0078| |
| | - minerva_math_num_theory | 1|none | 4|exact_match|0.1148|± |0.0137| |
| | - minerva_math_prealgebra | 1|none | 4|exact_match|0.3077|± |0.0156| |
| | - minerva_math_precalc | 1|none | 4|exact_match|0.0623|± |0.0104| |
| |
| This shows a large improvement over the base Phi3 Mini model. |
| |
| ## Model Card Contact |
| |
| Drop me a line at @official_j3rck |