calculator_simple, max_digits=9 (torchwright)

A compiled transformer: the torchwright compiler emitted these weights directly from a computation graph โ€” nothing was trained. This bundle is the calculator_simple example built with max_digits=9: a computation graph for integer arithmetic (A op B with op in + - *).

The bundle uses the stock Phi-3 architecture and loads through transformers without custom model code or trust_remote_code.

Run it in fp32 with greedy decoding (do_sample=False). Other precisions and decoding modes are outside the supported contract.

Usage

from transformers import AutoModelForCausalLM, AutoTokenizer

repo_id = 'physicsrob/torchwright-calculator-simple-max-digits-9'
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))

Input and output

Prompts are A op B terminated by a newline: two non-negative decimal operands of up to 9 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.

prompt output
12*34 408
7+8 15
999999999*999999999 999999998000000001
999999999+1 1000000000
999999999-123456789 876543210
123456789-999999999 -876543210

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 79.17 GB of dense fp32 weights (19,791,405,056 entries) at the example family's shared compile width. 99.99% 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.

Downloads last month
41
Safetensors
Model size
20B params
Tensor type
F32
ยท
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support