Andrej Karpathy właśnie opublikował jeden z najbardziej „niezrównoważonych” repozytoriów, jakie kiedykolwiek napisał — NanoChat.
To system podobny do ChatGPT, stworzony od podstaw, minimalny, ale kompletny, który uczy, jak trenować i uruchamiać własny LLM za mniej niż 100 dolarów.
Zaledwie ~8 k linii czystego kodu, obejmuje wszystko, tokenizer (oparty na Rust), wstępne trenowanie na FineWeb, średnie trenowanie na SmolTalk, SFT na MMLU / GSM8K / HumanEval, opcjonalne RL za pomocą GRPO, efektywne wnioskowanie z pamięcią KV + wstępne wypełnianie/dekodowanie oraz interfejs WebUI w stylu ChatGPT. (1/n)
Podekscytowany, aby zaprezentować nowe repo: nanochat!
(to jedno z najbardziej szalonych, jakie napisałem).
W przeciwieństwie do mojego wcześniejszego podobnego repo nanoGPT, które dotyczyło tylko wstępnego szkolenia, nanochat to minimalny, od podstaw, pełnostackowy pipeline do treningu/wnioskowania prostego klona ChatGPT w jednym, minimalnym kodzie bez zależności. Uruchamiasz chmurę GPU, uruchamiasz jeden skrypt i już po 4 godzinach możesz rozmawiać ze swoim własnym LLM w interfejsie webowym przypominającym ChatGPT.
Zawiera ~8,000 linii moim zdaniem dość czystego kodu, aby:
- Wytrenować tokenizer przy użyciu nowej implementacji w Rust
- Wstępnie wytrenować model Transformer LLM na FineWeb, ocenić wynik CORE w różnych metrykach
- Średnio trenować na rozmowach użytkownik-asystent z SmolTalk, pytania wielokrotnego wyboru, użycie narzędzi.
- SFT, ocenić model czatu na wiedzy ogólnej w pytaniach wielokrotnego wyboru (ARC-E/C, MMLU), matematyce (GSM8K), kodzie (HumanEval)
- RL model opcjonalnie na GSM8K z "GRPO"
- Efektywne wnioskowanie modelu w silniku z pamięcią KV, prostym prefill/decode, użyciem narzędzi (interpreter Pythona w lekkim piaskownicy), rozmawiać z nim przez CLI lub interfejs webowy przypominający ChatGPT.
- Napisać jeden raport w markdown, podsumowując i gamifikując całość.
Nawet za około ~$100 kosztu (~4 godziny na węźle 8XH100), możesz wytrenować małego klona ChatGPT, z którym możesz w pewnym sensie rozmawiać, a który potrafi pisać opowiadania/wiersze, odpowiadać na proste pytania. Około ~12 godzin przewyższa metrykę CORE GPT-2. W miarę dalszego skalowania do ~$1000 (~41.6 godzin treningu), szybko staje się znacznie bardziej spójny i potrafi rozwiązywać proste problemy matematyczne/kodowe i zdawać testy wielokrotnego wyboru. Na przykład model o głębokości 30 wytrenowany przez 24 godziny (to mniej więcej równoważne FLOPs GPT-3 Small 125M i 1/1000 GPT-3) osiąga wyniki w 40s na MMLU i 70s na ARC-Easy, 20s na GSM8K, itd.
Moim celem jest zintegrowanie pełnego "silnego bazowego" stosu w jedną spójną, minimalną, czytelną, hackowalną, maksymalnie forkowalną repo. nanochat będzie projektem zwieńczającym LLM101n (które wciąż jest w fazie rozwoju). Myślę, że ma również potencjał, aby stać się narzędziem badawczym lub benchmarkiem, podobnie jak nanoGPT przed nim. Nie jest to w żadnym wypadku skończone, dostrojone ani zoptymalizowane (właściwie myślę, że prawdopodobnie jest sporo niskowiszących owoców), ale myślę, że jest w miejscu, w którym ogólny szkielet jest wystarczająco dobry, aby mógł trafić na GitHub, gdzie wszystkie jego części mogą być ulepszane.
Link do repo i szczegółowy przewodnik po speedrunie nanochat znajduje się w odpowiedzi.

Możesz uruchomić GPU, uruchomić skrypt i mieć własnego chatbota rozmawiającego w ~4 godziny.
Karpathy mówi, że model za 100 dolarów potrafi już pisać wiersze i opowiadania oraz przewyższa GPT-2 w CORE; model za 1000 dolarów zbliża się do GPT-3 Small 125M FLOPs z wynikami 40 + MMLU i 70 + ARC-Easy.
Celem jest zjednoczona, czytelna, hackowalna repozytorium, które łączy pełną "silną bazową linię": następca nanoGPT i kręgosłup dla jego nadchodzącego kursu LLM101n.
Nawet przy niewielkim budżecie wyniki są zaskakujące.
• Bieg za 100 USD (8×H100, 4 godziny): przewyższa GPT-2 w CORE, potrafi pisać wiersze i opowiadania.
• Bieg za 1000 USD (≈24 godziny, GPT-3 Small 125 M FLOPs, 1/1000 skala):
– MMLU 40 +
– ARC-Easy 70 +
– GSM8K 20 +
to prawdziwy mini-pipeline na poziomie badawczym.
Kiedy ktoś zapytał, czy NanoChat można wykorzystać do trenowania osobistego LLM (na notatkach z Notion, danych zdrowotnych itp.), Karpathy ostudził ten pomysł:
„To nie jest dobry repozytorium do tego… Pomyśl o tych mikro-modelach jak o bardzo małych dzieciach; brakuje im surowej inteligencji ich większych kuzynów.”
Jeśli dostosujesz je do danych osobistych, możesz uzyskać „urocze papugowanie”, które imituje twój styl pisania, ale wciąż będzie to bałagan. 🪿
Dlaczego personalizacja jest trudna
Aby zbudować naprawdę spersonalizowany model, musisz:
• Przygotować wysokiej jakości dane bazowe
• Wygenerować mnóstwo syntetycznych danych (skomplikowanych + zróżnicowanych)
• Dostosować na silnym otwartym LLM (np. Tinker)
• Możliwe, że wymieszać z dużymi danymi z pre-treningu, aby zachować ogólną inteligencję
To wciąż teren badań, a nie projekt na weekend.
Szerszy obraz
Karpathy postrzega NanoChat jako nowego nanoGPT—
minimalny, ale kompletny framework, który może stać się standardową bazą dla badań LLM, współpracy społeczności i edukacji.
Obecnie nie jest w pełni zoptymalizowany, ale architektura jest solidna—gotowa na to, aby współtwórcy z GitHub pchali ją naprzód, moduł po module.
4,63 tys.
15
Treści na tej stronie są dostarczane przez strony trzecie. O ile nie zaznaczono inaczej, OKX nie jest autorem cytowanych artykułów i nie rości sobie żadnych praw autorskich do tych materiałów. Treść jest dostarczana wyłącznie w celach informacyjnych i nie reprezentuje poglądów OKX. Nie mają one na celu jakiejkolwiek rekomendacji i nie powinny być traktowane jako porada inwestycyjna lub zachęta do zakupu lub sprzedaży aktywów cyfrowych. Treści, w zakresie w jakim jest wykorzystywana generatywna sztuczna inteligencja do dostarczania podsumowań lub innych informacji, mogą być niedokładne lub niespójne. Przeczytaj podlinkowany artykuł, aby uzyskać więcej szczegółów i informacji. OKX nie ponosi odpowiedzialności za treści hostowane na stronach osób trzecich. Posiadanie aktywów cyfrowych, w tym stablecoinów i NFT, wiąże się z wysokim stopniem ryzyka i może podlegać znacznym wahaniom. Musisz dokładnie rozważyć, czy handel lub posiadanie aktywów cyfrowych jest dla Ciebie odpowiednie w świetle Twojej sytuacji finansowej.