Anything is learnable.

The best way for busy people to learn what they've always wanted to. Personalized courses, paced for your week, written one lesson at a time.

I want to learn about training LLMs for about 15 minutes a day for 4 weeks.
Plan ready

Engineering · Personalized course

training LLMs

Module 01

Foundations and pretraining

readingWhat a language model actually is8 min
readingTokens, embeddings, and attention8 min
quizSpot the next-token prediction5 min

Module 02

Fine-tuning for real tasks

readingWhen to fine-tune, when to prompt8 min
codingRun a LoRA fine-tune on a toy dataset22 min
interactiveWatch loss curves shape behavior12 min

Build a fully-customized course tailored to your goals

Learnable prepares a course syllabus to help you achieve your learning goals. Approve it as-is or iterate with your assistant.

Tailoring your course

How familiar are you with machine learning?

Pick one

New to itI've trained smaller modelsComfortable, want depthSomething else

What do you want to walk away able to do?

Select all that apply

Read papers without panickingFine-tune a small model end-to-endBuild an eval harness for my use caseSomething else

What hardware will you have?

Pick one

CPU onlySingle consumer GPUA small clusterSomething else
Refining your plan

Module 02

Fine-tuning for real tasks

readingWhen to fine-tune, when to prompt
readingTokens, embeddings, and attention
codingRun a LoRA fine-tune on a toy dataset
readingHow RLHF reshapes a model
codingDPO from scratch
Refine in natural language...

Each lesson delivered in the right format to help concepts click

Lessons get the format the subject calls for. A theory chapter is a careful read. A coding lesson is a runnable sandbox. An intuition lesson hands you an interactive UI to play around with.

Reading

Training LLMs · Module 1, Lesson 2

Tokens, embeddings, and attention

When a language model “reads” a sentence, it never sees words. It sees tokens — small, tokenizer-specific chunks of text that may or may not align with word boundaries.

Each token maps to a vector called an embedding. Two tokens with similar meanings end up close together in embedding space, which is half the reason this works at all.

Quiz

Question 1 of 4

Your LoRA fine-tune is running. Which loss curve says it's actually learning?

Loss starts at 8.0 and stays there
Loss drops steadily, then plateaus around 1.2
Loss spikes to 12.0 and the model outputs gibberish

Correct

A clean drop-then-plateau is the canonical “learning is happening” shape. Flat loss means nothing's flowing; spiking loss usually means your learning rate is too high.

lora_finetune.pytests.pyCode
# LoRA fine-tune on a small base
from peft import get_peft_model, LoraConfig
from transformers import AutoModel

base = AutoModel.from_pretrained(
    "Qwen/Qwen2.5-0.5B",
)
config = LoraConfig(r=8, lora_alpha=16)
model = get_peft_model(base, config)

model.print_trainable_parameters()
trainable params: 2.36M · 3 / 3 tests passed
Interactive

Hyperparameter playground

How much LoRA rank do you want?

r = 8Drag to feel the trade-off

Track your daily progress

Every lesson you finish builds towards your learning goals and gives you exciting progress to look back on.

14-day streakLast 18 weeks
LESSMORE

Anything is learnable.

Start learning