Hvorfor tensor-formene dine skjuler seg rett foran øynene dine – og hvordan bedre notasjon kan avsløre dem

Hvorfor tensor-formene dine skjuler seg rett foran øynene dine – og hvordan bedre notasjon kan avsløre dem

Mai 18, 2026 machine-learning tensor-programming type-systems compiler-design notation-and-semantics code-quality debugging

Derfor forsvinner feil i tensor-former rett foran øynene dine

Du vet den følelsen. Treningen går som den skal. Tapet synker. Tallene ser fornuftige ut. Så, tre uker senere i produksjon, oppdager noen at modellens output er systematisk feil – uten at du klarer å spore hvorfor.

Skylden ligger ofte i en enkelt akse. Den betydde én ting i hodet ditt, men koden behandlet den som noe helt annet.

Dette er ikke en kompileringsfeil. Det er ikke en krasj. Det er noe verre: en taus feil som følger med i hver eneste prediksjon.

Problemet med notasjon

Her er den ubehagelige sannheten: det du ikke kan gi navn, kan du ikke kontrollere.

De fleste tensor-rammeverk bryr seg ikke om hva dimensjonene betyr. En form som (32, 768, 12, 64) kan stå for alt mulig:

  • (batch, sequence, heads, dim_per_head) i én sammenheng
  • (batch, features, height, width) i en annen
  • (batch, tokens, layers, channels) i en tredje

Kompilatoren ser bare tall. Så lenge dimensjonene multipliseres riktig, godtar den operasjonen. Den semantiske meningen blir borte i vektene.

Dette er den usynlige feilen. Ikke feil i regnestykket – men feil etter hensikt.

Hva bedre notasjon kan gjøre

Tenkt deg at tensor-operasjoner kunne bære sin mening gjennom typesystemet. Ikke bare form – men navngitte dimensjoner.

I stedet for å måtte huske hvilke akser som er hva, kunne du definere det allerede ved opprettelse:

tensor: [batch=32, sequence=128, heads=12, dim_per_head=64]

Så kan kompilatoren sjekke at:

  • Du bare broadcaster langs dimensjoner som skal tillate det
  • Reduksjonsoperasjoner bare fjerner de aksene du egentlig mente
  • Attention-heads holdes adskilt fra feature-dimensjoner
  • LayerNorm normaliserer langs riktig akse

Kompilatoren blir en slags medhjelper. Den fanger opp akse-feil før du har trent i tre uker.

Hva slike taus feil koster

Slik påvirker dimensjonsfeil alle deler av arbeidet:

I forskning: Du kan bruke timevis på testing. Brukte du riktig hyperparameter? Er det en random seed? Eller kanskje aksene ble byttet? Og dette lar seg multiplisere med alle de mislykkede eksperimentene.

I produksjon: En modell som er litt for feil. Precisions-verdien går fra 96% til 94%.

Read in other languages:

RU BG EL CS UZ TR SV FI RO PT PL NL HU IT FR ES DE DA ZH-HANS EN