Trendande ämnen
#
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.
Glada över att släppa ett nytt repo: nanochat!
(det är bland det mest rubbade jag har skrivit).
Till skillnad från mitt tidigare liknande repo nanoGPT som endast täckte förträning, är nanochat en minimal, från grunden, fullstack tränings-/inferenspipeline av en enkel ChatGPT-klon i en enda, beroende-minimal kodbas. Du startar upp en moln GPU-box, kör ett enda skript och på så lite som 4 timmar senare kan du prata med din egen LLM i ett ChatGPT-liknande webbgränssnitt.
Den väger ~ 8 000 rader av imo ganska ren kod till:
- Träna tokeniseraren med hjälp av en ny Rust-implementering
- Förträna en Transformer LLM på FineWeb, utvärdera CORE-poäng över ett antal mätvärden
- Midtrain om användar-assistent-konversationer från SmolTalk, flervalsfrågor, verktygsanvändning.
- SFT, utvärdera chattmodellen på flervalsfrågor i världskunskap (ARC-E/C, MMLU), matematik (GSM8K), kod (HumanEval)
- RL modellen valfritt på GSM8K med "GRPO"
- Effektiv inferens av modellen i en motor med KV-cache, enkel förifyllning/avkodning, verktygsanvändning (Python-tolk i en lättviktig sandlåda), prata med den över CLI eller ChatGPT-liknande WebUI.
- Skriv ett enda rapportkort för prisnedsättning, sammanfatta och spelifiera det hela.
Även för så lågt som ~$100 i kostnad (~4 timmar på en 8XH100-nod) kan du träna en liten ChatGPT-klon som du kan prata med, och som kan skriva berättelser/dikter, svara på enkla frågor. Cirka ~12 timmar överträffar GPT-2 CORE-måttet. När du skalar upp ytterligare mot ~$1000 (~41,6 timmars utbildning) blir den snabbt mycket mer sammanhängande och kan lösa enkla matematiska / kodproblem och göra flervalstester. T.ex. en djup 30-modell som tränats i 24 timmar (detta är ungefär lika med FLOPs av GPT-3 Small 125M och 1/1000-del av GPT-3) kommer in i 40-tal på MMLU och 70-tal på ARC-Easy, 20-tal på GSM8K, etc.
Mitt mål är att få hela stacken "stark baslinje" till en sammanhängande, minimal, läsbar, hackbar, maximalt förgrenbar lagringsplats. nanochat kommer att vara slutstensprojektet för LLM101n (som fortfarande är under utveckling). Jag tror att det också har potential att växa till en forskningssele, eller ett riktmärke, liknande nanoGPT före det. Det är inte på något sätt färdigt, finjusterat eller optimerat (jag tror faktiskt att det finns en hel del lågt hängande frukt), men jag tror att det är på en plats där det övergripande skelettet är tillräckligt ok för att det kan gå upp på GitHub där alla delar av det kan förbättras.
Länk till repo och en detaljerad genomgång av nanochat speedrun finns i svaret.

GitHub-lagringsplats:
En mycket mer detaljerad och teknisk genomgång:
Exempel på konversation med $100, 4-timmars nanochat i WebUI. Det är... Underhållande :) Större modeller (t.ex. en 12-timmars djup 26 eller en 24-timmars djup 30) blir snabbt mer sammanhängande.

Och ett exempel på några av de sammanfattande mätvärdena som produceras av $100 speedrun i rapportkortet till att börja med. Den nuvarande kodbasen är en bit över 8000 rader, men jag försökte hålla dem rena och väl kommenterade.
Nu kommer den roliga delen - med trimning och backklättring.

1,57M
Topp
Rankning
Favoriter