Instructions to use PollardWeights/FlyBrain-Pollard-VL-CNSv1 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/FlyBrain-Pollard-VL-CNSv1 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/FlyBrain-Pollard-VL-CNSv1:IQ3_S # Run inference directly in the terminal: llama cli -hf PollardWeights/FlyBrain-Pollard-VL-CNSv1:IQ3_S
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf PollardWeights/FlyBrain-Pollard-VL-CNSv1:IQ3_S # Run inference directly in the terminal: llama cli -hf PollardWeights/FlyBrain-Pollard-VL-CNSv1: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/FlyBrain-Pollard-VL-CNSv1:IQ3_S # Run inference directly in the terminal: ./llama-cli -hf PollardWeights/FlyBrain-Pollard-VL-CNSv1: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/FlyBrain-Pollard-VL-CNSv1:IQ3_S # Run inference directly in the terminal: ./build/bin/llama-cli -hf PollardWeights/FlyBrain-Pollard-VL-CNSv1:IQ3_S
Use Docker
docker model run hf.co/PollardWeights/FlyBrain-Pollard-VL-CNSv1:IQ3_S
- LM Studio
- Jan
- Ollama
How to use PollardWeights/FlyBrain-Pollard-VL-CNSv1 with Ollama:
ollama run hf.co/PollardWeights/FlyBrain-Pollard-VL-CNSv1:IQ3_S
- Unsloth Desktop
- Docker Model Runner
How to use PollardWeights/FlyBrain-Pollard-VL-CNSv1 with Docker Model Runner:
docker model run hf.co/PollardWeights/FlyBrain-Pollard-VL-CNSv1:IQ3_S
- Lemonade
How to use PollardWeights/FlyBrain-Pollard-VL-CNSv1 with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull PollardWeights/FlyBrain-Pollard-VL-CNSv1:IQ3_S
Run and chat with the model
lemonade run user.FlyBrain-Pollard-VL-CNSv1-IQ3_S
List all available models
lemonade list
- Atomic Chat
FlyBrain-Pollard-VL-CNSv1
A fruit-fly connectome used as the memory of a vision-language model. The artifact is the brain -- 117 MB of connectome, synapse signs, trained adapters and gate. It attaches to a frozen stock Qwen2-VL-2B-Instruct and is never merged into it.
This is the same brain design as FlyBrain-Pollard-CNSv1, trained against a different backbone. Not a variant, not a second architecture -- the same trainer, the same recipe, no vision-specific code anywhere. That is the point of publishing it: the method is backbone-agnostic, and this is the evidence.
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, so it cannot see the fact and the question together. Words are generated fresh for every sample and never reused.
| 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 | 11.2 MB |
64 samples through pollard-brainverify, which carries the verified measurement construction. Cold
start reached 100% at step 44 and held it flat across eight consecutive evaluations.
Honest scope -- read this before assuming what it does
This brain recalls TEXT exactly, on a model that can see. It does not recall images.
Exact recall works by storing token ids as bipolar signs, and a sign only has to stay on the correct side of zero to survive interference. Qwen2-VL's vision encoder is continuous -- image patches have no ids -- so there is nothing discrete to store. The brain sits on the LANGUAGE side of the model.
Because a VL model injects visual embeddings into the token stream, the brain does see image content flow past and can address on it. What it cannot do is reproduce it. Byte-exact image recall needs a backbone whose image tokenizer is discrete (VQ-style), where image tokens are real ids and the existing bit path applies unchanged. That is a backbone choice, not a brain feature.
Use it
pip install 'pollard-weights[flybrain]'
from pollard_flybrain import FlyBrain, load_backbone
from transformers import AutoTokenizer
M = "Qwen/Qwen2-VL-2B-Instruct"
tok = AutoTokenizer.from_pretrained(M)
model = load_backbone(M, device="cuda") # frozen; the vision tower is untouched
brain = FlyBrain.load("FlyBrain-Pollard-VL-CNSv1.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 has to reproduce that context. Ask "what is the secret word?" alone and a brain measuring
100% measures 46% -- the memory is intact, the question arrives at the wrong address. Verify any
brain with pollard-brainverify, which has the correct construction built in.
Train one for YOUR model
A brain is fitted to one backbone: the address matrix has that model's hidden size (1536 here) and
the token codes come from its output embedding. bind() refuses a mismatch rather than returning
confident nonsense. For any other model, train your own -- it is quick:
pollard-flybrain --train 900 --model <your-hf-id> \
--connectome graph.feather --signs signs.npy \
--probes corpus.txt --brain MyModel-FlyBrain.pt
pollard-brainverify --brain MyModel-FlyBrain.pt --model <your-hf-id> --filler corpus.txt
pollard-brainlanes reports which runtimes can host a brain on your machine.
Also true
- It remembers; it does not reason. Language, reasoning and vision come from the backbone.
- Single-fact recall is solved; multi-fact selection is not -- several facts in one document is ~72-80% and is the open problem.
- PyTorch path. Verified lanes: transformers, MLX, GGUF/llama.cpp, EXL3. Not every runtime can
host a brain, and
pollard-brainlanestells you which can on your hardware.
Connectome
MaleCNS v1.0 (FlyEM/Janelia), CC-BY. The full volume is 188,778 neurons and 26,028,386 synapses; this uses the associative-memory core -- mushroom body and central complex -- pruned to 8,552 neurons and 300,880 synapses.
- Downloads last month
- -
3-bit
4-bit
6-bit