To use MathT5 easily:
- Download
MathT5.py
. from MathT5 import load_model, inference
tokenizer, model = load_model("jmeadows17/MathT5-large")
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
- 23