175 milliarder parametre og 45 TB træningsdata: Hvor god er GPT-3?

Foto : Ingeniøren

175 milliarder parametre og 45 TB træningsdata: Hvor god er GPT-3?

GPT-3 har læst hele internettet – nu kan det oversætte, programmere, skrive nyhedsartikler og meget mere.
De er ikke perfekte, men computere bliver bedre og bedre til at beherske sprog, og den nye, enormt store sprogmodel GPT-3 imponerer med sin fine sproglige forståelse og færdigheder – ikke mindst udi det engelske sprog.
Vil du have fuld adgang til DataTech?

DataTech skriver til dig, der arbejder professionelt med data og analytics. Vi giver dig inspirerende cases, nyheder og debat om alt fra Machine Learning-modeller til dataetik.

GPT-3 – ord og vektorer

Arkitekturen i GPT-3 er overmåde kompliceret og umulig at beskrive kortfattet. Men det følgende kan forhåbentlig være med til at give en idé om virkemåden.

For at udføre beregninger skal ord omsættes til vektorer. GPT-3 har et ordforråd på 50.257 ord. Hvert ord kan derfor beskrives med en vektor af denne dimension, hvor vektoren kun har et 1-tal, og resten er nuller. Den egenskab gør det muligt at foretage en komprimering til 12.288 parametre.

Som input tager GPT-3 på en gang op til 2.048 ord. De udgør en matrix med 2.048 rækker og 12.288 søjler. Teknisk mere korrekt er betegnelsen token, hvor en token almindeligvis er et enkelt ord, men også kan være en del af et ord.

Nøgleprocessen er attention, som fastlægger, hvilke ord i input man skal lægge vægt på for at finde output. Attention-processen er karakteriseret ved tre forskellige matricer (Q, K, V).

Først bestemmes, hvordan hvert ord i inputstrengen er knyttet til hvert af de andre ord. Det sker ved at multiplicere en query-matrix (Q) for et ord med en key-matrix (K) for hver af de andre ord. 

Resultatet ganges med en value-matrix (V), og der foretages en normalisering, så man får et samlet billede af, hvordan hvert ord er forbundet til alle de andre ord i input.

Denne proces gentages 96 gange med forskellige værdier for Q, K og V fundet under træningsprocessen. Attention-processen resulterer i en ny matrix med dimensionerne 2.048 x 12.288. Denne sendes gennem et konventionelt neuralt netværk, et såkaldt Feed Forwardlag, som også er fundet under træningen. 

Herefter skal man i princippet blot dekode output fra Feed Forward og konvertere alle vektorer med en dimension på 12.288 til vektorer med en dimension på 50.257 – det sker ved den inverse matrix-operation af den, som blev benyttet i begyndelsen.

Det giver ikke ‘rene’ vektorer med et enkelt 1-tal og resten nuller, men værdierne kan i stedet opfattes som sandsynligheder for ordene i output.

Med en række simple matrixoperationer, som omfatter 175 mia. parametre, har vi således bestemt den efterfølgende sætning. Nu kan vi tage det mest sandsynlige første ord i output og føje det til inputteksten, køre processen på ny og finde det efterfølgende ord osv.