Run the comparison models
Try the published WikiText checkpoints for FLM, GRU and transformer on the same prompt. The 14.3 MB bundle includes both training seeds for each model, the shared tokenizer, the measured graph subset and a standalone Python runtime.
These are small text continuation models, trained from scratch with about 600,000 parameters. They have not been instruction-tuned. Their unedited samples include repetition, malformed words and invented statements. The completed test comparison reports FLM behind both neural baselines.
Download all six models · ZIP · Inspect hashes and verification
1. Extract and install
Unzip the download into a new directory and open a terminal there. Inference does not require access to the private repository, a training corpus, a GPU or an API key.
The release was tested on Windows with Python 3.10.11 and PyTorch 2.8.0 CPU. Create an environment:
python -m venv .venv
Activate it in Windows PowerShell:
.venv\Scripts\Activate.ps1
Or in a Linux shell:
source .venv/bin/activate
Then install the CPU runtime and the pinned inference dependencies:
python -m pip install torch==2.8.0 --index-url https://download.pytorch.org/whl/cpu
python -m pip install -r requirements-inference.txt
The CPU command follows the official PyTorch 2.8 instructions. NumPy 2.2.6, SciPy 1.13.1 and tokenizers 0.22.2 are pinned in the included requirements file. The Linux commands have not been independently tested for this release.
2. Compare one prompt
Run these commands from the extracted directory with the environment active:
python -X utf8 -m flm.inference --model flm --prompt "The history of science"
python -X utf8 -m flm.inference --model gru --prompt "The history of science"
python -X utf8 -m flm.inference --model transformer --prompt "The history of science"
Each command prints JSON containing the continuation, token IDs, byte count, model identity and sampling settings. The defaults match the published examples: training seed 42, sampling seed 17, temperature 0.8, top-k 40 and up to 128 output tokens.
The other fixed prompts are In the summer, the village, The small animal moved through and Language is a way to. Replace the quoted prompt with your own text to explore the models.
3. Change the settings
Use --training-seed 43 for the second trained initialization. A sampling seed controls token choices from one trained model; it does not select a different checkpoint.
python -X utf8 -m flm.inference --model flm --training-seed 43 --prompt "A small animal" --sampling-seed 29 --temperature 0.8 --top-k 40 --tokens 256
--temperature 0uses greedy argmax. Top-k and sampling seed then have no effect.--tokensaccepts 1 to 1,024 output tokens. The end-of-document token can stop generation earlier.- Keep prompts and sampling settings equal when comparing architectures.
Each invocation starts with fresh state. The full prompt is fed in chunks of at most 96 tokens, carrying each model's native recurrent state or attention cache. The CLI uses one CPU thread. Other runtime versions or platforms can alter numerical results and sampled text.
What the verification covers
Every exported tensor and fixed buffer is identical to its original selected checkpoint. The exporter reproduces all four published prompts for all six models, and a fresh archive extraction passes six further CLI checks. The original training checkpoint, exported file and tensor state each have separate hashes in the release records.
The loader checks the complete bundle and matching runtime sources before loading a checkpoint. Model files contain inference tensors and configuration; optimizer state, training RNG, raw corpora and user conversations are omitted. This bundle cannot resume the original training runs.
Generation excludes the beginning-of-document token and byte pieces containing control characters other than tab/newline. Published likelihoods use the full model distribution without this generation filter. New prompts do not change the frozen benchmark results.
ChatFLM also runs all 18 completed primary FLM, GRU and transformer checkpoints in its browser selector. This six-model Python bundle remains the WikiText release; the completed graph controls and BabyLM comparison have separate records. See the chat and model-selection guide.
Download the complete guide · Markdown · Release record · Component attribution