In this article
A researcher has embedded the complete MaleCNS v1.0 fruit fly connectome — all 166,700 retained neurons and 25,582,938 directed edges — into a frozen LiquidAI LFM2.5-1.2B-Instruct backbone, producing the Fly Language Model (FLM). The project is MIT-licensed, runs locally on Python 3.12 across MPS, CUDA, or CPU, and requires no API key. The more consequential detail is in the researcher's own results: a parameter-matched control that feeds the same token projection directly into an identical readout — with no connectome graph at all — outperforms the fly-wired variant in every one of three random seeds. The connectome participates mathematically but does not help.
Architecture: reservoir computer meets frozen transformer
FLM's design is a reservoir computer grafted onto a language model. The backbone's 1,170,340,608 parameters are entirely frozen. At each token step, a fixed Gaussian projection compresses the LFM2.5's 2,048-dimensional token embedding down to 128 channels. Each of the 166,700 reservoir nodes then receives one of those channels with a random sign, and the graph updates according to x = tanh(W(0.6x + 0.4Bc)), where W holds incoming-normalized anatomical contact counts from the connectome. The only trainable components are two bias-free matrices — U at 128×128 and V at 2,048×128 — forming a readout of 278,528 parameters total, or 0.0238% of the backbone. Pooled graph states from 128 bins feed through U and V, producing a residual capped at an RMS of 0.25 across vocabulary coordinates before being added to the frozen backbone's logits.
The critical constraint is the forgetting rate. The recurrence contracts initial-state differences by at most 0.6 per token. After 10 tokens, the bound on any retained initial difference is 0.00605; after 20 tokens it collapses to 0.0000366. Packing 166,700 cells into the reservoir buys no long-range memory — context still originates entirely from the frozen transformer backbone.
Benchmark results and what the controls isolate
Testing used 32 held-out SmolTalk everyday-conversation dialogues comprising 1,236 target tokens, evaluated across three random fit seeds.
| Condition | NLL (nats/token) | What it isolates |
|---|---|---|
| Frozen backbone (no readout) | 1.381995 | Baseline language model performance |
| Fly readout (full connectome) | 1.359816 ± 0.000110 | Whether the MaleCNS graph topology adds signal |
| Direct-input readout (no graph) | 1.359328 ± 0.000108 | Whether any gain is graph-specific or just readout capacity |
| Relabeled, no refit | 1.381265 ± 0.000802 | Whether learned interface alignment drives performance |
| No edges (W = 0) | 1.381995 | Whether the graph verifiably participates in computation |
The fly readout improved on the raw backbone by 0.0222 nats/token, reducing perplexity from 3.98 to 3.90. The direct-input control beat the fly condition in all three seeds by 0.000488 nats/token; the paired bootstrap confidence interval runs from +0.00000502 to +0.00104 — entirely favoring the no-graph control. Zeroing W eliminates the readout residual exactly, confirming the graph does participate in the forward pass. Relabeling node identities without retraining returns NLL to near baseline, demonstrating that the readout depends on its learned alignment to specific graph structure — but that alignment still cannot beat a structureless projection of the same dimensionality.
AI Mastery analysis
FLM is a rigorous proof-of-concept that accidentally proves the opposite of its premise. The reservoir computing framework is theoretically sound: the connectome's fixed recurrent dynamics could in principle project the token embedding into a richer representational space than a linear mapping. The problem is the contraction rate. A per-token forgetting factor of 0.6 means the graph's internal state is almost entirely overwritten within a handful of tokens, leaving no window in which long-range structural properties of the connectome could express themselves. The 25.6 million edges encode connectivity, not sequence — and sequence is what language modeling requires.
The parameter asymmetry is also telling. The 278,528-parameter readout is trained to interface with a 1.17-billion-parameter frozen backbone. That readout has enough capacity to learn a useful correction regardless of what signal it receives — graph state or raw projection. The direct-input control demonstrates this cleanly: the readout is doing the work, not the connectome. This is a pattern production AI failures rooted in architecture rather than model intelligence illustrates well — when a component's contribution is not ablation-tested against a structurally equivalent alternative, capacity effects masquerade as structural insight.
The researcher explicitly disclaims priority, citing ngxson/fly-hf, an earlier prototype using 49,393 central-brain cells trained on TinyStories without a pretrained backbone. FLM's genuine contribution is methodological transparency: the ablation suite is exactly what this class of biostructure-integration experiment requires, even though the results are negative. Study artifacts remain private, so independent reproduction is not currently possible.
Biological plausibility does not confer computational advantage when the inductive bias of the biological structure mismatches the inductive demands of the task. Connectome-scale wiring encodes anatomical contact statistics optimized by evolution for embodied sensorimotor control in a 3-millimeter insect — not for predicting the next token in human conversation. The experiment also shows that scale alone — moving from 49,393 cells in prior work to 166,700 in the full retained MaleCNS graph — does not rescue a structurally mismatched integration strategy. Until researchers can identify a specific structural property of a biological graph that maps to a specific computational primitive a language model lacks, connectome integration will keep losing to direct projection baselines trained on the same token budget.
Primary source
Frequently asked questions
How many parameters does the FLM readout train, and how does that compare to the backbone?
Only 278,528 parameters are trained — two bias-free matrices U (128×128) and V (2,048×128). That is 0.0238% of the frozen LFM2.5-1.2B-Instruct backbone's 1,170,340,608 parameters.
Does the fruit fly connectome actually improve language model performance over a baseline?
The fly readout does improve on the raw frozen backbone by 0.0222 nats/token, reducing perplexity from 3.98 to 3.90. However, a parameter-matched direct-input control with no graph outperformed the fly-wired variant in all three random seeds by 0.000488 nats/token, with a paired bootstrap interval entirely favoring the no-graph control.
Does the fruit fly connectome give the language model longer context memory?
No. The reservoir's recurrence contracts initial-state differences by at most 0.6 per token. After 10 tokens the bound on any retained difference is 0.00605; after 20 tokens it collapses to 0.0000366. Context still originates entirely from the frozen transformer backbone.
Can FLM be run locally, and what are the hardware requirements?
Yes. The MIT-licensed nftechie/flm repository runs on Python 3.12 across MPS, CUDA, or CPU with no API key required. The source specifies macOS or Linux compatibility but does not name a minimum GPU model.
How does FLM differ from the earlier ngxson/fly-hf connectome prototype?
The earlier ngxson/fly-hf prototype used a 49,393-cell central-brain subset of MaleCNS trained on TinyStories without a pretrained backbone. FLM uses the full retained MaleCNS v1.0 graph of 166,700 nodes and 25,582,938 edges, grafted onto a frozen 1.2B pretrained LLM, keeping the source of language competence identifiable.
Related Reading
DeepSeek-V4.1-Flash: 552B MoE at 890 Bytes per Token
DeepSeek-V4.1-Flash uses a Causal Encoder-Decoder architecture to cut prefill to 8B active params and compress global KV cache to 890 bytes per token.

Meta's Glimmer vs Muse Spark: Open Weight Meets Closed API
Meta released open-weight Glimmer alongside API-only Muse Spark, revealing a dual-track strategy that splits openness from capability.
Kyutai CADRE: World Models at 20 fps With Under 230 ms Lag
Kyutai's open CADRE autoencoders let world models run at 20 fps on one H100 and react in under 230 ms across robot, driving, and navigation rollouts.