Usage
from transformers import AutoModelForCausalLM, AutoTokenizer
repo_id = 'physicsrob/torchwright-calculator-advanced-max-digits-6'
model = AutoModelForCausalLM.from_pretrained(repo_id).eval()
tok = AutoTokenizer.from_pretrained(repo_id)
enc = tok('12*34\n', return_tensors="pt")
out = model.generate(enc["input_ids"], max_new_tokens=32, do_sample=False,
eos_token_id=tok.eos_token_id, pad_token_id=tok.eos_token_id)
print(tok.decode(out[0, enc["input_ids"].shape[1]:], skip_special_tokens=True))
Prompts are A op B terminated by a newline: two non-negative decimal
operands of up to 6 digits, with op one of +, -, *.
Subtraction may produce a negative result. Wider operands, or any character
outside the model's small vocabulary, are outside the contract — the output
is undefined.
Table with columns: prompt, output| prompt | output |
|---|
12*34 | 408 |
7+8 | 15 |
999999*999999 | 999998000001 |
999999+1 | 1000000 |
999999-123456 | 876543 |
123456-999999 | -876543 |
Intended use and limitations
This model is a demonstration of a computation graph compiled into transformer
weights. It is not a general language model or a general-purpose calculator;
only the input contract above is supported.
Verification
The examples above are exact reference outputs. The Modal publishing path
reloads the emitted checkpoint through stock transformers, checks those
examples plus additional width-limit cases against Python integer arithmetic,
and refuses to upload on a mismatch. This is a functional smoke test, not
exhaustive verification of every allowed expression.
Size
The checkpoint stores 59.14 GB of dense fp32 weights (14,785,806,336 entries) at
the example family's shared compile width. 100.00% of those entries are
exactly zero: the vast majority of the model is unused canvas, so size reflects
the compile geometry rather than stored knowledge.
The zero entries are not compressed, and dense transformers execution still
pays their memory and compute cost. CPU execution is supported; allow
additional RAM beyond the checkpoint size.
Family
One example of many compiled with torchwright. Calculator siblings —
calculator-simple (serial arithmetic, depth grows with the digit count),
calculator-advanced (carry-lookahead, near-flat depth),
calculator-scratchpad (flat depth; the serial work streams out as visible
thinking tokens), and calculator-memorize (no arithmetic at all: a fact
table, exponential in the digit count) — are published at several digit
widths. Browse the
torchwright calculator models
on Hugging Face.