ORBIT-FM Phase 0 — Technical Report

Manoeuvre detection from public orbital elements with a small pretrained transformer: prototype results

Neuravant AI Limited (company no. 16071477) · Dillman Hunte · 4 August 2026 · v1.0


Abstract

We test the core hypothesis behind ORBIT-FM — that a transformer trained on sequences of residuals against an SGP4 physics baseline learns what physics misses — at deliberately small scale. A 2.9M-parameter model trained on 1.1M time steps from 335 LEO objects, entirely on our own two-node NVIDIA DGX Spark cluster, beats the standard classical manoeuvre detector on strictly held-out months: F1 0.628 vs 0.568, with up to +9.2 percentage points of recall at matched precision, evaluated against 574 real manoeuvre events derived from CNES/IDS DORIS precise-orbit records across nine satellites. Of 98 held-out events, the model uniquely detects 11 that the classical threshold misses entirely (five on Sentinel-3A) while missing only 2 the baseline finds. The result is robust across two model configurations trained independently, one per cluster node. Phase 0’s success criterion — beat the classical baseline at matched precision on held-out months — is met.

1. Setup

Data. Space-Track GP (TLE/OMM) histories, 2021-01-01 to 2026-06-30, for 406 objects (curated manoeuvring satellites with public manoeuvre truth, plus LEO debris negatives); 335 objects survive residual construction, yielding 1,103,533 time steps. Each step is a 14-feature vector: RTN position/velocity residuals of the published state against SGP4 propagation from the previous state (dr_R, dr_T, dr_N, dv_R, dv_T, dv_N), time gap, element deltas (mean motion, eccentricity, inclination), B*, space-weather covariates (F10.7, Ap), and altitude. Features are robust-scaled (median/IQR).

Labels. 574 manoeuvre events for 9 DORIS-tracked satellites — CryoSat-2, SARAL, Jason-3, Sentinel-3A, Sentinel-3B, HY-2C, Sentinel-6A, HY-2D, SWOT — extracted from public CNES/IDS DORIS manoeuvre files. No labels are used in training; they exist only for evaluation.

Split. Time-based: training data ends 2025-07-01; all evaluation is on the subsequent twelve months. 98 labelled events fall in the held-out window.

Model. Decoder-style transformer: d_model 192, 6 layers, 8 heads, context 256 steps, stride 16, 2.9M parameters; next-step prediction of the six position/velocity residual targets; BF16, 20,000 steps, batch 64, cosine schedule. Training runs on one NVIDIA DGX Spark (GB10); the full recipe is a few GPU-hours.

Detector. At inference, each step is scored by the model’s position-residual prediction error, standardised per object (median/MAD z); events are merged within 12 h. Baseline: the standard classical detector — MAD z-score on time-normalised along-track position residuals — with identical merging and evaluation. Matching tolerance: ±24 h. Both detectors are swept over their thresholds; we report full operating curves, not a single point.

2. Results

2.1 Held-out detection performance (98 events, 9 satellites)

Detector Best F1 at operating point Precision Recall
ORBIT-FM prototype (ctx-256) 0.628 z = 18 0.656 0.602
Classical MAD baseline 0.568 z = 24 0.641 0.510
ORBIT-FM ctx-512 variant 0.609 z = 18 0.651 0.571

At every baseline operating point from z = 3 upward, the model achieves equal or better recall at matched precision; at the baseline’s own F1-optimal point the model delivers recall 0.602 vs 0.510 at higher precision — +9.2 percentage points. Full sweep tables: logs/sweep_eval_final.log, logs/c512_run.out.

2.2 Per-event comparison at F1-optimal operating points

Of the 98 held-out events: 48 caught by both detectors, 11 by the model only (Sentinel-3A ×5, HY-2C ×2, Sentinel-3B, Jason-3, CryoSat-2, HY-2D), 2 by the baseline only, 37 by neither. Figures 1–3 show three of the model-only detections; the full set is in reports/qualitative/. In each, the top panel is the raw along-track residual (km) around the labelled event (dashed red line); the bottom panel shows both detectors’ scores against their F1-optimal thresholds (dotted lines).

Figure 1 — Sentinel-3A, 2026-01-28: a 1.2 km along-track excursion at the labelled epoch. The model’s score reaches z = 71; the classical detector peaks near z = 12, half its threshold — a clean miss.
Figure 2 — Sentinel-3A, 2025-10-23: model z = 47 at the labelled event; the classical detector stays below threshold.
Figure 3 — HY-2C, 2025-09-09: model z = 56 at the labelled event; the classical detector does not flag it.

2.3 Precision is understated by construction

False positives are counted against DORIS-labelled events only. Manoeuvres by the 326 unlabelled objects, and any unlogged events on labelled ones, score as false positives for both detectors. Reported precision is therefore a floor.

3. Negative results and design findings

We report these deliberately; they shaped the recipe.

  1. Target clipping destroyed the signal. Our initial pipeline clipped normalised features at ±20 IQR units — including the regression targets. Manoeuvre spikes (0.48% of target values, up to 6,226 IQR units) were flattened to the same ceiling as ordinary outliers, training the model to predict the ceiling instead of the spike. Unclipping targets (inputs remain clipped) is the single most important recipe decision Phase 0 produced.
  2. Consecutive residuals are near-white. On an early 36-object corpus, persistence scored 0.911 relative error and a 21.7M-parameter model overfit within 400 steps. Value lies in population-scale breadth, not per-object memorisation — supporting the archive-scale pretraining thesis.
  3. Longer context did not help. A ctx-512 variant, trained independently on the second cluster node, also beats the baseline (F1 0.609) but does not exceed ctx-256: the manoeuvre signature is local. Capability will come from data breadth — more objects, longer history — not longer windows.
  4. Small beats large at this data scale. All results above are from a 2.9M-parameter model; larger models overfit. The scaling path is data first, parameters second.

4. Infrastructure

Everything — data pipeline, training, evaluation — ran on Neuravant’s own 2× NVIDIA DGX Spark cluster (GB10, 256 GB unified memory, 200 GbE ConnectX-linked), one experiment per node, no cloud dependency. The ctx-256 and ctx-512 variants were trained in parallel, one per node.

5. Reproducibility

Pipeline: fetch_tles.py → build_residuals.py → train.py → detect.py / baseline.py → sweep_eval.py / qualitative.py, configuration-driven (YAML), containerised (NGC PyTorch 25.10, aarch64). Evidence artefacts: training logs, threshold-sweep tables, per-event comparison, and detection-timeline figures are retained and available on request. A public, versioned benchmark release (labels, evaluation harness, baseline implementations) is the first milestone of the funded programme.

6. Data use and attribution

Orbital data courtesy of Space-Track.org / United States Space Command, used under the site’s user agreement; results here are publication of analysis with attribution. Manoeuvre ground truth derived from public CNES / International DORIS Service manoeuvre records. Space-weather indices from CelesTrak.


Contact: Dillman Hunte, Neuravant AI Limited — [email/phone]