PHOENIX: Running a Fine-Tuned SLM on a CubeSat Because the Ground Can't Reach It for 85 Minutes — aniketkarneai.com | aniketkarneai.com
Sunday, August 23, 2026 Field notes on autonomous systems Amsterdam, NL
daily

PHOENIX: Running a Fine-Tuned SLM on a CubeSat Because the Ground Can't Reach It for 85 Minutes

A CubeSat in low Earth orbit is unreachable from the ground for roughly 85 minutes out of every 96-minute orbit, which means most faults are discovered after they've already become unrecoverable. PHOENIX puts a fine-tuned small language model on the spacecraft itself to close that gap — and the interesting part isn't the model, it's the fault-memory cache and the synthetic data pipeline they needed to train it at all.

The number that reframes the whole paper is 85 out of 96.

A CubeSat in low Earth orbit completes an orbit in about 96 minutes. For roughly 85 of those minutes it is physically out of contact with its ground station — not busy, not deprioritized, just below the horizon and unreachable. That leaves something like eleven minutes per orbit where a human operator can see the spacecraft at all, and the usable command window inside that is narrower still: PHOENIX budgets 5–10 minutes.

So when a fault starts at minute three of the blackout, nobody learns about it until minute 86. By then the question is often not “how do we fix this” but “is there anything left to fix.” A study of 178 CubeSat missions cited in the paper found that only 48–65% were still operational after two years, against designed lifetimes of 2–5 years. These are shoebox-sized satellites, cheap by space standards, and they die young at a rate that has stayed stubbornly high.

PHOENIX — Predictive Health On-orbit Edge Neural Intelligence eXtension, which is a backronym doing visible work — proposes the obvious-in-hindsight fix: stop trying to shorten the feedback loop to the ground and instead put the reasoning on the spacecraft. Sumaiya Islam and Harsha Kumara Moraliyage posted it to arXiv on August 7.

The deployment target is a real flight computer, not a GPU

The detail that separates this from the large pile of “LLMs for X” papers is that they name the hardware. The model runs on an Aethero NxN-ECM edge compute module — a flight-proven board, not a bench rig with an A100 bolted to it. That constraint is what forces the “S” in SLM. You are not running a 70B model on a CubeSat. You are running something small enough to fit in an embedded power and thermal budget on a satellite whose entire power system is sized for a device you could hold in one hand.

This is the same constraint that has been quietly making small models interesting everywhere else — the phone, the robot, the sensor — except here the failure mode of “just call the API” isn’t latency or cost, it’s that there is no network for 85 minutes and no amount of engineering will produce one.

I want to flag something about the framing, because “AI in space” invites eye-rolling and this paper mostly earns its premise. The claim isn’t that a language model is a better anomaly detector than the classical methods. Spacecraft telemetry anomaly detection has decades of work behind it and most of it is not learned at all — thresholds, limit checks, expert systems, state machines. The claim is narrower: that the reasoning and reporting layer, the part where you look at a set of simultaneous sensor deviations and decide what they collectively mean and what to say about it, benefits from a language model’s ability to compose an explanation. The satellite still has its conventional fault protection. PHOENIX sits on top.

The bandwidth argument is the strongest one

Once per orbit, PHOENIX sends a short structured health report instead of a raw telemetry dump.

If you’ve ever been on the receiving end of an observability pipeline that ships everything and reasons about none of it, this is a familiar trade. Downlink on a CubeSat is scarce, contact windows are short, and the traditional pattern is to spray raw channel data at the ground and let the operators — or their tooling — figure it out after the fact. Moving the interpretation on-board changes what crosses the link: not 76 channels of numbers, but a compressed statement about what’s wrong.

On the ground, six specialized agents read that report and generate validated commands inside the 5–10 minute window. The paper is structuring the human-in-the-loop side as a multi-agent system, which is where the design gets philosophically interesting: the satellite produces a summary, and the ground produces validated commands. Validation matters more than autonomy here. Nobody is proposing that the model uplinks its own commands. The spacecraft reasons, the ground approves and acts.

That split is the right one and it is worth noticing how conservative it is. This is a system architecture where the AI’s authority stops precisely at the point where a mistake becomes irreversible — which, on a satellite you cannot physically touch, is a very early point.

The memory system is the part I’d steal

Buried in the abstract is a line that reads like an implementation note but is actually the load-bearing idea: the onboard system resolves recurring faults “using a memory system that stores past repairs so the same inference does not need to run twice.”

That is a cache with fault signatures as keys and resolutions as values, and its purpose is power. Every inference costs watts on a spacecraft with a tight energy budget. If the same thermal deviation recurs on twelve consecutive orbits, running the model twelve times is twelve times the energy for one answer you already had. So the memory isn’t there to make the agent smarter across sessions in the way agent-memory papers usually mean — it’s there so the model runs less often.

Compare that to how memory gets motivated in terrestrial agent work, where it’s almost always framed as capability: the agent remembers, therefore the agent performs better. Here memory is framed as a resource constraint on inference count. Same mechanism, entirely different justification, and the space version is arguably the more honest one, because it comes with a metric that’s impossible to fudge. Watts are watts.

(This is also, incidentally, the argument for caching in any agent loop where you’re paying per token. The reason it feels different in production is that the cost signal is soft — you notice the bill at the end of the month, not when the battery browns out.)

The training data problem, and the diffusion model they threw at it

You cannot fine-tune a fault-reasoning model without fault examples, and spacecraft are — by design and by considerable expense — mostly not broken.

The paper puts a number on this: real fault examples make up 0.57–1.80% of the dataset. That’s the kind of class imbalance where naive training produces a model that achieves 99% accuracy by predicting “nominal” forever, which is exactly as useful as an unplugged monitor.

Their answer is a denoising diffusion probabilistic model generating synthetic training data. DDPMs for tabular time-series augmentation is not a new trick, but applying it to spacecraft anomaly telemetry raises a question the abstract doesn’t answer: what does the diffusion model know about failure modes it has never seen? Synthetic data can interpolate within the distribution of observed faults convincingly. It cannot invent the failure mode that kills your satellite because that mode wasn’t in the 118 labeled examples. Novel faults are precisely the ones where onboard reasoning would matter most, and they are structurally the hardest ones to synthesize training data for.

Evaluation is on the ESA Anomaly Detection Benchmark — 14 years of data, 76 channels, 118 labeled faults. Using a real ESA benchmark rather than a simulator is the right call, and the ADB is a genuinely well-constructed dataset. But 118 labeled faults across 14 years is a small evaluation set for a claim about a system whose value proposition is handling the unexpected.

What the abstract does not say

It says “preliminary results.” It does not report a headline accuracy number.

That’s an unusual amount of restraint for an arXiv abstract in 2026 and I’d rather see it than an inflated figure, but it does mean the honest summary of this paper is: the architecture is well-reasoned, the constraints are real and correctly identified, and the empirical case is not yet made. Every load-bearing quantitative claim in the abstract is about the problem — the 85/96 blackout, the 48–65% survival rate, the 0.57–1.80% fault density — and not about the solution’s performance.

There’s also a validation gap that no benchmark closes. The ESA ADB tells you how the model does on historical telemetry replayed on the ground. It does not tell you how a fine-tuned SLM behaves on an Aethero module at 400km after eight months of radiation exposure, thermal cycling, and whatever bit flips the environment has contributed to the weights in flash. ESA’s OPS-SAT mission existed specifically because that gap is unbridgeable from the ground — it was a CubeSat you were allowed to break, flown so experimenters could run software in the actual environment instead of arguing about it in simulation. PHOENIX is exactly the sort of payload that needs an OPS-SAT-shaped platform before anyone can say whether it works.

The open question I’d put to the authors: what does the onboard model do when it’s confidently wrong? The ground agents validate commands, so a bad recommendation gets caught. But the once-per-orbit structured report is itself a lossy summary produced by the model — if it misreads a fault and reports the wrong thing, the ground agents are validating commands against a compressed description that already dropped the evidence. The raw data dump they replaced was dumb, but it was not editorialized. That’s a trade the paper makes and doesn’t yet measure.

Aniket Karne
DevOps & AI Engineer · Amsterdam
Back to all posts
Reader correspondence

Comments

Powered by GitHub Discussions via Giscus. Sign in with GitHub to leave a comment.