Character-Level Decoder-Only Transformer

Generativ AI og agenter2026Generative AINLP

En liten, tegnbasert decoder-only transformer implementert i PyTorch og trent til å generere oversettelseslignende tekst.

Utfordringen

Store språkmodeller oppleves ofte som svarte bokser. Målet var å implementere de sentrale byggeklossene i en decoder-only transformer i PyTorch, trene modellen på et lite tekstdatasett og evaluere hva den faktisk genererer.

Løsningen

En tegnbasert språkmodell med deterministisk tegn-tokenisering, lærte token- og posisjonsembeddinger, flerhodet kausal selvoppmerksomhet, RMSNorm og residualblokker med feed-forward-lag, der språkmodellhodet deler vekter med token-embeddingen. Modellen trenes til å forutsi neste tegn gitt en prompt og genererer tekst autoregressivt.

Hvordan det ble bygget

Jeg implementerte modellen i PyTorch. Tekst tokeniseres deterministisk per tegn, med eksplisitte tegn-ID-tabeller som feiler tydelig på ukjente tegn. Oppmerksomheten bruker en sammenslått QKV-projeksjon og en kausal maske, i pre-norm residualblokker. Hovedkonfigurasjonen hadde seks lag, åtte oppmerksomhetshoder, modelldimensjon 256 og en kontekst på 256 tegn. Treningen er maskert autoregressiv: bare målteksten, ikke prompten, påvirker tapet. Den brukte AdamW med gradient clipping, validering, checkpointing og fast seed på tekstpar i en liten oversettelseslignende tekstoppgave. Genereringen støtter temperatur- og top-k-sampling samt beam search, og evalueringen bruker egne implementasjoner av BLEU og ROUGE-L på tegnnivå.

Resultat

I den endelige evalueringen oppnådde modellen BLEU 0,2304 og ROUGE-L 0,4407. Begge er egne tegnbaserte implementasjoner av metrikkene, målt på den lille oversettelseslignende evalueringen som hørte til prosjektet, ikke på standard språkmodell-benchmarks.

Kontekst

Tallene kan ikke sammenlignes med BLEU- og ROUGE-verdier på ord- eller tokennivå eller med resultater fra store språkmodeller. Modellen er liten og trent på et begrenset datasett; poenget er innsikt i arkitektur og treningsløp, ikke en konkurransedyktig språkmodell.

Teknologi og metoder

PythonPyTorchDecoder-only transformerKausal selvoppmerksomhetRMSNormTegn-tokeniseringAdamWTemperatur-/top-k-samplingBeam searchBLEUROUGE-L