MU-NLPC / calcformer-flan-xl

huggingface.co
Total runs: 21
24-hour runs: 0
7-day runs: 2
30-day runs: 10
Model's Last Updated: October 31 2023
text-generation

Introduction of calcformer-flan-xl

Model Details of calcformer-flan-xl

Model Card for calcformer-flan-xl

This model generates reasoning chains over mathematical questions while using an external tool: Sympy calculator .

Model Description

With the idea to offload the symbolic computation from the stochastic language model, we train this model to utilize a calculator for all applicable numeric operations . This is achieved by training the model to construct calls to the tool's API in this format:

<gadget id="calculator">100/2</gadget> <output>50</output>

where <gadget> segment triggers a call of the tool, which is subsequently served by extending model's decoder input context by adding the output of the tool within the <output> segment.

  • Developed by: Calcformer team
  • Model type: Autoregressive Encoder-Decoder
  • Language(s): en
  • Finetuned from: google/flan-t5-xl
Sources
Usage

Additionally to conventional generation, using Tool-augmented generation requires (1) implementation of the tool(s) and (2) a customization of generate() method augmenting input context on-demand with the outputs of the tools.

You can find these two components implemented in the attached gadgets/model.py and gadgets/gadget.py in this model's repo and the project's home repo .

After adding these two scripts to your directory, you can use the model as follows:

from transformers import T5ForConditionalGeneration, T5Tokenizer

from gadgets.model import gadget_assisted_model
from gadgets.gadget import Calculator

GadgetAssistedT5 = gadget_assisted_model(T5ForConditionalGeneration)
model_name = "MU-NLPC/calcformer-flan-xl"
model = GadgetAssistedT5.from_pretrained(model_name)
tokenizer = T5Tokenizer.from_pretrained(model_name)

model.prepare_for_generate(tokenizer, 
                           enabled_gadgets=[Calculator()], 
                           default_max_tokens=512)
query = """
    The profit from a business transaction is shared among 2 business partners, 
    Mike and Johnson in the ratio 2:5 respectively. 
    If Johnson got $2500, how much will Mike have 
    after spending some of his share on a shirt that costs $200?
"""

inputs = tokenizer(query, return_tensors="pt")
output_ids = model.generate(**inputs)
tokenizer.decode(output_ids[0], spaces_between_special_tokens=False)

This returns:

According to the ratio, for every 5 parts that Johnson gets, Mike gets 2 parts Since Johnson got $2500,
each part is therefore $2500/5 = $<gadget id="calculator">2500/5</gadget><output>500</output> 500
Mike will get 2*$500 = $<gadget id="calculator">2*500</gadget><output>1_000</output> 1000
After buying the shirt he will have $1000-$200 = $<gadget id="calculator">1000-200</gadget><output>800</output> 800 left.
Final result is<result>800</result></s>
Out-of-Scope Usage

Note that given the limited scope of the exercises' complexity in the training, this model will not work well for tasks requiring more complex algebraic operations, including equations, variables and operations outside the scope of (+-*/).

Training

This model was trained on Calc-X , a collection of math problem datasets which we converted into CoT with calculator interactions. We used a standard auto-regressive transformer training, i.e. a conditional next-token prediction with cross-entropy loss. For more detail about data, training or evaluation, see the Calc-X and Calcformers paper .

Cite

Please cite the Calcformers paper as follows:

@inproceedings{kadlcik-etal-2023-soft,
    title = "Calc-X and Calcformers: Empowering Arithmetical Chain-of-Thought through Interaction with Symbolic Systems",
    author = "Marek Kadlčík and Michal Štefánik and Ondřej Sotolář and Vlastimil Martinek",
    booktitle = "Proceedings of the The 2023 Conference on Empirical Methods in Natural Language Processing: Main track",
    month = dec,
    year = "2023",
    address = "Singapore, Singapore",
    publisher = "Association for Computational Linguistics",
    url = "https://arxiv.org/abs/2305.15017",
}

Runs of MU-NLPC calcformer-flan-xl on huggingface.co

21
Total runs
0
24-hour runs
0
3-day runs
2
7-day runs
10
30-day runs

More Information About calcformer-flan-xl huggingface.co Model

More calcformer-flan-xl license Visit here:

https://choosealicense.com/licenses/apache-2.0

calcformer-flan-xl huggingface.co

calcformer-flan-xl huggingface.co is an AI model on huggingface.co that provides calcformer-flan-xl's model effect (), which can be used instantly with this MU-NLPC calcformer-flan-xl model. huggingface.co supports a free trial of the calcformer-flan-xl model, and also provides paid use of the calcformer-flan-xl. Support call calcformer-flan-xl model through api, including Node.js, Python, http.

calcformer-flan-xl huggingface.co Url

https://huggingface.co/MU-NLPC/calcformer-flan-xl

MU-NLPC calcformer-flan-xl online free

calcformer-flan-xl huggingface.co is an online trial and call api platform, which integrates calcformer-flan-xl's modeling effects, including api services, and provides a free online trial of calcformer-flan-xl, you can try calcformer-flan-xl online for free by clicking the link below.

MU-NLPC calcformer-flan-xl online free url in huggingface.co:

https://huggingface.co/MU-NLPC/calcformer-flan-xl

calcformer-flan-xl install

calcformer-flan-xl is an open source model from GitHub that offers a free installation service, and any user can find calcformer-flan-xl on GitHub to install. At the same time, huggingface.co provides the effect of calcformer-flan-xl install, users can directly use calcformer-flan-xl installed effect in huggingface.co for debugging and trial. It also supports api for free installation.

calcformer-flan-xl install url in huggingface.co:

https://huggingface.co/MU-NLPC/calcformer-flan-xl

Url of calcformer-flan-xl

calcformer-flan-xl huggingface.co Url

Provider of calcformer-flan-xl huggingface.co

MU-NLPC
ORGANIZATIONS

Other API from MU-NLPC

huggingface.co

Total runs: 80
Run Growth: 4
Growth Rate: 5.00%
Updated:November 25 2024