Downloads · 30 days
56
9% of all-time downloads
physicsrob/torchwright-calculator-simple-max-digits-3
torchwright-calculator-simple-max-digits-3 is a text generation model from physicsrob. Use it when you need the model to write or continue text. It is set up for transformers. The card lists the license as apache-2.0.
A compiled transformer: the torchwright compiler emitted these weights directly from a computation graph — nothing was trained. This bundle is the calculatorsimple example built with maxdigits=3: a computation graph f…
Downloads · 30 days
56
9% of all-time downloads
All-time downloads
597
Public
Parameters
1B
20.5 GB on disk
Likes
0
Public
Click a slice to open those files.
.safetensors4.1 GB · 100%
From the Hugging Face model README
calculator_simple, max_digits=3 (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=3: 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.
from transformers import AutoModelForCausalLM, AutoTokenizer
repo_id = 'physicsrob/torchwright-calculator-simple-max-digits-3'
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 3 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 |
999*999 | 998001 |
999+1 | 1000 |
999-123 | 876 |
123-999 | -876 |
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.
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.
The checkpoint stores 4.08 GB of dense fp32 weights (1,019,641,856 entries) at compile width d=2048. 99.98% 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.
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.