AI x RT: dynamic latent tensor representation layers for PyTorch.
Project description
ARTI
AI x RT: composable latent tensor layers for PyTorch.
ARTI is a domain-independent neural-network library for transforming hidden tensors at runtime. Its layers work with ordinary tensors and can optionally use coordinates, masks, visibility, latent recall, and compact workspaces.
hidden tensor -> ARTI layer or block -> transformed latent tensor
ARTI does not define a tokenizer, task head, data schema, or business model. Applications remain responsible for encoding their context into tensors.
Version 1.2.0 is a Stable Candidate. The supported 1.x surface is frozen for final compatibility verification, but this release does not yet carry an LTS commitment. See Stability and Security.
Install
Add ARTI to a project with uv:
uv add arti-fit
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.
The PyPI distribution is named arti-fit; the Python import remains arti.
Optional integrations can be installed as needed:
uv sync --extra jax
uv sync --extra qwen
uv sync --extra peft
uv sync --extra sd
uv sync --extra web
The alpha browser runtime is published separately:
pnpm add @arti-fit/web@alpha
Use ARTI As A Layer
The smallest API behaves like a normal PyTorch layer:
import arti
import torch
layer = arti.nn.Layer(dim=32)
x = torch.randn(4, 16, 32)
mask = torch.ones(4, 16, dtype=torch.bool)
out = layer(x, mask=mask)
assert out.y.shape == (4, 16, 32)
assert out.pooled.shape == (4, 32)
print(out.diagnostics.keys())
For [B, D] inputs, ARTI treats each row as a single token and restores the
original rank on output.
Capabilities are opt-in. Enable only the structure carried by the data:
recall_layer = arti.nn.Layer(dim=32, profile="recall")
multisource = arti.nn.Layer(dim=32, profile="multisource", coord_dim=4)
Compose Recall, Half, And Fold
ARTI mechanisms are also available as standalone modules:
import arti
recall = arti.ARTILatentRecallField(hidden_dim=64, slots=8)
half = arti.nn.Half()
fold = arti.nn.Fold(k=16, dim=64)
The common Recall branch pattern is deliberately small:
delta = recall(h, mask, recall=None)[0]
h = h + half(delta)
workspace = fold(h, mask=mask)
Recall proposes latent traces, Half applies feature-strength survival, and
Fold compacts surviving information into a fixed-size workspace. Each module
can be used independently.
Attach To An Existing Model
ARTI can discover and attach Recall branches without changing the model class:
import arti
model = arti.ARTI.attach(
model,
recall={
"layers": "model.layers.*",
"rank": 16,
"slots": 8,
},
)
print(model.arti.summary())
model.arti.save("assistant.recall.arti.st")
Attachment configuration supports explicit layer paths, per-layer dimensions, independent Recall lines, Half switches, resource previews, and reversible removal. Transformers, PEFT, and Diffusers are optional integration boundaries; the core package remains PyTorch-first.
Save And Load Weights
ARTI uses SafeTensors with JSON integrity sidecars:
saved = arti.save(layer, "layer.arti.st")
loaded = arti.load("layer.arti.st", model=fresh_layer)
print(saved.weights_sha256)
print(loaded.missing_keys, loaded.unexpected_keys)
ARTI 1.x reads compatible format-version 1 artifacts produced by the pre-public
0.x line. Legacy .pt migration uses PyTorch's restricted tensor-only loader:
arti.migrate_pt("legacy-state.pt", "layer.arti.st")
Artifact hashes detect modification relative to their lock files; they are not publisher signatures. Obtain models and weights from trusted sources.
Public Modules
arti.nn:Layer,Half,Fold,Pulse,RecallRefiner, and visual workspace modules.arti: complete ARTI layers, residual blocks, reference models, attachment, serialization, and diagnostics.arti.torch: backend-explicit aliases for PyTorch applications.arti.jax: optional functional JAX backend with JIT and gradient support.arti.functional: mask, visibility, pooling, coordinate-frame, and activation helpers.
Experimental and legacy APIs are identified in their docstrings and are not frozen at the same level as the supported core surface.
WebGPU Alpha
arti.web.export(...) calls the real Python module and compiles its named
tensor inputs and outputs into a hashed artifact v2 ONNX graph. The separate
@arti-fit/web package is a generic executor: it contains no Half, Fold,
Pulse, Recall, q, or mask rules. It uses WebGPU and falls back to
WebAssembly when device: "auto" is selected. See
WebGPU Alpha.
Develop
git clone https://github.com/ragnarok-io/ARTI.git
cd ARTI
uv sync --extra dev
uv run --extra dev pytest
uv build
The test suite covers tensor shapes, masks, gradients, serialization, malformed artifacts, public API imports, and optional backend boundaries. Contribution guidance is in CONTRIBUTING.md.
Citation And Authorship
ARTI was initiated and designed by Thiocy. Citation metadata is provided in CITATION.cff. The project also documents authorship and AI assistance.
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file arti_fit-1.2.0.tar.gz.
File metadata
- Download URL: arti_fit-1.2.0.tar.gz
- Upload date:
- Size: 355.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c0a27660fd92ae8bff32cbbb98ed8f6d477982b03739c0208aee4eacb2be2db6
|
|
| MD5 |
960fcaf79ec825ca4d0b0243f512f6cd
|
|
| BLAKE2b-256 |
5ead6f2eac72dd4b6382ab2f4c95b0795e615f128466782b618c68c8a12e147c
|
Provenance
The following attestation bundles were made for arti_fit-1.2.0.tar.gz:
Publisher:
release.yml on ragnarok-io/ARTI
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
arti_fit-1.2.0.tar.gz -
Subject digest:
c0a27660fd92ae8bff32cbbb98ed8f6d477982b03739c0208aee4eacb2be2db6 - Sigstore transparency entry: 2148236535
- Sigstore integration time:
-
Permalink:
ragnarok-io/ARTI@642a15fb52c8a6aa9f738af624d7661595c0e4c3 -
Branch / Tag:
refs/tags/v1.2.0 - Owner: https://github.com/ragnarok-io
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@642a15fb52c8a6aa9f738af624d7661595c0e4c3 -
Trigger Event:
push
-
Statement type:
File details
Details for the file arti_fit-1.2.0-py3-none-any.whl.
File metadata
- Download URL: arti_fit-1.2.0-py3-none-any.whl
- Upload date:
- Size: 204.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d1f2d2f034c65bf7c3d4679d25c7464c169b88e0d473b3d5a0b7b3b4f43809dc
|
|
| MD5 |
60bc9ea9d4a7141f00c9d9938921c0fb
|
|
| BLAKE2b-256 |
35b75a899a7ccb9d52232c3502a2952ab84e33f75780ca7db49d32499dce74b5
|
Provenance
The following attestation bundles were made for arti_fit-1.2.0-py3-none-any.whl:
Publisher:
release.yml on ragnarok-io/ARTI
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
arti_fit-1.2.0-py3-none-any.whl -
Subject digest:
d1f2d2f034c65bf7c3d4679d25c7464c169b88e0d473b3d5a0b7b3b4f43809dc - Sigstore transparency entry: 2148236553
- Sigstore integration time:
-
Permalink:
ragnarok-io/ARTI@642a15fb52c8a6aa9f738af624d7661595c0e4c3 -
Branch / Tag:
refs/tags/v1.2.0 - Owner: https://github.com/ragnarok-io
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@642a15fb52c8a6aa9f738af624d7661595c0e4c3 -
Trigger Event:
push
-
Statement type: