FLM wires a fruit fly brain map into a language model, and its own control finds no gain
The FLM project attaches the full fruit fly connectome to a frozen 1.2B parameter language model, but the developer's own control shows the graph adds nothing.
The Fly Language Model (FLM) is a public chatbot that couples the complete retained MaleCNS v1.0 fruit fly connectome to a frozen LiquidAI LFM2.5-1.2B-Instruct backbone. The developer describes it as the world's first Fly Language Model, explicitly disclaims being the first connectome language model, and reports that a parameter-matched control without the fly graph performs slightly better.
How it is built
The system is a reservoir computer bolted onto a language model. All 166,700 retained nodes and 25,582,938 directed edges of the MaleCNS graph take part. The graph, the backbone and the random input and output projections are fixed. Only a 278,528-parameter readout is trained, roughly 0.0238% of the 1,170,340,608 backbone parameters.
At each token a fixed Gaussian projection compresses the 2,048-dimensional embedding to 128 channels. The graph updates, states are pooled into 128 bins, and the result passes through the frozen vocabulary head as a bounded residual added to the backbone logits, capped at an RMS of 0.25.
What the controls show
On a freshly frozen set of 32 SmolTalk everyday-conversation dialogues (1,236 target tokens) across three fit seeds, the fly readout improved on the backbone by 0.0222 nats per token, moving perplexity from 3.98 to 3.90. A direct-input control that feeds the same 128-channel projection into an identical readout with no graph did better in all three seeds by 0.000488 nats per token. The paired bootstrap interval does not support a fly-specific gain.
Setting W to zero removes the residual exactly and reproduces the backbone losses, confirming the graph participates. Relabeling node identities without retraining returns NLL near baseline. The report also proves the recurrence contracts initial-state differences by at most 0.6 per token: after 10 tokens the bound is 0.00605, after 20 it is 0.0000366. Context still comes from the backbone.
The repository is MIT-licensed and runs locally on Python 3.12 with no API key. Full details are in the MarkTechPost report.