Edit model card

To use MathT5 easily:

  1. Download MathT5.py.
  2. from MathT5 import load_model, inference
  3. tokenizer, model = load_model("jmeadows17/MathT5-large")
  4. inference(prompt, tokenizer, model)

MathT5.pretty_print(text, prompt=True) makes prompts and outputs (prompt=False) easier to read.

Overview

MathT5-large is a version of FLAN-T5-large fine-tuned for 25 epochs on 15K (LaTeX) synthetic mathematical derivations (containing 4 - 10 equations), that were generated using a symbolic solver (SymPy). It outperforms the few-shot performance of GPT-4 and ChatGPT on a derivation generation task in ROUGE, BLEU, BLEURT, and GLEU scores, and shows some generalisation capabilities. It was trained on 155 physics symbols, but struggles with out-of-vocabulary symbols. Paper available here: https://arxiv.org/abs/2307.09998.

Example prompt:

prompt = "Given \\cos{(q)} = \\theta{(q)}, then derive - \\sin{(q)} = \\frac{d}{d q} \\theta{(q)}, then obtain (- \\sin{(q)})^{q} (\\frac{d}{d q} \\cos{(q)})^{q} = (- \\sin{(q)})^{2 q}"

Output derivations are equations separated by "and".

Additional prompts can be found in "training_prompts.json" alongside the model files.

Use "jmeadows17/MathT5-base" for the lightweight version.

Downloads last month
19