AspadaX/tiny-llama: A minimal LLaMA model inference engine built purely in Rust - AspadaX/tiny-llama

github.com · 2026-07-23 · by Long Nguyen ·github
A minimal LLaMA model inference engine built purely in Rust - AspadaX/tiny-llama

AspadaX/tiny-llama

A minimal LLaMA model inference engine built purely in Rust - AspadaX/tiny-llama

7 stars · 0 forks · Rust Topics: rust, machine-learning, ai, deep-learning, neural-network, algorithms, transformers, tui, llama, attention-mechanism, inference-engine, minicpm

README

tiny-llama A minimal LLaMA-style inference engine for MiniCPM5-1B, built purely in Rust.

I built this project to study the fundamentals of large language models. Every understanding is rephrased directly in the code — dense, but organized. My hope is that it helps you learn too. Inspired by tiny-vllm. Features

CPU-only inference — no GPU required No KV-cache — focuses on the core model mechanics Single-file implementation — src/main.rs (~1800 lines) TUI visualization — real-time view of how the model "thinks"

What's implemented

Component Details

Embedding Token ID lookup via embedding table

RoPE Rotary position embeddings

Attention Multi-head attention with GQA (Grouped Query Attention)

MLP SwiGLU activation function

Normalization RMSNorm

Residual connections Standard skip connections after attention and MLP

Getting Started 1. Download the model

Download MiniCPM5-1B from HuggingFace

Put the model files in a directory, e.g. ./models/minicpm5-1b/

The directory should contain:

- config.json

- model-00000-of-00001.safetensors

- tokenizer.json

2. Build and run cargo run --release -- "<model_dir>" "<your prompt>" Example: cargo run --release -- ./models/minicpm5-1b "What is artificial intelligence?" Press q to quit early. Code Walkthrough The best way to read this code is top-to-bottom in src/main.rs:

Tensor ops — A minimal TinyTensor wrapper over candle tensors with matrix multiply, reshape, transpose, softmax, etc. I will try to write the Maths operations by hand. Model loading — ModelConfigurations, LlamaModel, and TransformerBlock structs that map directly to the safetensors keys. predict_next_token — The inference loop through every transformer layer. Each operation is annotated with shape comments and timing. TUI — Ratatui widgets render attention maps, tensor shapes, and logits in real time.

License MIT — see LICENSE

source

github.com · 1 images · 109 links

Comments (0)

No comments yet