Parametrit: samat painot voivat tehdä kaksi työtä
Parametrit (parameters) ovat mallin säädettäviä arvoja, kuten matriisialkioita ja vakiotermejä. Koulutus sovittaa ne; ajon aikana niitä tavallisesti luetaan muuttamatta niitä.
Parametrimäärä laskee tallennetut opittavat arvot, ei niiden käyttökertoja. Jaettu matriisi voi osallistua useaan operaatioon yhdellä muistivarauksella.
Sido syöte- ja ulostuloupotukset
PyTorch-malli käyttää samaa matriisia tokenivektorien hakemiseen ja piilovektorien projisointiin takaisin sanaston pisteiksi.
import torch
from torch import nn
from torch.nn import functional as F
class TiedTokenModel(nn.Module):
def __init__(self, vocabulary, width):
super().__init__()
self.tokens = nn.Embedding(vocabulary, width)
def forward(self, token_ids):
hidden = self.tokens(token_ids)
return F.linear(hidden, self.tokens.weight)
Kun sanaston koko on V ja leveys d, matriisissa on V×d parametria. Sen transpoosin käyttö ulostuloprojektiossa säästää erillisen d×V-matriisin. Molempien käyttötapojen gradientit kertyvät samoihin painoihin.
Esimerkissä ei ole kontekstia käsitteleviä kerroksia, joten se ei yksin ole hyödyllinen kielimalli. Se näyttää suuremmissa malleissa käytetyn painojen sitomisen mekanismin. Parametrimäärä kertoo silti vähän kontekstimuistista, väliaikaisista aktivaatioista tai yhden pyynnön laskentamäärästä.