---
title: "Cerbeto: mały mózg, który chodzi do szkoły"
url: https://michalasobczak.pl/pl/posts/cerbeto-a-little-brain-that-goes-to-school.html
author: "Michał Sobczak"
description: "Cerbeto to mała sieć neuronowa trenowana od losowych wag. Uczy się angielskiego i rozumowania tak, jak dziecko przechodzi przez szkołę, a uczy ją lokalny LLM. To także projekt referencyjny metodyki Rondo."
published: 2026-10-31T18:00:00.000Z
updated: 2026-10-31T18:00:00.000Z
language: pl
categories: ["AI/ML"]
tags: ["AI/ML", "LLM", "Ollama", "Architecture & Process"]
license: CC BY-NC-ND 4.0 (https://creativecommons.org/licenses/by-nc-nd/4.0/)
---
# Cerbeto: mały mózg, który chodzi do szkoły

> **Zastrzeżenie:** ten artykuł powstał z pomocą AI. Cerbeto to prawdziwy projekt, nad którym aktywnie pracuję. Liczby poniżej opisują jego stan na 31 października 2026.

[Cerbeto](https://github.com/michalasobczak/cerbeto) (esperanto: *cerbo*, „mózg”, plus zdrobnienie *\-et-*, czyli „móżdżek”) to moja próba zbudowania małego modelu językowego całkowicie od zera, a potem wychowania go, a nie tylko wytrenowania. Sieć-uczeń startuje z około 8 milionami parametrów, losowo zainicjalizowanymi wagami, własnym tokenizerem i własną architekturą. Żaden gotowy model nie służy za bazę. Ma się nauczyć angielskiego i prostego rozumowania tak, jak dziecko przechodzi przez szkołę: żłobek, przedszkole, pierwsza klasa, druga klasa. Po drodze rośnie, aż do twardego limitu 30 milionów parametrów.

Metaforę szkoły traktuję dosłownie. W żłobku uczeń czyta „szkolną bibliotekę” złożoną z gotowych korpusów dla dzieci (BabyLM, TinyStories, Simple English Wikipedia i fragment FineWeb-Edu przefiltrowany do poziomu wczesnych klas). Sam etap 0 to około 628 milionów tokenów. Potem zaczynają się lekcje. Duży LLM uruchomiony lokalnie w Ollamie pełni rolę wychowawcy: zadaje pytania, tłumaczy błędy i podnosi poziom trudności. Każda doba ma swój rytm. W **dzień** uczeń bierze udział w lekcjach, a jego doświadczenia trafiają do szybkiej pamięci, „hipokampu”. W czasie **snu** są konsolidowane w wagach, z powtórką starszego materiału i konsolidacją synaptyczną (EWC), która ogranicza zapominanie. Potem przychodzi **egzamin**. Nowa wersja ucznia jest promowana tylko wtedy, gdy go zda; w przeciwnym razie system automatycznie wraca do poprzedniej. Każda zmiana wag tworzy niezmienną, odtwarzalną wersję.

Kilka zasad pilnuje uczciwości eksperymentu. Prawda pochodzi z kodu, a nie z LLM. Zadania na lekcjach tworzą generatory, które znają poprawną odpowiedź. Wyjaśnienia nauczyciela trafiają do danych treningowych dopiero po sprawdzeniu ich zgodności z tą odpowiedzią. Egzaminy generuję z zarezerwowanych ziaren i nigdy nie trafiają one ani do nauczyciela, ani do zbioru treningowego. Mają trzy warianty: znane typy zadań, zadania trudniejsze niż w treningu i nowe kombinacje. Celem MVP jest mierzalna poprawa na tych **nowych** zadaniach po automatycznych cyklach nauki, przy zapominaniu wcześniejszych umiejętności nie większym niż 2 punkty procentowe. Uczeń kontrolny, od pierwszego dnia o stałym rozmiarze 30M, przechodzi przez tę samą szkołę. Pokaże, czy wzrost sieci rzeczywiście pomaga. Mechanizmy „biologiczne” (wzrost, przycinanie, sen, odnawianie neuronów) modeluję na poziomie systemu. Każdy z nich musi mieć odpowiednik w znanej technice z literatury ML i własną metrykę.

Wszystko działa lokalnie i offline. Mózg to Python z PyTorchem na GPU Apple przez MPS. Maszyną referencyjną jest MacBook Pro M1 Pro z 32 GB pamięci. Obliczenia idą w fp32 lub fp16, bo M1 nie ma sprzętowego bf16. Panel w Ruby on Rails 8 pozwoli konfigurować nauczycieli, oglądać lekcje na żywo, porównywać i cofać wersje oraz rozmawiać z uczniem, żeby samemu go poprawiać. Żłobek odbywa się raz, centralnie. Potem planuję pakiet, dzięki któremu każdy będzie mógł dalej wychowywać własną, niezależną kopię na laptopie z 16 GB RAM, bez internetu i bez rachunków za API. Na razie dostarczona jest specyfikacja 0001. Biblioteka jest podzielona na półki według poziomu trudności, a uczeń ma własny bajtowy tokenizer BPE z 8192 tokenami (1,24 tokena na słowo na TinyStories), pokryty 27 testami. Następna jest architektura ucznia: transformer z rekurencyjnym rdzeniem do „myślenia w pętli” oraz operatory, które go powiększają i przycinają.

Cerbeto ma też drugą rolę. To publiczny projekt referencyjny dla [Rondo](https://workwithrondo.com), metodyki, którą opisuję w artykule [Rondo with Context Driven Development](https://michalasobczak.pl/pl/posts/rondo-with-context-driven-development-building-software-with-ai-as-a-team.html). Repozytorium jest prowadzone w duchu CDD. README opisuje wyłącznie „tu i teraz”: domenę, architekturę i ścieżkę krytyczną. Każda zmiana zaczyna się jako numerowana specyfikacja w `specs/` z dziewięcioma sekcjami Rondo, od TL;DR po bramki kontrolne. `CHANGELOG.md` zapisuje to, co faktycznie dostarczono, a dowodem są testy wyprowadzone z bramek każdej specyfikacji. Manifest inżynierski ustala zasady, których musi przestrzegać każda specyfikacja. Jeśli chcesz zobaczyć, jak Rondo wygląda w prawdziwym, nietrywialnym projekcie, a nie na slajdzie, to właśnie tutaj. Kolejne wpisy napiszę, gdy uczeń przejdzie ze żłobka do pierwszych egzaminów.
