Skip to Content
🌐 EestiAvaleht

microGPT 3D

🌐 English · Русский · Eesti

ChatGPT-l on umbes triljon parameetrit ja ta töötab andmekeskuses. Selle õpiku mudel on täpselt sama liiki masin — päris GPT, päris tähelepanu (attention), päris gradientide ja päris treenimisega — kahandatuna nii väikeseks, et kogu asi mahub ära ~150 tavalise Pythoni rea sisse ja jookseb otse siinsamas brauserivahekaardis. Piisavalt väike, et midagi ei pea vahele jätma, käega lehvitama ega lihtsalt uskuma jääma: iga arv, mida 3D-stseenides näed, on päriselt välja arvutatud, ja viimase õppetunni lõpuks oled näinud lähtekoodi iga rida oma tööd tegemas.

See on interaktiivne, brauseris jooksev 3D-õpik Andrej Karpathy ~150-realisele microGPT-le  — täielik ainult-dekoodriga transformer (decoder-only transformer), kirjutatud puhtas Pythonis, ilma ühegi teegita.

loading interactive scene…

Need neli algkuju — TokenCubes, NodeBlocks, ConnectorArrows ja MatrixGrid — ongi kogu visuaalne sõnavara, milles iga õppetund räägib. Mudel on piisavalt väike, et joosta tervenisti sinu brauseris: TypeScripti port toob kaasa ~89 KB treenitud kaale ja arvutab iga logiti, mida 3D-stseenides näed, reaalajas, ilma ühegi serverita.

Mis on sees

Iga õppetund järgib sama ülesehitust: lühike teooriaosa, kommenteeritud Pythoni-lõik, millest jutt käib, ja interaktiivne 3D-liivakast, mida saad ise torkida. Liivakastid kohanduvad teemaga (soe hele / küber-tume) ning neid saab ajajoone liuguriga peatada ja kerida.

  • 01 · Ülevaade — kogu tsükkel kolmekümne sekundiga: tähemärgid sisse, tõenäosus iga võimaliku järgmise tähemärgi kohta välja. Edasisuund, kadu ja valimine kolme režiimina, mida saad ise juhtida.
  • 02 · Autograd — Karpathy 25-realine Value-klass pööratava DAG-ina. Trüki suvaline avaldis, lohista muutujaid, mängi maha edasi- ja tagasisuunalised impulsid. Just nii .backward() töötabki.
  • 03 · Tähelepanu — üks pea, üks päring: q·kᵀ/√d → põhjuslik mask → softmax → kaalutud väärtused. Klõpsa skoorilahtril, et näha selle skalaarkorrutist.
  • 04 · Transformeri plokk — funktsioon gpt() ise: vektoresitus → RMSNorm → tähelepanu → jääkühendus → MLP → jääkühendus → logitid. Klõpsa suvalisel moodulil, et näha selle sisendi/väljundi kujusid ja täpset Pythoni-koodi.
  • 05 · Treenimine ja genereerimine — faili ülejäänud osa: vaata, kuidas nimi sünnib tähthaaval koos elava temperatuuriliuguriga, ja näe ühte päris gradiendi ja Adam-uuenduse arvutust (edasisuund → kadu → tagasilevi → optimeerija).

Kuidas seda lugeda

Mõistlik tee on otse läbi 01 → 05, aga iga õppetund seisab ka omal jalal:

  • Astud alles esimesi samme tehisintellekti maailmas või pole lineaaralgebra ja matemaatilise analüüsiga kunagi kokku puutunud? Alusta lehelt 00 · Alusmõisted — viis ideed, millest kõik muu on ehitatud, lihtsas keeles. Hoia Sõnastik kõrval vahekaardil lahti.
  • Transformerid on sulle uued? Alusta 01-st, et näha tsüklit linnulennult, ja jätka 04-ga, kus edasisuund on otsast lõpuni kokku traageldatud.
  • Tahad tähelepanu matemaatikat? Hüppa otse 03-le.
  • Oled imestanud, kuidas .backward() tegelikult töötab? 02 on lühim tee — ja 05 näitab, kuidas seesama gradient käivitab päris Adam-uuenduse arvutuse.
  • Huvitab, kuidas mudel õpib ja siis uhiuusi nimesid pursata hakkab? 05.

Pärast V1

Kood, Blenderi skriptid, mis genereerisid iga .glb-faili, ja teostusplaanid elavad repos . README-s on arenduskeskkonna seadistus. Need viis õppetundi katavad kogu treenimise, edasisuuna ja genereerimise algoritmi; tulevased tööd (mitmekihilised konfiguratsioonid, treenimine otse brauseris) on kirjas spetsifikatsioonis.

Last updated on