HumanBrain-Pollard-H01

A human cortical connectome used as a language model's memory. 13,473 neurons reconstructed from electron microscopy of human temporal cortex, wired as an associative memory and attached to a frozen stock Qwen2.5-0.5B-Instruct.

Same design as FlyBrain-Pollard-CNSv1, same trainer, same recipe -- a different graph. That is the point: the method does not care whose connectome it is.

Measured

A six-letter string is stated once, buried under filler, and asked about far beyond the attention window. The model never sees more than 128 tokens at a time. Words are generated fresh every sample.

FLOOR -- no brain, fact outside the window 0.0%
RECALL -- with the brain 100.0%
CONTROL -- a word the document never contained 0.0%
CONTROL -- brain read a different document 0.0%
live state, at any document length 17.7 MB

64 samples through pollard-brainverify. Cold start reached 100% at step 44 and held it flat.

Human against fly, measured

cells synapses state 100% at
Fly MaleCNS v1.0 (pruned core) 8,552 300,880 11.2 MB step 26
H01 human cortex 13,473 114,227 17.7 MB step 44

The human graph has 1.6x the cells and far fewer synapses per cell -- 1.51 synapses per connected pair, because H01 is a 1 mm3 block and most of a cortical neuron's connections leave the volume. It converges a little slower and lands in the same place.

What this does NOT show. It does not show the human wiring is better, or that the connectome is doing the cognitive work. A degree-preserving shuffle of the fly graph -- same neurons, same degrees, same weights, 99.94% of edges rewired -- reaches 100% at the same step. These graphs supply topology and sparsity at a scale that works; the associative memory does the rest. Anyone claiming a connectome is required here should run the shuffle first.

How the graph was built

From H01 (Shapson-Coe et al., Science 2024), CC-BY, via pollard-connectome --human. Two decisions separate biology from detector artifacts, and both are in the tool:

Glia are excluded. H01's soma table covers ~57k cells and most are glia. Unfiltered, the largest single edge class is astrocyte->pyramidal at 52,177 edges, ahead of pyramidal->pyramidal at 38,713. Astrocytes do not synapse onto pyramidal cells; their processes wrap real synapses and the detector reports the wrapper. A graph whose commonest connection is biologically impossible is not a connectome.

Signs come from Dale's law, not the detector's own excitatory/inhibitory call -- which agreed with Dale on 57.5% of these edges, barely above a coin flip. Pyramidal and spiny cells excitatory, interneurons inhibitory: 9,940 / 3,533, so 26.2% inhibitory.

Only ~0.3% of H01's ~166M synapses join two cells whose soma is inside the volume; the rest land on neurites cut at the boundary. pollard-connectome streams all 166 shards and keeps that 0.3%.

Which file should I download?

This repo ships the brain and the backbone it attaches to, quantized by Pollard. The .pt is the memory; the .gguf is the model. You need both.

rung size what the allocator actually did KL at that width
Q6_K 506 MB 24L @ q6_K 0.0123
IQ4_XS 369 MB 1L @ q5_K, 23L @ iq4_xs 0.2058
IQ3_S 338 MB 22L @ iq3_s, 2L @ iq2_s 2.4001

None of these is a flat preset. Pollard measures each layer's sensitivity against the model's own calibration data and spends bits where they change the output, which is why IQ4_XS keeps one layer at 5 bits and IQ3_S drops two to 2 bits.

Read the KL column as a warning, not a score. It is the divergence from f16 when the WHOLE model is cast to that width -- the measured noise curve, which is what the allocator plans against. A mixed build does better than its own headline number, because the layers that would have cost the most were not cast that low. What the column tells you is where the cliff is: this model is fine at 4-bit and falls apart below 3, and 2-bit is unusable at KL ~14.

That cliff is model-specific and worth knowing: Qwen2.5-0.5B degrades far faster than larger models. The Qwen2-VL-2B in the sibling repo measures KL 0.61 at 3-bit where this one measures 2.40. Small models have less redundancy to spend.

Recommended: Q6_K unless you are tight on memory. IQ4_XS is the value pick. Take IQ3_S only if 338 MB versus 369 MB genuinely matters to you -- it is a real quality step down on a model this size.

Use it

pip install 'pollard-weights[flybrain]'
from pollard_flybrain import FlyBrain, load_backbone
from transformers import AutoTokenizer

M = "Qwen/Qwen2.5-0.5B-Instruct"
tok = AutoTokenizer.from_pretrained(M)
model = load_backbone(M, device="cuda")

brain = FlyBrain.load("HumanBrain-Pollard-H01.pt").bind(model, tok)
brain.feed(open("long_document.txt").read())
print(brain.recall(" Question: what is the secret word? Answer: The secret word is"))

The prompt is part of the experiment. A token is filed under the words immediately before it, so a query must reproduce that context. Ask "what is the secret word?" alone and a brain measuring 100% measures 46%. Verify with pollard-brainverify, which carries the correct construction.

Also true

  • It remembers; it does not reason. 13,473 slots are a memory, not a mind.
  • One brain per backbone -- the address matrix is this model's hidden size; bind() refuses a mismatch. Train your own with pollard-flybrain --train.
  • Single-fact recall is solved; multi-fact selection is not (~72-80%).
  • Build your own graph: pollard-connectome --human. Lanes: pollard-brainlanes.

Cite Shapson-Coe et al., A petavoxel fragment of human cerebral cortex reconstructed at nanoscale resolution, Science 384 (2024).

Downloads last month
213
GGUF
Model size
0.5B params
Architecture
qwen2
Hardware compatibility
Log In to add your hardware

3-bit

4-bit

6-bit

Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Model tree for PollardWeights/HumanBrain-Pollard-H01

Quantized
(295)
this model