Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

ARTI

AI x RT: composable latent tensor dynamics for PyTorch.

ARTI is a domain-independent neural-network library for transforming hidden tensors at runtime. It provides versioned components for activation, compact workspaces, Recall, Formula execution, reversible topology, persistent tensor operations, and model attachment.

tensor input -> ARTI layer or mechanism -> tensor output

ARTI does not prescribe a tokenizer, task head, dataset, model family, or training loop. Applications decide what a tensor means; ARTI supplies reusable ways to observe, route, transform, remember, and compose it.

Install

The PyPI distribution is arti-fit; the Python package is arti:

uv add "arti-fit==3.0.13a3"

ARTI requires Python 3.10 or newer and PyTorch 2.2 or newer. The consuming project chooses the appropriate CPU or CUDA build of PyTorch.

Optional integrations are installed only when needed:

uv add "arti-fit[jax]==3.0.13a3"
uv add "arti-fit[qwen]==3.0.13a3"
uv add "arti-fit[sd]==3.0.13a3"
uv add "arti-fit[web]==3.0.13a3"

The browser runtime remains a separate alpha package:

pnpm add @arti-fit/web@alpha

Alpha 3.0.13a3

This prerelease adds FormulaProgramQueryV4.execute_many(...): compatible inference candidates share a checked Formula execution plan, with optional chunking before input stacking. Training keeps each candidate's autograd graph independent while aggregating finite-value checks. Immutable program fingerprints are cached; live tensor and Bank validation is not. Neither path changes search width, Bank capacity, predecessor ownership, or commit semantics.

See the candidate execution guide and batching example. This low-level entry point does not implement a new searcher or automatically commit state.

The 3.0.13a2 correction makes NeuralPlasticity modify the actual Bank Value used by its ordinary Formula predecessor. The effect's data output remains the same tensor. It has no separate effect-owned memory or caller-selected write target.

FormulaProgramQueryV3 commits a selected stopped path for later invocations. FormulaProgramQueryV4 additionally lets the same Bank owner re-execute with its branch-local successor during one forward. Other branches stay isolated; only the selected execution can be committed to persistent Bank buffers.

Ordinary Formula candidates and six plasticity families can share the search space. A bounded, optionally trainable execution-count operand controls repeated transitions. The old alpha FormulaProgramQueryV2 state-arena API is removed; rebuild those programs with predecessor-owned Bank slots. These alpha changes do not expand or replace the stable compatibility surface.

See the Formula Fabric guide and runnable example. The example demonstrates writeback and reload, not downstream task-quality superiority.

The stable 3.0.12 base retains K-wide Recall traversal, the typed Formula atom basis, shape-polymorphic Federal Bank execution, and the default AdaptivePulse-backed ARTILayer described below.

arti.ARTILayer is now arti/layer@2: a tensor-in/tensor-out host for one composable AdaptivePulse graph. An empty graph is an exact identity, so a layer can be inserted before an application chooses its mechanisms.

import torch
import arti

x = torch.randn(2, 16, 64)
layer = arti.ARTILayer()
y = layer(x)

assert torch.equal(x, y)
assert arti.component_ref(layer) == "arti/layer@2"

Build a layer from ordinary ARTI modules:

pulse = arti.mechanisms.AdaptivePulse(
    half=arti.Half(stochastic=False, learnable=True),
)
layer = arti.ARTILayer(pulse)
y, info = layer(x, return_info=True)

The public namespaces have explicit roles:

  • arti and arti.torch: stable high-level PyTorch APIs.
  • arti.nn: practical standalone tensor layers and explicit layer profiles.
  • arti.mechanisms: stable, versioned composition/runtime mechanisms.
  • arti.legacy: the retired monolithic ARTILayer@1, LayerRecall, and StatefulRecall, retained for historical artifact inspection.
  • arti.experimental: integrations that are still experimental; currently the Python-first Web exporter.

arti.alpha remains a compatibility name for arti.mechanisms; new code should use the stable namespace.

Attach To A Model

Attach an AdaptivePulse-backed layer to selected tensor boundaries without changing the host model class:

import arti

pulse = arti.mechanisms.AdaptivePulse(
    half=arti.Half(stochastic=False, learnable=True),
)
layer = arti.ARTILayer(pulse)

model = arti.ARTI.attach(
    model,
    layer,
    layers="model.layers.*",
)

print(model.arti.summary())
model.arti.save("assistant.arti.st")

Reload into a fresh host or remove the attached layers:

restored = arti.ARTI.load(fresh_model, "assistant.arti.st", layer=layer)
restored = restored.arti.detach()

Attachment preserves the host model type and arbitrary tensor trees. Boundary values are packed for ARTI execution and restored to their original rank, layout, dtype, and position. See Unified Attachment.

Mechanism Map

Need API
Same-shape survival pressure arti.Half
Soft learned workspace compaction arti.nn.Fold
Trainable learned expansion arti.nn.UnFold
Reversible active/folded topology arti.mechanisms.Fold, arti.mechanisms.UnFold
Compact learned pulse workspace arti.Pulse
Composable bounded execution graph arti.mechanisms.AdaptivePulse
K-wide Recall with hard winner arti.nn.Recall
Iterative hidden-state refinement arti.RecallRefiner
Typed Formula programs arti.mechanisms.FormulaFabricV2
Bounded typed program selection (alpha) arti.mechanisms.FormulaProgramQuery
Execution-site network-state effects (alpha) arti.mechanisms.FormulaFabricV3 / V4 / V5
Predecessor-owned self-modification (alpha) arti.mechanisms.FormulaProgramQueryV3 / FormulaProgramQueryV4
Addressable forward Bank updates arti.mechanisms.TargetBankUpdater
Shape-autonomous Bank hierarchy arti.mechanisms.FederalRecall
Persistent auxiliary tensor editing arti.mechanisms.TensorOperationLoop

All mechanisms remain independently usable. Coordinates, masks, visibility, Observation, Recall, Formula, Fold, and tensor operations are not mandatory parts of one monolithic architecture.

Recall

New arti.nn.Recall modules use arti/recall@4. One query can preserve K candidate routes, refine them independently, and forward exactly one hard winner. Weighted merging is opt-in.

recall = arti.nn.Recall(dim=768, slots=64)  # portable default K=8
next_state = recall(x)

wide = arti.nn.Recall(dim=768, slots=64, breadth=16, group_topk=16)
next_state, branches = wide(x, return_branches=True)
next_state = wide(x, active_k=4)

Eight is the portable default; 8-32 is a useful starting range when Bank capacity and runtime budget allow. breadth=1 executes one candidate.

Runtime refine depth is explicit and may be adjusted without rewriting an artifact:

arti.set_recall_refine_steps(model, 10, min_steps=2, tolerance=0.003)
arti.set_recall_refine_schedule(
    model,
    {
        "model.layers.0": 2,
        "model.layers.1": 6,
        "model.layers.2": 12,
    },
)

Formula And Federal Banks

Formula Fabric executes bounded, typed tensor programs with declared operands, shapes, route sources, and output contracts. Built-in atoms include ordinary tensor transforms as well as Fabric-native Fold and UnFold operations.

The stable atom basis can compose Transformer-like subgraphs without hiding an opaque Attention, MLP, or Transformer primitive. FormulaProgramQuery@1 is an alpha controller for selecting a bounded, shape-valid SSA path from final task loss; it chooses one hard candidate per step rather than averaging outputs.

FormulaProgramQuery@3 extends that search to predecessor-owned Bank effects with commit-visible successors. FormulaProgramQuery@4 additionally permits the same producer to re-execute using its branch-local successor. Query sees ordinary SSA tensors, not a direct state input. Persistent commit_() installs only the selected stopped execution and detaches its state from the training graph.

Federal Banks can carry their own sealed Query, Formula program, local Refine policy, and terminal ABI. A Bank may change its tensor shape internally and re-query after every local step; it leaves the Bank only after producing a value accepted by the shared terminal contract. This separates federation depth from Bank-local computation depth.

See Formula Fabric and Federal Contracts.

Operable Tensors

The tensor-operation API supplies a default-backed, hot-swappable auxiliary tensor port. Reader Refine and tensor operations consume the same call-boundary snapshot in parallel. Operations can address ranges or sparse index maps of an arbitrary-rank logical tensor; proposals become visible after the caller advances the port for a later invocation.

See Operable Tensor Port.

Artifacts

arti.save() and arti.load() store model state in SafeTensors with separate architecture metadata and SHA-256 locks. Component identities and artifact schemas are versioned independently from the package version.

Recall Bank artifacts record the host, reader, Formula, optional Updater, Bank layout, dtype, shapes, provenance, and tensor hashes. Named compatible Banks can be composed without silently changing their source identity.

See Recall Artifacts and Component Provenance.

Documentation

Development

uv sync --locked --extra dev
uv run --extra dev pytest
uv build
uv run --extra dev python scripts/check_package.py

Public CI runs Python 3.10, 3.11, and 3.12, the optional JAX contract suite, the Python-owned Web artifact generator, and the TypeScript browser runtime.

Scope

Stable means the documented component identities, tensor contracts, artifact formats, and composition semantics are reviewed and release-gated. It does not claim universal downstream superiority, a production service SLA, full JAX parity, or WebGPU training.

ARTI is licensed under the MIT License. Citation metadata is in CITATION.cff.

中文简介

ARTI 是一个领域无关、PyTorch-first 的可组合张量动力学基础库。3.0.13a3 新增候选分组推理、独立训练计算图的汇总校验和不可变程序指纹缓存,并保留 在 3.0.12 稳定表面之上完成的 alpha 级 NeuralPlasticity 前序 Bank 写回纠正与 可搜索的自修改程序拓扑:网络从局部候选中学习自修改节点的数量、顺序、位置 和连接,而不是由调用者预先拼好完整链。应用负责张量的业务语义,ARTI 负责 张量的观察、路由、变换、记忆与组合。

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

arti_fit-3.0.13a3.tar.gz (1.1 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

arti_fit-3.0.13a3-py3-none-any.whl (747.4 kB view details)

Uploaded Python 3

File details

Details for the file arti_fit-3.0.13a3.tar.gz.

File metadata

  • Download URL: arti_fit-3.0.13a3.tar.gz
  • Upload date:
  • Size: 1.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for arti_fit-3.0.13a3.tar.gz
Algorithm Hash digest
SHA256 2828cd6e67f561372b5aab029dc22616bc9504baeeaceaa298b17685739cc312
MD5 8cb9d566e32c9b2ec10d863763ca7e4f
BLAKE2b-256 5fcb6842257239b4f0ee914522cff5dc1c95ade0639c6f2f41ce2cf320f4ed4b

See more details on using hashes here.

Provenance

The following attestation bundles were made for arti_fit-3.0.13a3.tar.gz:

Publisher: release.yml on ragnarok-io/ARTI

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file arti_fit-3.0.13a3-py3-none-any.whl.

File metadata

  • Download URL: arti_fit-3.0.13a3-py3-none-any.whl
  • Upload date:
  • Size: 747.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for arti_fit-3.0.13a3-py3-none-any.whl
Algorithm Hash digest
SHA256 919d980eff1e09d0bcb8cb44e53b5cb93f0e96c052a3c2a0e68bc1202016bfb1
MD5 6e82ce2ab5988601e49de5e4316bda66
BLAKE2b-256 b09f9b008bc94ce7839372ceb4441c86cc739132c8bd0eed3ebc981f17ad1638

See more details on using hashes here.

Provenance

The following attestation bundles were made for arti_fit-3.0.13a3-py3-none-any.whl:

Publisher: release.yml on ragnarok-io/ARTI

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

3.0.13a3 This release

2 files

3.0.12

2 files

3.0.11

2 files

3.0.6

2 files

3.0.5

2 files

3.0.4

2 files

3.0.3

2 files

3.0.0

2 files

2.0.1

2 files

2.0.0

2 files

1.9.0

2 files

1.8.0

2 files

1.7.0

2 files

1.6.0

2 files

1.5.0

2 files

1.4.0

2 files

1.3.0

2 files

1.2.0

2 files

1.1.0

2 files

1.0.2

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page