POYO-MP — independent reproduction + transfer checkpoints
This is an independent reproduction, not the official neuro-galaxy weights. The checkpoints here were trained by me from the public recipe and public data to reproduce and then probe the POYO-MP spiking-foundation model of Azabou et al., NeurIPS 2023 (neuro-galaxy/poyo). For the authors' own model, see their repository.
Companion code, experiment harness, and a reproducible-document write-up:
https://github.com/m9h/neural-decoding-transfer (see paper/paper.pdf).
POYO tokenizes individual spikes and decodes behavior through per-unit and per-session embeddings, so a new recording can be "identified" into a frozen model by learning only its embeddings (the §2.5 unit-identification protocol). The base checkpoint is a faithful reproduction; the rest are transfer/ablation checkpoints that back specific claims in the write-up.
Checkpoints
All files are PyTorch-Lightning .ckpt (the trained state_dict includes POYO's
InfiniteVocabEmbedding unit/session vocab). Decode metric is held-out test R² on
reach-period hand velocity unless noted.
| path | what | test R² | notes |
|---|---|---|---|
base/poyo_mp_converged.ckpt |
Base POYO-MP, perich_miller (99 sessions), 1000 ep, 8×H100, exact recipe | 0.904 | wwj HT-SR mean α=1.62, 17% in-ROPE(α=2); the reproduction headline |
transfer/area2_ft_pretrained.ckpt |
area2_bump finetune, frozen core (§2.5) | 0.834 | inherits base spectrum (α=1.62); motor→motor transfer |
transfer/area2_ft_scratch.ckpt |
area2_bump from scratch (control) | 0.313 | undertrained spectrum (α=3.31, 0% in-ROPE) |
transfer/dmfc_const_pretrained.ckpt |
dmfc_rsg timing finetune, frozen core (Set→Go, constant-interval target) | 0.798 | motor→cognitive-timing; negative transfer |
transfer/dmfc_const_scratch.ckpt |
dmfc_rsg timing from scratch (control) | 0.845 | scratch ≥ finetune → motor core gives no timing advantage |
augmentation/freeze/aug_{off,standard,aggressive}.ckpt |
UnitDropout ablation, frozen core (null control) | 0.854 / 0.860 / 0.857 | feature covariance can't move when the extractor is frozen |
augmentation/finetune_all/augf_{off,standard,aggressive}.ckpt |
UnitDropout ablation, all weights plastic | 0.856 / 0.851 / 0.865 | feature-cov condition number drops 1.1e12 → 4.3e11 (≈2.6×) as augmentation strengthens |
Not included (checkpoints not retained from the original runs): the per-fraction
data-efficiency curve, the chronic-stability evaluation (used the frozen base directly,
no new weights), the cross-subject monkey-t sweep, the low-data generalization grid, and an
earlier full-trial dmfc variant. The corresponding result files (*_results.jsonl) and the
harness to regenerate them live in the GitHub repo.
Loading
These load through the upstream POYO model class. Install the pinned environment from the
companion repo (nerdslab/poyo +
torch_brain), then:
from huggingface_hub import hf_hub_download
from torch_brain.models import POYO # see neuro-galaxy/torch_brain
ckpt = hf_hub_download("mhough/poyo-mp-reproduction", "base/poyo_mp_converged.ckpt")
# Reproduction harness wraps POYO.load_pretrained(ckpt, readout_spec, skip_readout=...);
# see dataeff/eval_session.py and transfer/ in the companion repo for the exact readout spec
# and the InfiniteVocabEmbedding extend_vocab / freeze_core transfer path.
Pickle note: Lightning
.ckptare Python pickles — load only because you trust the source. Asafetensorsexport is possible but needs a side JSON for the non-tensor vocab dict; not done here.
Data & attribution
Trained/evaluated on public datasets, not redistributed here — get them from source:
- Perich–Miller center-out reaching (Perich, Gallego & Miller, Neuron 2018) via DANDI / the
brainsetspipeline. - area2_bump (Chowdhury, Glaser & Miller, eLife 2020) and dmfc_rsg (Sohn, Narain, Meirhaeghe & Jazayeri, Neuron 2019) via the Neural Latents Benchmark '21.
Each dataset retains its own license/terms; cite the original papers (full BibTeX in
paper/references.bib in the companion repo).
License
Weights released under Apache-2.0, matching the upstream POYO architecture/code
(nerdslab/poyo, neuro-galaxy/torch_brain) they derive from. The companion training/eval
harness on GitHub is MIT. Dataset terms are the original providers'.
Citation
If you use these checkpoints, please cite the original POYO paper:
@inproceedings{azabou2023poyo,
title = {A Unified, Scalable Framework for Neural Population Decoding},
author = {Azabou, Mehdi and Arora, Vinam and Ganesh, Venkataramana and Mao, Ximeng
and Nachimuthu, Santosh and Mendelson, Michael J. and Richards, Blake A.
and Perich, Matthew G. and Lajoie, Guillaume and Dyer, Eva L.},
booktitle = {Advances in Neural Information Processing Systems (NeurIPS)},
year = {2023}
}