Karpathy zbudował GPT w 243 linijkach. Bez bibliotek, bez magii

Andrej Karpathy właśnie pokazał, że nie potrzebujesz tysięcy linii kodu ani potężnych bibliotek, żeby zbudować działający transformer. Wystarczy 243 linijki czystego Pythona. I to właśnie robi jego microGPT.

Projekt to nie kolejne narzędzie produkcyjne. To coś lepszego – edukacyjny mikroskop pozwalający zajrzeć pod maskę technologii, która napędza ChatGPT, Claude'a i resztę. Bez frameworków. Bez zależności. Sama matematyka.

Dlaczego to ma znaczenie

Większość ludzi traktuje GPT jak czarną skrzynkę. Wpisujesz prompt, dostajesz odpowiedź. Magia. Ale pod spodem nie ma magii – jest matematyka, którą da się zapisać na kilku ekranach kodu.

Karpathy, były dyrektor AI w Tesli i współzałożyciel OpenAI, od lat robi jedno: tłumaczy skomplikowane rzeczy prostym językiem. Jego wykłady na YouTube oglądają miliony. Teraz poszedł krok dalej. Zamiast mówić "tak to działa", pokazał kod, który możesz uruchomić na swoim laptopie.

MicroGPT to implementacja transformera – architektury, która zrewolucjonizowała AI. Transformer to w uproszczeniu mechanizm uwagi: model uczy się, które słowa w zdaniu są dla siebie ważne. Jak czytasz "Bank rzeki był stromy", wiesz, że "bank" odnosi się do brzegu, nie instytucji finansowej. Transformer robi to samo, ale matematycznie.

Problem? Standardowe implementacje mają dziesiątki tysięcy linii kodu. PyTorch, TensorFlow, CUDA – warstwy abstrakcji, które ukrywają istotę. microGPT to odwrotność. Zero zależności. Importujesz tylko NumPy – bibliotekę do operacji na macierzach. Resztę piszesz sam.

Co jest w środku

243 linijki to nie dużo. Dla porównania: przeciętna strona internetowa ma więcej JavaScriptu. Ale w tym kodzie mieści się cała istota GPT.

Najpierw embeddingi – sposób, w jaki słowa zamieniają się w liczby. Model nie rozumie tekstu. Rozumie wektory. "Kot" to może być [0.2, -0.5, 0.8...] – 768 liczb opisujących znaczenie słowa. Podobne słowa mają podobne wektory. "Pies" będzie blisko "kota", daleko od "samochodu".

Potem mechanizm uwagi – serce transformera. Każde słowo "patrzy" na inne słowa i decyduje, które są ważne. W zdaniu "Maria dała Ani książkę, bo ona lubiła czytać" – "ona" odnosi się do "Ani", nie "Marii". Mechanizm uwagi to wyłapuje, obliczając podobieństwa między wektorami.

Dalej warstwy feed-forward – zwykłe sieci neuronowe przetwarzające każde słowo osobno. I normalizacja – stabilizacja obliczeń, żeby model się nie rozjeżdżał. To wszystko powtarza się kilka razy (w microGPT prawdopodobnie 2-4 warstwy). Każda iteracja wyłapuje coraz subtelniejsze wzorce.

Na końcu głowica predykcyjna – warstwa, która z wektora robi prawdopodobieństwa słów. Model widzi "Kot siedzi na", oblicza, że "macie" ma 60% prawdopodobieństwa, "drzewie" 25%, "krześle" 10%. I wybiera.

Czego się nauczysz, grzebiąc w kodzie

MicroGPT to nie gotowy produkt. To warsztat. Uruchamiasz, patrzysz, jak dane przepływają przez warstwy. Zmieniasz parametr, widzisz, co się psuje. Uczysz się przez eksperymenty.

Pierwszy insight: transformery to mnożenie macierzy. Dużo mnożenia macierzy. Każda operacja to setki tysięcy mnożeń. Dlatego GPU są kluczowe – potrafią mnożyć macierze równolegle, tysiące operacji na raz. Procesor musiałby robić to po kolei.

Drugi: attention to softmax nad iloczynem skalarnym. To tylko sposób na obliczenie, jak bardzo dwa wektory są podobne. Bierzesz wektor słowa "kot", mnożysz przez wektory wszystkich innych słów, dostajesz liczby. Softmax zamienia je w prawdopodobieństwa sumujące się do 1. I masz wagę uwagi.

Trzeci: pozycyjne kodowanie. Transformer nie wie, w jakiej kolejności są słowa. "Kot goni psa" i "Pies goni kota" to dla niego to samo – te same słowa, te same wektory. Dlatego dodajesz pozycje ręcznie: do każdego wektora słowa doklejasz wektor pozycji. Teraz model wie, że "kot" jest pierwszy, "goni" drugi.

Czwarty: autoregresja. Model generuje słowo po słowie. Widzi "Kot siedzi", przewiduje "na". Potem widzi "Kot siedzi na", przewiduje "macie". Każde słowo zależy od poprzednich. Dlatego błąd się kumuluje – jeśli model pomyli się raz, kolejne słowa mogą być bez sensu.

Dla kogo to jest

Nie dla każdego. Jeśli nie znasz Pythona, microGPT cię przytłoczy. Ale jeśli programujesz choć trochę i chcesz zrozumieć AI od środka – to idealne narzędzie.

Studenci informatyki używają tego do nauki. Zamiast slajdów z teorią, mają działający kod. Widzą, jak teoria przekłada się na praktykę. Jak równania z papieru zamieniają się w numpy.dot().

Inżynierowie ML grzebią w tym, żeby odświeżyć podstawy. Jak pracujesz z PyTorchem, łatwo zapomnieć, co się dzieje pod spodem. microGPT przypomina: to nie magia, to matematyka. I możesz ją kontrolować.

Nauczyciele używają tego na zajęciach. Zamiast abstrakcyjnych wykładów, pokazują kod. "Patrzcie, to jest attention. Tutaj liczymy podobieństwa. Tutaj normalizujemy. Uruchommy, zobaczmy wynik". Konkret zamiast teorii.

Nawet osoby nietechniczne mogą z tego skorzystać – pośrednio. Jeśli znasz kogoś, kto rozumie kod, poproś o wyjaśnienie. Zobaczysz, że GPT to nie czarna skrzynka. To system reguł, który da się zrozumieć.

Ograniczenia, o których trzeba wiedzieć

MicroGPT nie zastąpi ChatGPT. To zabawka edukacyjna, nie narzędzie produkcyjne. Działa wolno – brak optymalizacji, brak GPU. Generuje kiepski tekst – model jest malutki, dane treningowe minimalne.

Ale o to chodzi. Gdyby działał idealnie, nie nauczyłbyś się niczego. Uczysz się, debugując. Dlaczego model generuje bzdury? Bo za mało danych. Dlaczego jest wolny? Bo brak optymalizacji. Każdy problem to lekcja.

Karpathy celowo pominął rzeczy, które komplikują kod. Brak dropout (technika zapobiegająca przeuczeniu). Brak skomplikowanych schematów uczenia. Brak wielogłowicowej uwagi (choć to podstawa w GPT). Zostało tylko to, co konieczne.

To jak nauka jazdy na prostym rowerze. Nie masz 21 biegów, amortyzatorów, komputera pokładowego. Ale uczysz się równowagi, kierowania, hamowania. Podstawy, które działają wszędzie.

Co to zmienia w edukacji AI

Dostęp do wiedzy o AI był zawsze nierówny. Kursy online uczą API – jak używać gotowych modeli. Uniwersytety uczą teorii – równania, dowody, abstrakcja. Ale most między teorią a praktyką? Rzadkość.

MicroGPT to ten most. Widzisz równanie attention w podręczniku, widzisz implementację w kodzie. Łączysz kropki. Rozumiesz, że softmax to nie abstrakcja, tylko trzy linijki: eksponenta, suma, dzielenie.

Karpathy robi to, co powinno być normą: demokratyzuje wiedzę. Nie mówi "zaufaj mi, tak to działa". Pokazuje kod. Możesz go uruchomić, zmodyfikować, zepsuć, naprawić. Uczysz się przez dotyk, nie przez słuchanie.

To trend, który się nasila. Open source wygrywa z zamkniętymi systemami. Ludzie chcą rozumieć, nie tylko używać. Chcą wiedzieć, jak działa narzędzie, któremu powierzają pracę.

Jak zacząć

Projekt jest na GitHubie. Pobierasz, instalujesz Python i NumPy, uruchamiasz. Jeśli masz podstawy programowania, pierwsza sesja zajmie godzinę. Jeśli nie – znajdź kogoś, kto pomoże.

Zacznij od czytania kodu. Nie próbuj zrozumieć wszystkiego od razu. Idź linia po linii. Szukaj komentarzy – Karpathy dopisuje wyjaśnienia. Googluj terminy, których nie znasz. "Co to jest softmax?" "Jak działa numpy.einsum?"

Potem eksperymentuj. Zmień liczbę warstw – co się stanie? Zmień rozmiar embeddingów – model będzie lepszy czy gorszy? Usuń normalizację – czy model się rozjedzie? Każdy eksperyment to nauka.

Nie spiesz się. To nie jest tutorial na 30 minut. To materiał na tygodnie. Ale jak przebrniesz, zrozumiesz transformery lepiej niż 99% ludzi piszących o AI.

Dlaczego Karpathy to zrobił

Bo mógł. I bo uważa, że edukacja w AI jest zepsuta. Za dużo marketingu, za mało substancji. Za dużo "AI zrobi wszystko", za mało "tak AI działa".

Jego filozofia: jeśli nie potrafisz czegoś zbudować od zera, nie rozumiesz tego. Możesz używać PyTorcha, fine-tunować modele, dostawać świetne wyniki. Ale czy rozumiesz, co się dzieje w środku? microGPT zmusza cię do odpowiedzi.

To też manifest przeciw czarnym skrzynkom. Firmy chcą, żebyś używał ich API i nie pytał, jak to działa. Karpathy mówi: pytaj. Grzeb. Buduj. Tylko wtedy naprawdę zrozumiesz.

I to działa. Tysiące ludzi już pobrało microGPT. Uczą się, eksperymentują, dzielą się odkryciami. Powstają tutoriale, wyjaśnienia, rozszerzenia. Społeczność wokół 243 linijek kodu.

Co dalej

MicroGPT to początek, nie koniec. Karpathy zapowiedział kolejne projekty – minimalistyczne implementacje innych architektur. Może diffusion models (jak Stable Diffusion)? Może reinforcement learning (jak AlphaGo)?

Ale nawet jeśli nie, microGPT już zmienił coś ważnego. Pokazał, że AI nie musi być niedostępne. Że da się uczyć przez praktykę, nie tylko teorię. Że 243 linijki mogą być potężniejsze niż tysiące slajdów.

Jeśli chcesz naprawdę zrozumieć, jak działa GPT – nie czytaj o tym. Zbuduj to. microGPT pokazuje jak.

Źródła

Analytics Vidhya - How Andrej Karpathy Built a Working Transformer