Neo50M is a tiny decoder-only chat language model trained from scratch. It is designed for toy/local assistant use, educational experiments, lightweight generation, and testing training pipelines.
Model Details
Type: decoder-only causal language model, Llama-compatible architecture
Parameters: approximately 52.6M
Context length target: 16k tokens
Training target: about 15B pretraining tokens plus chat/instruction tuning
Hardware: 8x NVIDIA RTX 5090 cloud GPUs
Tokenizer: TinyLlama/Llama-style 32k tokenizer with a Neo50M chat template
Intended Uses
toy/local assistant experiments
educational training and inference demos
lightweight generation
testing HF, GGUF, ONNX, and distributed training pipelines
Limitations
Neo50M is very small. It is not reliable for factual accuracy, has limited reasoning ability, may hallucinate, and should not be used for safety-critical decisions or high-stakes advice.
llama-cli -m neo50m-q4_k_m.gguf -p "User: Write a haiku about GPUs.\nAssistant:"
ONNX Usage
The ONNX export is intended for forward-pass validation and integration experiments. Use ONNX Runtime to load onnx/model.onnx and feed integer input_ids plus attention_mask.
Dataset Summary
The training pipeline streams a configurable mixture of FineWeb-Edu, Cosmopedia, Wikipedia-like text, TinyStories, and a small permissive code component. SFT uses OpenHermes-style, UltraChat-style, Alpaca-style, and small refusal/helpfulness examples when available. Dataset availability can change; the exact configs are included with the upload.
Eval Results
Eval artifacts, when present, are uploaded under evals/.