Edit model card

Model-calculator. See demo here.

Works well with simple calculations, but fails with complex ones.

Usage

import torch
from transformers import AutoTokenizer, AutoModelForCausalLM

tokenizer = AutoTokenizer.from_pretrained("georgiyozhegov/calculator-6m")
model = AutoModelForCausalLM.from_pretrained("georgiyozhegov/calculator-6m")

prompt = "find 2 + 3\nstep"

inputs = tokenizer(prompt, return_tensors="pt", return_token_type_ids=False)

with torch.no_grad():
    outputs = model.generate(
        input_ids=inputs["input_ids"],
        attention_mask=inputs["attention_mask"],
        max_length=32,
        do_sample=True,
        top_k=50,
        top_p=0.98
    )

# Cut the rest
count = 0
for index, token in enumerate(outputs[0]):
    if token == 6: count += 1
    if count >= 2: break

output = tokenizer.decode(outputs[0][:index])
print(output)

Correct Examples

find 2 + 3
step 2 + 3 = 5
answer 5
find (2 + 3) / 2
step 2 + 3 = 5
step 5 / 2 = 2.5
answer 2.5
find 0.2 + 0.4
step 0.2 + 0.4 = 0.6
answer 0.6
find 1000 + 1500
step 1000 + 1500 = 2500
answer 2500
find 10 * 20
step 10 * 20 = 200
answer 200
find 10 * 0.25
step 10 * 0.25 = 2.5
answer 2.5

Almost Correct Examples

find 0.5 + 0.25
step 0.5 + 0.25 = 0.78
answer 0.78
find 100 / 12 + 1
step 100 / 12 = 8.5
step 8.5 + 1 = 9.5
answer 9.5
find 999 / 102
step 999 / 102 = 9.8391
answer 9.8391
Downloads last month
62
Safetensors
Model size
6.36M params
Tensor type
F32
·
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.

Dataset used to train georgiyozhegov/calculator-6m

Collection including georgiyozhegov/calculator-6m