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.
Pokaż oryginał
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.