Instructions to use PollardWeights/HumanBrain-Pollard-H01 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use PollardWeights/HumanBrain-Pollard-H01 with llama.cpp:
Install (macOS, Linux)
curl -LsSf https://llama.app/install.sh | sh # Start a local OpenAI-compatible server with a web UI: llama serve -hf PollardWeights/HumanBrain-Pollard-H01:IQ3_S # Run inference directly in the terminal: llama cli -hf PollardWeights/HumanBrain-Pollard-H01:IQ3_S
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf PollardWeights/HumanBrain-Pollard-H01:IQ3_S # Run inference directly in the terminal: llama cli -hf PollardWeights/HumanBrain-Pollard-H01:IQ3_S
Use pre-built binary
# Download pre-built binary from: # https://github.com/ggerganov/llama.cpp/releases # Start a local OpenAI-compatible server with a web UI: ./llama-server -hf PollardWeights/HumanBrain-Pollard-H01:IQ3_S # Run inference directly in the terminal: ./llama-cli -hf PollardWeights/HumanBrain-Pollard-H01:IQ3_S
Build from source code
git clone https://github.com/ggerganov/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-server llama-cli # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama-server -hf PollardWeights/HumanBrain-Pollard-H01:IQ3_S # Run inference directly in the terminal: ./build/bin/llama-cli -hf PollardWeights/HumanBrain-Pollard-H01:IQ3_S
Use Docker
docker model run hf.co/PollardWeights/HumanBrain-Pollard-H01:IQ3_S
- LM Studio
- Jan
- Ollama
How to use PollardWeights/HumanBrain-Pollard-H01 with Ollama:
ollama run hf.co/PollardWeights/HumanBrain-Pollard-H01:IQ3_S
- Unsloth Desktop
- Pi
How to use PollardWeights/HumanBrain-Pollard-H01 with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf PollardWeights/HumanBrain-Pollard-H01:IQ3_S
Configure the model in Pi
# Install Pi: npm install -g @earendil-works/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "llama-cpp": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "PollardWeights/HumanBrain-Pollard-H01:IQ3_S" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Docker Model Runner
How to use PollardWeights/HumanBrain-Pollard-H01 with Docker Model Runner:
docker model run hf.co/PollardWeights/HumanBrain-Pollard-H01:IQ3_S
- Lemonade
How to use PollardWeights/HumanBrain-Pollard-H01 with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull PollardWeights/HumanBrain-Pollard-H01:IQ3_S
Run and chat with the model
lemonade run user.HumanBrain-Pollard-H01-IQ3_S
List all available models
lemonade list
- Hermes Agent
How to use PollardWeights/HumanBrain-Pollard-H01 with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf PollardWeights/HumanBrain-Pollard-H01:IQ3_S
Configure Hermes
# Install Hermes: curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash hermes setup # Point Hermes at the local server: hermes config set model.provider custom hermes config set model.base_url http://127.0.0.1:8080/v1 hermes config set model.default PollardWeights/HumanBrain-Pollard-H01:IQ3_S
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use PollardWeights/HumanBrain-Pollard-H01 with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf PollardWeights/HumanBrain-Pollard-H01:IQ3_S
Configure OpenClaw
# Install OpenClaw: npm install -g openclaw@latest # Register the local server and set it as the default model: openclaw onboard --non-interactive --mode local \ --auth-choice custom-api-key \ --custom-base-url http://127.0.0.1:8080/v1 \ --custom-model-id "PollardWeights/HumanBrain-Pollard-H01:IQ3_S" \ --custom-provider-id llama-cpp \ --custom-compatibility openai \ --custom-text-input \ --accept-risk \ --skip-health
Run OpenClaw
openclaw agent --local --agent main --message "Hello from Hugging Face"
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 withpollard-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
3-bit
4-bit
6-bit