Lorem Ipsumi generaatori labor

Uuri deterministlikku lorem-teksti genereerimist, infoteooria mõõdikuid (entroopia/temperatuur) ning seda, kuidas Markovi kontekstiahelad on tänapäeva suurte keelemudelite (LLM-ide) otsesed eelkäijad.

Interaktiivse simulatsiooni laadimine...

Sinu entroopialiugur on LLM-i temperatuuriketas 🖖

Markovi ahel on tänapäeva suurte keelemudelite (LLM-ide) otsene matemaatiline eelkäija. Mõlemad töötavad täpselt sama autoregressiivse järgmise tokeni ennustamise tsükli järgi. Generaator vaatab eelnevaid N sõna (kontekstiaken) ja valib järgmise sõna tõenäosusjaotusest. Kui Markovi ahel lihtsalt otsib väikesest korpusest täpselt sobivaid fraase, siis LLM kasutab miljardeid parameetreid (tähelepanukihte), et hinnata konteksti ja arvutada tõenäosusi. Lisaks vastab siin seatud sihtentroopia otseselt LLM-i API-de temperatuuri parameetrile: kõrgem entroopia loob loomingulist ja mitmekesist teksti (kõrge temperatuur), madalam entroopia aga korduvat ja etteaimatavat teksti (madal temperatuur).

Miks mõttetu tekst annab parema küljenduse 🖖

Täitetekst on olemas selleks, et saaksid hinnata küljendust — vahesid, kirjasuurust, reavahetusi — ilma et sõnade tegelik sisu tähelepanu hajutaks. Päris tekst ahvatleb ülevaatajaid lauseid ümber kirjutama, enne kui kujundus on üldse paigas. See labor läheb sammu kaugemale: entroopia ja Zipfi näitajad võimaldavad kontrollida, kas su täitetekst jäljendab tõelise keele sõnasagedust, nii et lõigud murduvad samamoodi nagu lõplik sisu.

Lorem ipsum on moonutatud Cicero 🖖

„Lorem ipsum“ pole väljamõeldud mõttetus — see on segi paisatud ladina keel Cicero eetikatraktaadist De finibus bonorum et malorum, mis on kirjutatud 45 eKr. See algab isegi keset sõna: Lorem on sõna dolorem („valu“) saba, millel on esimene silp maha lõigatud. Nii on veebi vaiketäitetekst 2000 aasta vanune mõtisklus naudingust ja valust, mille varajased trükkalid moonutasid kirjanäidiseks — ja Markovi režiim laseb sul uuesti segada seda, mille nemad kunagi käsitsi segasid.

Ülesanne täielikult lahendatud

  1. 180 sõna juures on sihtmäärgist kõrvalekalle 0,453 7 sammu

    Klassikaline režiim, 180 sõna, seeme spock, sihtentropoopia 6,2. Paneel mõõdab 5,747 bitti sõna kohta ja teatab sihi lahknevuseks 0,453. Arvutage, kui palju sellest lõhest saaks generaator üldse kunagi sulgeda ja kui palju sellest on olemas vaid seetõttu, et loendasite 180 sõna, mitte miljonit.

    1. Klassikaline režiim valib iga sõna sõltumatult ja ühtlaselt allikkorpuse erinevate sõnade hulgast. See korpus on 69 sõna pikk ja neist 63 on erinevad, seega on iga tõmme üks võimalus 63-st, mida jälitus kuvab kui 1,6%.

    2. Ühtlane tõmme on fikseeritud tähestiku puhul kõige ettearvamatum tõmme, seega log2 63 on ülempiir, mitte keskmine. Sihtväärtus 6,2 asub sellest kõrgemal. Nii suur osa lahknevusest on fakt korpuse kohta ning ükski seeme, uuesti veeretus ega sõnade arv ei saa seda muuta.

    3. Nüüd loendage kokku tekstiosa, mille generaator tegelikult väljastas: 12 sõna esineb ühe korra, 13 kaks korda, 16 kolm korda, 10 neli korda, 7 viis korda, 2 kuus korda ja 1 sõna esineb 7 korda. Kaks summat kinnitavad, et loendus on täielik — 61 erinevat sõna, 180 tokenit — ja esimene neist on paneeli teine arv.

    4. Mõõdetud entropoopia on pistikhinnang: võetakse vaadeldud sagedused ja käsitletakse neid nii, nagu need oleksid tõenäosused. Sageduse järgi sõnade rühmitamine taandab 61-liikmelise summa 7-liikmeliseks, sest kaks 3 korda nähtud sõna annavad identse panuse.

    5. Üks kord nähtud sõnad ei anna üldse panust, kuna 1 × log2 1 = 0, seega jääb järele vaid 6 liiget.

    6. Lahutage ja see langeb kokku paneelil kuvatuga kuni viimase väljastatud numbrini.

    7. Ülejäänud 0,230 bitti jäävad mõõtmise ja ülempiiri vahele ning need on loendamise artefakt: 63 sõnast 2 ei tulnud kunagi ette ja pistikhinnang loeb ebaühtlast histogrammi nii, nagu see oleks tõde, mis hindab entropoopiat iga kord alla. Milleri–Madowi parandus korrigeerib selle esimeses järgus, kasutades tegelikult vaadeldud sõnatüüpide arvu.

    Vastus

    5,747 bitti sõna kohta ja kuvatud 0,453 on kaks omavahel seostamata asja kokku liidetuna. 0,223 sellest on sein — korpus annab 63 sõna, log2 63 = 5,9773 ja 6,2 saavutamiseks oleks vaja 26,2 = 73,5, st vähemalt 74 eri sõnaga sõnavara. Ülejäänud 0,230 ei ole teksti, vaid valimi suuruse omadus ja parandus taastab selle: 5,988 tegeliku ülempiiri 5,9773 vastu, ületades seda 0,010 võrra. Isegi selle ületamise märk on tuletatav — generaator loob 6 kandidaatteksti ja jätab alles selle, mis on mõõtmise järgi sihtmärgile kõige lähemal, ning kuna iga kandidaat jääb alla 6,2, tähendab lähima hoidmine kõige ühtlasema hoidmist. Nihkeliige väheneb kui 1/N: 1800 sõna juures on see 0,025 bitti, seega pikem tekst parandab vaikselt poole lahknevusest ja jätab teise poole täpselt sinna, kus see oli.

Allikad (2)

Näiteülesanded

  • tasakaalustatud - Tasakaalustatud kohatäitetekst mõõduka entroopia ja korratava seemnega (seed).
  • zipfi-laadne - Zipfi-taoline astaku-sageduse profiil loomuliku keele stiilis sageduse kahanemiseks.
  • markovi ahel - Markovi-režiimis tekst kohaliku järjestusmäluga ja suurema varieeruvusega.