AI Copilots Jet Engine Engineering: A Guide for Practitioners
I spent a week in Munich last September inside a test cell at MTU Aero Engines. The noise hits you before your ears adjust. A GE9X spooling up for validation. The engineer next to me, Thomas, had a screen showing 14 live telemetry streams. He was making decisions about blade tip clearance based on a 1D thermal model from 1998. I asked him: "What if you had an AI copilot that could simulate 50 what-if scenarios before you touch the throttle?" He didn't laugh. He said: "Show me."
I'm Nishaant Dixit, founder of SIVARO. My team builds data infrastructure and production AI systems for companies that can't afford downtime. Over the last three years, we've worked with two aerospace primes and one engine OEM on what everyone now calls "AI copilots for jet engine engineering." It's not sci-fi. It's a direct application of Mixture of Experts architectures, data pipelines that handle terabytes per test cycle, and a hard-learned truth: AI models meeting real world physics is different from any NLP benchmark you've seen.
This guide is what I wish someone had handed me in 2024 when we started. It covers the architecture, the data, the deployment, and the brutal trade-offs. If you're building a copilot for anything that moves metal — jet engines, turbines, or even AI-accelerated planning house-building — this applies.
Why Jet Engines Need a Different Kind of Copilot
Most people think an AI copilot is a chat interface. "Hey copilot, tell me the best fan blade material." That's consumer-grade thinking.
A jet engine has 25,000+ parts. The operating envelope spans -60°C at altitude to 2000°C in the combustion chamber. A single crack in a turbine disk can cause a catastrophic failure that grounds an entire fleet. The physics is non-linear, multi-physics (fluid, thermal, structural, acoustics), and safety-critical.
Generic LLMs don't cut it. They hallucinate material properties. They can't reason about creep-fatigue interaction. They don't know that a 0.2mm clearance change at high power costs 3% efficiency.
So what does work? A specialized architecture that combines:
- A mixture of expert models (MoE) — each expert trained on one physics domain
- A routing gating network that chooses which experts to activate per query
- A data pipeline that ingests real-time test cell telemetry and historical repair logs
- A guardrail layer that prevents outputs violating certified design margins
I'll walk through each piece.
The MoE Bet: Why One Model Can't Do It All
Here's the contrarian take: Most people think you should train one giant multimodal model for jet engine engineering. They're wrong.
Why? Because jet engine physics doesn't compress well. A single transformer struggles to hold the relationship between a 5µm surface roughness on a compressor blade and the 10,000-hour LCF (low-cycle fatigue) life. You end up with a model that's decent at everything, good at nothing.
That's where Mixture of Experts (MoE) comes in. What Is Mixture of Experts (MoE) and How It Works? gives the canonical definition: a set of feedforward sub-networks (experts) with a learned gating mechanism that routes inputs to the right experts. But in practice, the architecture matters more than the definition.
We tested three MoE designs for our copilot:
-
Dense MoE — every input touches every expert, averaging outputs. Worked fine, but compute cost was insane. 14 models running simultaneously.
-
Sparse MoE — only top-k experts activate per forward pass, as described in A Comprehensive Survey of Mixture-of-Experts. This is what Google's Mixture of Experts (MoE) uses in ST-MoE. We got 3x throughput improvement, but the routing was unstable during training.
-
Opt-in MoE — users specify which domain they're working in (e.g., "compressor aerodynamics" vs "turbine cooling"). The router becomes explicit, not learned. For engineering copilots, this was the winner. Engineers hate black boxes. When the copilot tells them it's routing to Expert C for CFD and Expert D for thermal, they trust it.
We built our system using a modified version of the approach in Mixture-of-Experts Models in Deep Learning and Their Applications. The key insight: for AI models meeting real world physics, explicit routing (opt-in) beats learned routing for trust and debuggability.
Architecture: The Copilot Stack
Here's the stack we deployed at a major engine OEM in April 2026:
Data Layer
- Source: Test cell telemetry (50+ sensors per engine, sampled at 10kHz), CAD models, service bulletins, NDT inspection reports (X-ray, ultrasonic)
- Ingestion: Kafka pipeline with schema registry (Avro → Parquet). 200K events/sec sustained.
- Storage: S3-backed Delta Lake with zero-copy cloning for branch modeling (engineers can ask "what if" without corrupting production data)
Model Layer
- Base model: Mixture of 8 small LLMs (1.2B params each), specialized for: combustion, aerodynamics, structures, materials, controls, manufacturing, certifications, safety.
- Router: A 2-layer MLP (input dimension 256, hidden 512, output 8) that takes the user's natural language query + metadata (engine type, operating point) and emits a probability distribution over experts.
- Guardrails: A separate BERT-classifier (fine-tuned on 50K approved/rejected outputs from design reviews) that blocks any prediction that violates certification constraints (e.g., "decrease tip clearance below 0.12mm" is rejected).
Inference Layer
- Batch inference for design space exploration (thousands of what-ifs overnight)
- Real-time streaming for test cell support — maintain a rolling window of 5 minutes of telemetry, run inference every 100ms, display confidence intervals in a dashboard
We wrote a custom inference engine in Rust (because Python couldn't keep up with the fusion scheduler for expert routing). Here's what the routing module looks like — simplified, but real:
python
# Simplified copilot routing module (production version in Rust, but this captures the logic)
import torch
import numpy as np
class ExpertRouter:
def __init__(self, experts, gate_net, num_top_k=2):
self.experts = experts # list of 8 expert models
self.gate_net = gate_net # learned gating MLP
self.num_top_k = num_top_k
def route(self, query_embedding, explicit_domain=None):
"""Route query to top-k experts. If explicit_domain provided, override."""
if explicit_domain:
# engineer said "compressor aerodynamics" → force expert index 2
expert_idx = self._domain_to_expert[explicit_domain]
return [self.experts[expert_idx]]
with torch.no_grad():
logits = self.gate_net(query_embedding) # shape (1, 8)
probs = torch.softmax(logits, dim=-1)
top_k_indices = torch.topk(probs, k=self.num_top_k).indices.squeeze(0)
return [self.experts[i] for i in top_k_indices]
def _domain_to_expert(self, domain):
# lookup from a simple dict, handcrafted with domain engineers
mapping = {
"aerodynamics": 2,
"combustion": 3,
"structures": 0,
"materials": 5,
"controls": 1,
"manufacturing": 7,
"safety": 6,
}
return mapping[domain]
The key lesson: we spent 70% of our effort on the guardrails and routing, not the base models. The experts themselves are fine-tuned from open-source LLMs (Mistral-7B, Llama-3). The magic is in the orchestration.
Data Pipeline: The Real Bottleneck
I keep hearing "AI copilots jet engine engineering" pitched as a model problem. It's not. It's a data problem.
Consider: one engine test cycle (say a 150-cycle ETOPS certification test) generates 2TB of raw data. That data is in proprietary binary formats (TEDSD, CSV, HDF5). It contains timestamps with microsecond precision. The labels — what actually happened (crack initiation, blade rub, surge) — are buried in handwritten logbook entries.
We built a data pipeline that:
- Parses 14 different binary formats using a plugin architecture (each OEM has their own)
- Aligns telemetry with logbook entries using a learned alignment model (because the logbook clock drifts)
- Augments with FEA simulation results from Ansys and Siemens NX
- Shards by engine serial number for efficient retrieval
Here's a (sanitized) snippet of our preprocessing script:
python
# data_pipeline/etl.py — aligns test cell telemetry with logbook annotations
import pandas as pd
import h5py
from datetime import datetime
def align_telemetry_logbook(telemetry_path: str, logbook_path: str) -> pd.DataFrame:
"""Align test cell HDF5 telemetry with human-written logbook events."""
with h5py.File(telemetry_path, 'r') as f:
# read time series (example: fan speed, EGT, vibration)
t = f['time'][:]
fan_speed = f['sensors/fan_speed'][:]
egt = f['sensors/egt_couple'][:]
telemetry_df = pd.DataFrame({'time': t, 'fan_speed': fan_speed, 'egt': egt})
# Load logbook (free-text events like "tower 2: detected stall")
logbook = pd.read_csv(logbook_path)
logbook['timestamp'] = pd.to_datetime(logbook['timestamp'])
# Learn correction offset from known test markers (e.g., "engine start" at t=0)
# In production, we use a learned model; here simple linear correction
clock_drift = estimate_clock_drift(telemetry_df, logbook)
logbook['corrected_ts'] = logbook['timestamp'] + pd.Timedelta(seconds=clock_drift)
# Merge via nearest neighbor within 0.1 seconds
aligned = pd.merge_asof(
telemetry_df.sort_values('time'),
logbook'corrected_ts', 'event'.sort_values('corrected_ts'),
left_on='time',
right_on='corrected_ts',
direction='nearest',
tolerance=pd.Timedelta('0.1s')
)
return aligned
The takeaway: if your data isn't clean and aligned, your copilot will hallucinate. Engineers will notice. They'll stop using it. We saw this happen at one client in late 2025 — they shipped a copilot that gave plausible-sounding nonsense because the training data had 40µs timing skews. It lasted two weeks before being pulled.
Testing the Copilot: Red Teaming and Physics Validation
Before you put an AI copilot near a running engine, you need to test it against physics. Not just accuracy — physics consistency.
We developed a test suite of 1,200 scenarios. Each scenario consists of:
- An engine state (e.g., "cruise, 35,000ft, N1 85%, OAT -45°C")
- A query (e.g., "what is the expected EGT margin for this condition?")
- A ground truth (from either a known validated simulation or actual flight data)
- A constraint boundary (e.g., "EGT must stay below 950°C per TC")
The copilot passes only if:
- The answer is within 2% of ground truth
- The answer does not violate any constraint
- The confidence interval (derived from ensemble of experts) overlaps the ground truth
Here's how we structure the test runner:
python
# testing/physics_validator.py
class PhysicsValidator:
def __init__(self, ground_truth_data: pd.DataFrame):
self.ground_truth = ground_truth_data
def validate_response(self, query: str, copilot_output: dict, constraint_rules: list) -> dict:
result = {"passed": True, "violations": []}
# Check constraint boundaries
for rule in constraint_rules:
if rule["type"] == "threshold":
actual_value = copilot_output[rule["param"]]
if actual_value > rule["max"] or actual_value < rule["min"]:
result["passed"] = False
result["violations"].append(rule)
# Check ground truth match (within 2%)
gt_row = self.ground_truth[self.ground_truth["query"] == query]
if not gt_row.empty:
gt_value = gt_row.iloc[0]["answer"]
pred_value = copilot_output["answer"]
error = abs(pred_value - gt_value) / gt_value
if error > 0.02:
result["passed"] = False
result["violations"].append("Ground truth mismatch > 2%")
return result
We test on CPUs first, then dry-run on a physical engine mock-up where the copilot can only observe, not output. Only after 100% pass rate on 1,200 scenarios do we allow it to give suggestions to a human engineer.
AI-Accelerated Planning House-Building: A Surprising Parallel
I want to draw a comparison that might seem odd: AI-accelerated planning house-building.
In 2023, I advised a construction tech startup. They were building an AI copilot for residential construction planning — optimising foundation pouring sequences, resource scheduling, material orders. The problem structure was identical to jet engine test planning:
- Multi-domain constraints (structural, mechanical, electrical, scheduling)
- Non-linear interactions (pouring foundation too fast cracks it; accelerating a jet engine too fast stalls it)
- Human experts who distrust black boxes
The solution they landed on? MoE with explicit routing. Same pattern. The "structural engineer" expert and the "project manager" expert communicate through a router that's transparent to the user. It worked.
What I'm saying: AI models meeting real world physical constraints — whether in construction or aerospace — demands the same architectural patterns. Don't buy the hype that one giant model solves everything. Build a system that respects domain boundaries.
Production Deployment: What Broke and How We Fixed It
We deployed the copilot at a US-based engine test facility in March 2026. Here's what went wrong:
Problem 1: Inference latency spiked during surge events
When an engine surges (pressure loss, flameout), the telemetry rate doubles. Our Kafka queue backed up. The copilot fell behind. Engineers made decisions based on stale data.
Fix: We added a surge-mode that throttles inference — only the safety expert runs during surge, at 10ms latency. Other experts get queued. It was a simple if-else in the router, but we had to negotiate with the human factors team because the copilot dashboard shows "degraded mode" during surge. Engineers needed to know it was working safely, not fully.
Problem 2: Expert staleness
One of our experts (materials) was trained on data up to 2023. In 2024, the OEM introduced a new coating material (TiAl). The expert had never seen it and gave wrong recommendations. Engineers spotted it within three days.
Fix: Continuous retraining pipeline. Every week, we re-run the expert on new data, using a stale detection metric (KL divergence between expert output distribution and online ground truth). If divergence exceeds 0.1, we flag and retrain.
Problem 3: Routing gate collapse
In our initial sparse MoE setup, the gating network collapsed — it routed 99.9% of queries to the same two experts. We're not alone; this is a known issue in MoE training IBM: What is mixture of experts?. The fix was to add load-balancing loss (auxiliary loss that penalizes imbalance) plus explicit routing overrides.
Measuring Success: The Only Metric That Matters
Don't ask "how accurate is the copilot". Ask "does it reduce the time to certify an engine?".
Certification for a new engine type costs $1-2 billion and takes 5-7 years. A copilot that reduces design iteration cycles by 20% saves tens of millions.
Our metric: time-to-correct-prediction. How long does an engineer take from asking "will this blade survive 5,000 cycles?" to having an answer they trust? Before copilot: 3 hours (run FEA, check handbook). After copilot: 12 minutes (ask, get answer with confidence intervals, validate with a quick subscale test).
We measured a 92% reduction in time for routine queries. For novel queries (never-seen-before engine configurations), the reduction was only 40% — because the experts didn't have enough data.
FAQ: What Engineers Actually Ask Me
Q: Can the copilot replace a human engineer?
No. And it shouldn't. The copilot is a tool for exploration, not replacement. Every output we generate has the phrase "This is a suggestion — verify with validated analysis". Engineers who trust it blindly get burned.
Q: How do you prevent the copilot from recommending designs that fail certification?
Guardrails, as described earlier. We embed the certification rules directly into the routing layer. For example, any suggestion about turbine disk life must pass through the safety expert, which has a hard constraint: "life must exceed 2x design limit".
Q: Is MoE better than a single large model for this?
Yes, for engineering copilots. But it's not free. MoE introduces routing overhead, expert staleness, and harder debugging. If your problem doesn't have clear domain boundaries (like generic Q&A over engine manuals), a single model might be simpler. But for multi-physics engineering, MoE wins. Red Hat: What is Mixture of Experts (MoE)? explains when to choose MoE vs monolithic.
Q: What about using graph neural networks for engine geometry?
We experimented with that. Graph-based experts for geometry reasoning work well for CAD queries ("which parts are near the combustor?"). But for physics prediction, we found that combining GNN with LLM-based experts (via MoE) outperformed either alone. The GNN handles spatial relationships; the LLM handles causal reasoning.
Q: How do you handle proprietary engine data?
The system runs entirely on-premise, air-gapped. No cloud. All models are trained on encrypted HPC clusters within the OEM's network. We use differential privacy for the routing gate training to prevent memorization of sensitive design parameters.
Q: Does the copilot work for already-certified engines (e.g., CFM56)?
Yes, and those engines generate the most data. For legacy engines, you have decades of maintenance records. The copilot becomes an oracle for field issues: "Why did this engine have higher EGT in this specific flight profile?" It learns correlations that human analysts miss. Datacamp: What Is Mixture of Experts (MoE)? How It Works, Use Cases covers similar use cases in industrial AI.
Q: How do you convince skeptical engineers to use it?
You get one engineer to try it on a low-risk question. When they see it correctly predicts a known result in 30 seconds instead of 2 hours, they tell their teammates. We started with "safe" queries — material property lookup, simple thermal calculations. Once trust built, engineers started asking harder questions.
Q: What's the biggest mistake you see teams make?
They ignore the data pipeline. They spend $2M on GPUs and $50K on data engineering. The copilot flops because the data is misaligned, incomplete, or has latency. ScienceDirect: Mixture of experts (MoE): A big data perspective discusses this exact failure mode — MoE models are only as good as the routing, and routing is only as good as the data.
The Future: What's Coming by 2028
I see three shifts:
-
Physics-informed MoE - Experts won't just be fine-tuned LLMs. They'll embed differentiable simulators (e.g., reduced-order models of CFD) as micro-experts. The router will choose between a data-driven model and a physics-based model based on the query.
-
Collaborative copilots - Multiple copilots per engine program, each with a different focus (design copilot, test copilot, maintenance copilot). They'll communicate through a shared knowledge graph. We're already building a prototype with one OEM.
-
Edge copilots - Running a compressed version of the safety expert directly on the engine electronics. Imagine an engine that can detect a developing fault and suggest corrective action before the pilot even notices. That's real-time, on-device AI.
The research in Mixture of Experts (MoE): The approach that could shape the future of AI points to similar trends.
Hard-Earned Lessons
I started this article with Thomas in the test cell. After a year of deployment, he told me something that stuck: "The copilot doesn't make me smarter. It makes me faster. And in this business, speed means I can test more ideas before the program manager tells me time's up."
That's the real win. Not replacing judgment, but amplifying it.
If you're building an AI copilot for anything that involves physics, remember:
- Data is the bottleneck. Spend 3x more on data engineering than model training.
- Explicit routing beats learned routing for trust-critical applications.
- Test against physics, not just NLP metrics. Your copilot shouldn't be grammatically correct but physically wrong.
- MoE is your friend, but it's not a silver bullet. A Comprehensive Survey of Mixture-of-Experts is a good starting point — but read the failure modes section carefully.
We're still early in the journey. AI copilots for jet engine engineering are not a solved problem. They're a solved approach. The hard part — getting it to work in production, at scale, with real engineers — is where the value lives.
Nishaant Dixit — Founder of SIVARO. Building data infrastructure and production AI systems since 2018. Built systems processing 200K events/sec.