Populære emner
#
Bonk Eco continues to show strength amid $USELESS rally
#
Pump.fun to raise $1B token sale, traders speculating on airdrop
#
Boop.Fun leading the way with a new launchpad on Solana.
Gleder meg til å gi ut nytt repo: nanochat!
(det er blant de mest uhengslede jeg har skrevet).
I motsetning til min tidligere lignende repo nanoGPT som bare dekket forhåndstrening, er nanochat en minimal, fra bunnen av, fullstack trenings-/inferenspipeline av en enkel ChatGPT-klone i en enkelt, avhengighetsminimal kodebase. Du starter opp en sky-GPU-boks, kjører et enkelt skript og på så lite som 4 timer senere kan du snakke med din egen LLM i et ChatGPT-lignende nettgrensesnitt.
Den veier ~8,000 linjer med imo ganske ren kode til:
- Tren tokenizeren ved hjelp av en ny Rust-implementering
- Pretrene en Transformer LLM på FineWeb, evaluere CORE-score på tvers av en rekke beregninger
- Midttren på brukerassistentsamtaler fra SmolTalk, flervalgsspørsmål, verktøybruk.
- SFT, evaluere chat-modellen på verdenskunnskap multiple choice (ARC-E/C, MMLU), matematikk (GSM8K), kode (HumanEval)
- RL modellen valgfritt på GSM8K med "GRPO"
- Effektiv slutning av modellen i en motor med KV-cache, enkel forhåndsutfylling/dekoding, verktøybruk (Python-tolk i en lett sandkasse), snakk med den over CLI eller ChatGPT-lignende WebUI.
- Skriv et enkelt markdown-rapportkort, oppsummerer og spillifiserer det hele.
Selv for så lite som ~$100 i kostnad (~4 timer på en 8XH100-node), kan du trene en liten ChatGPT-klone som du på en måte kan snakke med, og som kan skrive historier/dikt, svare på enkle spørsmål. Omtrent ~12 timer overgår GPT-2 CORE-beregningen. Etter hvert som du skalerer opp mot ~$1000 (~41.6 timer med opplæring), blir den raskt mye mer sammenhengende og kan løse enkle matematiske/kodeproblemer og ta flervalgstester. F.eks. en dybde 30-modell trent i 24 timer (dette er omtrent lik FLOP-er av GPT-3 Small 125M og 1/1000 av GPT-3) kommer inn i 40-tallet på MMLU og 70-tallet på ARC-Easy, 20-tallet på GSM8K, etc.
Målet mitt er å få hele "sterk grunnlinje"-stabelen i ett sammenhengende, minimalt, lesbart, hackbart, maksimalt forgrenbart repo. nanochat vil være hjørnesteinsprosjektet til LLM101n (som fortsatt er under utvikling). Jeg tror det også har potensial til å vokse til en forskningssele, eller en målestokk, som ligner på nanoGPT før den. Den er på ingen måte ferdig, innstilt eller optimalisert (faktisk tror jeg det sannsynligvis er ganske mye lavthengende frukt), men jeg tror det er på et sted hvor det generelle skjelettet er ok nok til at det kan gå opp på GitHub hvor alle delene av det kan forbedres.
Link til repo og en detaljert gjennomgang av nanochat speedrun er i svaret.

GitHub-repositorium:
Mye mer detaljert og teknisk gjennomgang:
Eksempel på samtale med $100, 4-timers nanochat i WebUI. Det er... underholdende :) Større modeller (f.eks. en 12-timers dybde 26 eller en 24-timers dybde 30) blir raskt mer sammenhengende.

Og et eksempel på noen av sammendragsberegningene produsert av $100 speedrun i rapportkortet til å begynne med. Den nåværende kodebasen er litt over 8000 linjer, men jeg prøvde å holde dem rene og godt kommentert.
Nå kommer den morsomme delen - tuning og bakkeklatring.

2,4M
Topp
Rangering
Favoritter