ARTI

ARTI A place for your computation

Your ideas.In the model.

Give a model a computation of your own. Compose its operations, choose what learns, and work with its state in a program you can read and run.

Start on CPU. Add one operation. Keep its declaration.

A neural runtime for PythonPyTorch / JAX3.3.0

A computation, in inkARTI / FormulaScan
xₜsequence input
hₜ₋₁incoming carry
Learnable valuesgain · retention
σgate
tanhcandidate value
hₜnext carry
Σ haccumulated carry
Shared declaration

15 typed instructions. One bounded recurrence, shared by PyTorch and native JAX.

Grouped view of a public FormulaScan; recorded execution, not browser inference.

Make it your own

One intention. A different response.

Suppose you want projected negative features to become gentler before the next projection. Keep the inputs and values, add SiLU to the Formula, and make that behavior part of the declaration.

LoRA is one Formula program. The scalar illustration explains the added operation; whether it helps a task requires a separate experiment.

How should the features continue?Recorded program shapes

This time, let the projected features pass through SiLU before the next projection.

SiLUxAB+basey
Your extra operation: SiLU

base + B(SiLU(Ax))

5 instructions65,536 unchanged values

A scalar view of this operation: −2 becomes about −0.238. The response changes before B.

Try the LoRA → SiLU exercise

Grouped declarations on fixed neural-layer inputs, gain = 1, with no training updates. This is a computation edit, not improved reading quality.

Your first piece of work

Keep the change. Read it again.

The first exercise starts with LoRA, adds SiLU, then saves and reloads the changed declaration. You leave with a readable program and a record of what changed.

  1. 01Take one small script
  2. 02Run it on your computer
  3. 03Keep the declaration and record
Begin the complete exercise

Python · CPU dependencies. No base model or training. The exercise reloads with the same caller-supplied bindings.

program.jsonSaved declaration · excerpt

The operation you added

SiLU{"mode":"silu"}
The same output position · y[0,0,0]
0.2635770.212425

Fixed inputs · before / after adding SiLU · recorded values shown to six decimals

Computation
4 → 5instructions
Bound values
65,536unchanged
The state you pass inh₀[0, 0, 0]
5 recurrent steps
The state returned to youh₅[0.170, 0.301, -0.119]
0102030405
h[0]h[1]h[2]
Points are recorded values. Stroke families depict the same connections, not extra samples or uncertainty. Values above use display precision. Full record ↗

A state that comes back to you

Your start. Your next state.

In the public recurrence, you pass in an initial state. Five steps later, the program returns a new one while leaving your original unchanged. You decide how the next computation continues.

Follow the state

These are five recorded state transitions, not training updates or a reading-quality result. PyTorch and bounded native JAX execute the shared declaration.

A saved result you can take with you

Now bring your own material.

Take the saved English or Chinese reading program. Begin with its small example, then try a short policy, note or passage of your own on your computer. This is an entry point, not a claim of model superiority.

No training or GPU. First base-model download ≈ 1.2 GB. This small model can misread a passage; check its answer against the source.

Reading exampleQwen3-0.6B + ARTI
Your passage
Orders placed before 2 pm ship the same day. Standard shipping takes 3 business days. Returns are accepted within 30 days of delivery.
Your question

How many days after delivery can an item be returned?

Generated answer30

Actual output from the program included in the starter. Check answers to your own material against its source.

04 Keep the work

An experiment ends. The work can continue.

A declaration you can inspect. An asset you can reload. A supported training state you can return to.

01

Reload what you saved.

The saved reading profiles reproduced 512 heldout answers after independent cold reload. The starter carries their inference programs and tokenizers; the base remains separate.

What the asset keeps ↗
02

Continue a supported run.

In each language, the three-update save/reload continuation matched parameters and data cursor. Inference assets and continuation checkpoints serve separate purposes.

Understand recovery ↗
03

Compare the same computation.

Standard LoRA can be a Formula. The paired check keeps the formula, trained weights, mounting and precision aligned; broader program choices need their own experiments.

Inspect the paired check ↗

Where would you like to begin?

A small first step. Room for your next idea.

Open implementation. Your next step.

Python / ARTI
python -m pip install "arti-fit==3.3.0"

Read the source on GitHub ↗Backend and alpha support scope ↗