ml-pokedex — ONNX weights
Byte-level BPE decoder-only transformers trained on RDF (not English), over the Pokémon Knowledge Graph. These are the weights behind the in-browser demos at github.com/alganet/ml-pokedex; each file is a KV-cached ONNX graph (O(T) generation) that runs client-side with ONNX Runtime Web.
| file | params | size | powers |
|---|---|---|---|
memoriser.onnx |
~19.8M | ~80 MB | The Memoriser — recalls a real Pokémon's stored facts |
combo.onnx |
2.86M | ~11 MB | The Minter (invents a creature) and the Reasoner (derives weaknesses) |
Both share the tokenizer in the app repo (assets/bpe.json, byte-level BPE, vocab 1024) and
consume/produce Turtle. Per-model dims are in the app repo's
models/*.json.
Inputs / outputs
The graph takes ids (1,T) plus a past key/value cache past_k/past_v (L,1,H,P,D) and returns
logits (1,V) at the last position plus the grown cache. Prompt framing:
- memoriser:
[BOS] + encode(prompt) + [SEP], then decode the answer (greedy; an optional IRI trie in the app forbids hallucinated identifiers). - combo:
[BOS] + encode(prompt), continue the document (sampled for the Minter, greedy for the Reasoner).
Honest note
Judged as a database the memoriser loses to gzip (the graph gzips to 0.17 MB; the model is
~80 MB at worse recall). The interesting behaviour is what the 11 MB combo model does on a
fresh IRI it cannot look up: invent a coherent creature and derive its weaknesses from the type
chart. See the app's about pages for the measured results.
License / attribution
Trained on data derived from the Pokémon Knowledge Graph. Pokémon and all related names are © Nintendo / Game Freak / The Pokémon Company. Non-commercial research artifact, not affiliated with or endorsed by them.