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
24
Inference Examples
This model does not have enough activity to be deployed to Inference API (serverless) yet. Increase its social visibility and check back later, or deploy to Inference Endpoints (dedicated) instead.