Nano
A small Transformer language model and pure C inference engine for personal experimentation, running pretrained and fine-tuned models from a browser down to microcontrollers, single-board computers and routers.
Nano is a small Transformer language model meant for personal experimentation and research, together with a pure C inference engine, based on llama2.c, for running it efficiently across very different hardware.
Model sizes range from a 10-million-parameter model for validating extremely low-resource deployment up to a 168-million-parameter base and general question-answering model, one of which is also fine-tuned for a Chinese amateur-radio licensing exam. The inference engine supports FP32, 8-bit and 4-bit quantization and has been run on a Raspberry Pi, home routers, ESP32 microcontrollers, PCs, servers and inside a browser via WebAssembly, and it is also adapted to run Qwen2 and Qwen3 models.
It ships three interaction modes: a terminal CLI, a WebSocket server, and a "Pod" form factor with keyboard input, a GUI and voice input and output. Pretraining data and a Scheme interpreter used for one of the smallest experimental models are published alongside it.