Hvorfor dine Tensor-Shape-fejl gemmer sig lige foran næsen på dig

Hvorfor dine Tensor-Shape-fejl gemmer sig lige foran næsen på dig

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

Hvorfor dine tensor-shape-problemer gemmer sig i fuldt dagslys

Du kender følelsen. Træningen kører. Loss-værdien falder. Tallene ser fine ud. Så, tre uger inde i produktionen, opdager nogen at modellens output er systematisk forkert – og ingen kan finde fejlen.

Skylden ligger hos en akse, som betød én ting i dit hoved, men noget helt andet i koden.

Det er ikke en kompileringsfejl. Det er ikke et crash. Det er værre: en tavs korrekthedsfejl der sidder indbygget i alle modelprædiktioner.

Problemet med notation

Her er den ubehagelige sandhed: det du ikke kan navngive, kan du ikke kontrollere.

De fleste tensor-frameworks er ligeglade med betydning. En shape som (32, 768, 12, 64) kan betyde alt fra:

  • (batch, sequence, heads, dim_per_head)
  • (batch, features, height, width)
  • (batch, tokens, layers, channels)

Compileren ser kun en tuple af tal. Så længe tallene passer sammen, er operationen gyldig. Frameworket udfører den – og låser den semantiske betydning fast i dine vægte.

Det er den usynlige fejl. Ikke forkert matematik. Forkert intention.

Hvad bedre notation kunne ændre

Tænk på en verden, hvor tensor-operationer bar deres betydning med sig gennem type-systemet. Ikke bare shapes – men navngivne dimensioner.

I stedet for at debugge hvilken akse der er hvilken, erklærer du det fra starten:

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

Nu kan compileren tjekke at:

  • Du kun broadcaster på dimensioner, der må broadcaster
  • Reduktionsoperationer slår de akser sammen, som du mener
  • Attention-heads forbliver adskilt fra feature-dimensioner
  • LayerNorm normaliserer på de rigtige akser

Compileren bliver din medpilot. Den fanger akse-fejlene før du bruger flere uger på at træne.

Omkostningerne ved tavs bugs

Overvej hvad dimensionelle bugs faktisk koster:

I forskning: Timer af statiske tests, mens man søger efter årsagen til at tallen

Read in other languages:

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