← Research

Open Release · 01

Run our released checkpoint on your device.

Open should mean the weights, the data, and a way to actually run them. This is the Institute's first released policy checkpoint — a small, on-device controller trained on our own openly published dataset. Below, the exact published weights close the loop live on the same simulated arm they learned on. No server. No GPU. No install.

Booting the on-device physics engine…
What “open” should mean

Weights, data, and a way to run them.

A released artifact is only as open as your ability to reproduce and run it. This checkpoint ships all three, together.

The weights

Released, not just described

The trained parameters ship under CC-BY-4.0 as safetensors — the artifact itself, downloadable and reusable, not a figure in a paper.

The data

The set it learned from

Trained on our own openly published dataset, generated fully in the browser with no hardware and no cloud. Anyone can regenerate it in about a minute.

A way to run it

On your device, right now

The same weights close the loop on the same simulated arm, live on this page — no server, no GPU, no install. Open you can actually execute.

The numbers

Small, and honestly measured.

Evaluated on two episodes held out entirely from training — an episode-level split, not a frame-level one — so the score reflects generalization, not memorization.

17,923parameters
72 KBon disk (safetensors)
99.9%held-out variance explained
2 episodesfully held out for evaluation

Held-out action MSE 5.68×10⁻⁷ against a predict-the-mean baseline of 4.20×10⁻⁴, with train and validation error essentially equal (no meaningful overfitting). The full metrics, training recipe, and citation are in the model card.

Run it three ways

The same weights, everywhere.

The browser path uses plain float32 arrays and is verified bit-for-bit equivalent to the safetensors forward pass.

In your browser

No server, plain arrays

const m = await (await fetch('policy.web.json')).json();
const silu = x => x/(1+Math.exp(-x));
// z-score in, MLP 7→128→128→3, z-score out
function act(obs){ /* 3 matmuls */ return dq; }
In Python

NumPy + safetensors

from safetensors.numpy import load_file
w = load_file('model.safetensors')
def act(obs):
    h = silu(w['0.weight'] @ ((obs-xm)/xs) + w['0.bias'])
    ... # 3 layers → denormalize
As the policy above

The loop you're watching

// the released weights ARE the controller driving
// the arm in the panel: obs(7) → policy → action(3),
// stepped through in-browser MuJoCo at ~60 Hz.
Honest limitations

What it is, and what it isn't.

We release small honest artifacts because that is how open science compounds. Here is exactly what this one covers.

One task, in simulation

It solves a single reach task on a simulated arm. It is an educational reference policy — not a foundation model and not safety-tested for any physical deployment.

A small demonstration set

Eleven episodes from a scripted expert. The near-perfect fit reflects a low-dimensional, clean task; the point is a released, reproducible, runnable artifact.

Sim-to-real needs care

Because it is simulation-generated, transferring to hardware needs the usual domain-gap work. The dataset and training are open so you can extend both.

Get it

Weights, dataset, and the maker.

Model

forge-arm-reach-bc

Weights, config, model card, and a runnable inference example.

↗ Hugging Face

Dataset

forge-arm-reach

The openly published trajectories it learned from — 11 episodes, generated on-device.

↗ Hugging Face

Make your own

Forge

Record a new dataset and train a policy in your browser — the same loop that produced this one.

↗ Open Forge