autoresearch – autonomní ML experiment loop
autoresearch je open-source framework od Andreje Karpathyho, který umožňuje AI agentovi autonomně provádět stovky ML experimentů přes noc. Agent opakovaně upravuje trénovací kód, spouští krátké experimenty a měří výsledky – bez zásahu člověka.
Jak to funguje
Celý cyklus je přímočarý:
- Agent si přečte instrukce v
program.md - Navrhne změnu v
train.py– architekturu, hyperparametry, optimizer - Spustí trénink (přesně 5 minut na hodinách)
- Změří výsledek (metrika
val_bpb) - Pokud je výsledek lepší, změnu ponechá; pokud horší, zahodí
- Cyklus se opakuje
Za noc tak proběhne přibližně 100 experimentů. Člověk nastaví pravidla hry v program.md, agent dělá experimenty sám.
Klíčové soubory
prepare.py – jednosměrná příprava dat. Stáhne trénovací data a natrénuje BPE tokenizer. Tento soubor člověk ani agent neupravuje.
train.py – jediný soubor, který agent edituje. Obsahuje architekturu GPT-like modelu, optimizer (Muon + AdamW) a celý trénovací loop. Agent může měnit cokoliv: hloubku modelu, batch size, attention pattern, regularizaci, scheduling.
program.md – instrukce pro agenta. Tento soubor edituje člověk – zde se nastavuje výzkumný směr, omezení a cíle experimentů.
Instalace
Potřebuješ NVIDIA GPU (projekt je testovaný na H100) a Python 3.10+.
curl -LsSf https://astral.sh/uv/install.sh | sh uv sync uv run prepare.py # stáhne data a tokenizer, jednorázově (~2 minuty) uv run train.py # spustí jeden 5minutový experiment ručně
Komunita vytvořila forky i pro macOS, Windows a AMD GPU s upravenými hyperparametry pro menší compute.
Metrika: val_bpb
Všechny experimenty se porovnávají podle jedné metriky – validation bits per byte (val_bpb). Čím nižší číslo, tím lepší model. Fixní časový rozpočet 5 minut zajistí, že všechny pokusy jsou přímo srovnatelné a výsledek je optimalizovaný pro konkrétní hardware, na kterém experimenty běží.
Co obsahuje – a co ne
Repo obsahuje:
- architekturu malého GPT-like modelu (transformer decoder)
- trénovací pipeline s optimizery Muon + AdamW
- skript pro přípravu dat a tokenizer
Repo neobsahuje:
- natrénované váhy ani hotový model ke stažení
- velký foundation model
- nástroje pro fine-tuning open-weight modelů (Llama, Mistral apod.)
Při spuštění se model inicializuje s náhodnými vahami a trénuje se od nuly. Pro použití s open-weight modely by bylo potřeba upravit experiment loop a metriku.
Typické use cases
- Automatické noční ladění malého LLM na konkrétním GPU
- Hledání optimálních hyperparametrů (learning rate, batch size, scheduler)
- Testování různých architektur (hloubka, šířka, attention pattern)
- Sandbox pro pochopení agentic coding nad měřitelným cílem
- Prototyp vlastního autonomního experiment loopu
Limity
- Vyžaduje NVIDIA GPU; standardní repo není připravené na CPU ani AMD
- Výsledky jsou vázané na konkrétní hardware – přenositelnost není zaručena
- Hrozí přeladění na validační metriku (overfitting na
val_bpb) - Agent může generovat slepé nebo nefunkční pokusy, které trénink rozbijí
- Není to hotový produkční model ani univerzální AutoML framework
- Není vhodné pro ladění hosted API modelů (OpenAI, Claude) – ty nemají přístupný trénovací kód