gpt-fly / README.md
eob's picture
Add model-card frontmatter
71c8be4 verified
|
Raw History Blame Contribute Delete
1.32 kB
---
library_name: onnx
tags:
- gpt-2
- tinystories
- connectome
- flywire
- onnx
license: mit
---
# GPT-Fly (fly-small): a GPT-2 wired with the fruit-fly connectome
Browser-ready ONNX weights for the [GPT-Fly demo](https://edwardbenson.com/gpt-fly):
a GPT-2-small-shaped transformer (12 layers, 768 wide, GPT-2 BPE, 1024 context)
whose MLP blocks are sparsified with frozen binary masks derived from the
FlyWire whole-brain connectome (~0.69% dense), plus learned dense glue.
Trained on TinyStories to val loss 1.82 (dense control: 1.14).
## Files
| File | Contents |
|---|---|
| `fly-small.onnx` | Model graph (weights live in the sibling `.onnx.data`) |
| `fly-small.onnx.data` | 633MB fp32 weights (external data) |
| `fly-small.tokenizer.json` | Descriptor naming the GPT-2 BPE scheme |
## Use
Load with onnxruntime-web, mounting the external weights explicitly
(`InferenceSession.create(graphBytes, { externalData: [...] })`), since
onnxruntime-web does not auto-resolve sibling `.onnx.data`. Tokenize with any
GPT-2 byte-level BPE (e.g. `Xenova/gpt2`); EOS id is 50256. Input name `idx`,
output name `logits`.
## Provenance
- Training code: `eob/gpt-fly` (FLY-010 scale-up, 6000 steps, 8xA100 → 4xA100)
- Fly regions → transformer pieces mapping: see the technical writeup on the demo page
- License: MIT