SwiftUI / Apple MLX / real training loop

Build a small GPT. Train it. Talk to it.

LabLLM is a native macOS GUI for training small Transformer models from scratch, fine-tuning behavior, inspecting checkpoints, and chatting with the model you trained.

GitHub stars Open issues Open pull requests GitHub contributors GitHub Discussions Latest release
From scratch GPT-style training Orange val loss beside blue train loss Local chat with saved checkpoints
training run
training watch the curve bend

Blue train loss, orange validation loss, live samples, and checkpoints in one workspace.

tokens/sec 0
checkpoint step 1,240
mode fine-tune
Download beta Star the repo Read the roadmap Pick an issue

The whole experiment loop

Move from data to a talking checkpoint without rebuilding your workflow.

01

Bring data

Browse Hugging Face datasets, import local text or JSONL, mix sources, and track progress on big downloads.

02

Design the model

Choose a GPT-style preset, tune architecture details, estimate memory, and let Simple mode handle the tokenizer.

03

Train and watch

Follow train loss, validation loss, throughput, checkpoints, ETA, and live samples as the model changes.

04

Sample, chat, continue

Generate inline, chat with checkpoints, continue useful runs, export cards, and keep experiments organized.

Product, not promise

The dashboard is the lab notebook.

Training should not feel like staring at a terminal and hoping the curve means something. LabLLM keeps metrics, validation, samples, checkpoints, and model management close together.

  • Blue train loss and orange validation loss are separate curves.
  • Samples appear as a timeline during training and fine-tuning.
  • Checkpoints can be loaded, renamed, continued, compared, and exported.
LabLLM training dashboard

Tiny live-feeling previews

A few moving pieces from the workbench.

Training metrics step 0
train loss validation loss
Inline sampling temperature 0.8
Prompt

The model opened its eyes and noticed

Data browser importable sources
Checkpoint timeline best run marked
240 520 880 1240
selected checkpoint story-gpt-sft-0880

val loss improved, sample quality up, ready to continue or chat.

Model chat streaming

Explain why validation loss matters.

Hugging Face import chunked
Tiny Stories 20%
validating filesjsonl/parquet
preview rows2,000

Roadmap tracker

Built, being hardened, and planned.

LabLLM has a lot of surface area, so the roadmap separates working beta features from active correctness work and bigger future ideas.

Open ROADMAP.md
BuiltModel builder, data import, training, SFT, DPO, sampling, chat, checkpoints.
HardeningReproducible training, validation correctness, dataset windows, padding masks.
PlannedEvaluation suites, richer comparison, deeper X-Ray tools, automation, reports.

Pull requests welcome

Help make small-model training easier to trust.

The highest-impact work is focused: tests, ML correctness, dataset edge cases, SwiftUI polish, docs, screenshots, recipes, and better explanations for errors.

Quick answers

Useful before you download.

Does it train real models?

Yes. LabLLM builds GPT-style decoder models with Apple MLX and saves checkpoints you can load back into the app.

Can the models talk naturally?

Yes, with good instruction or conversation data, you can fine-tune behavior and chat with the result inside LabLLM.

What Mac do I need?

macOS 14 or newer on Apple Silicon. More memory gives you more room for larger experiments.

Where should contributors start?

Core correctness tests, dataset import reliability, tutorial polish, and focused SwiftUI fixes are the best entry points.

Open source beta

Train a model, watch it learn, then make it answer back.