CUDA Academy · Les

Afwegingen rond numerieke stabiliteit

Waar lagere precisie extra zorg vereist

Les 4 van 413 stappen

Afwegingen rond numerieke stabiliteit is een gratis CUDA Academy-les op CoddyKit. Dit is les 4 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject CUDA Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus CUDA Academy bevat in totaal 4 lessen.

Snelheid heeft een prijs

Tensor Core-berekeningen met lagere precisie zijn snel, maar minder bits betekenen afrondingsfouten. Numerieke stabiliteit is de kunst om resultaten betrouwbaar te houden. ⚖️

Wat een afrondingsfout is

Elke waarde met lage precisie wordt afgerond naar het dichtstbijzijnde getal dat kan worden weergegeven. Die kleine afrondingsfout is één keer onschadelijk, maar kan zich over veel stappen opstapelen.

Onderloop bij FP16

Door het beperkte bereik van FP16 kunnen kleine getallen naar nul vallen; dit heet onderloop. Gradiënten en kleine gewichten kunnen tijdens het trainen eenvoudig verdwijnen.

Overloop bij FP16

Hetzelfde beperkte bereik veroorzaakt overloop: een grote waarde wordt oneindig. Eén verkeerde som kan vervolgens alles wat daarna komt besmetten.

Loss scaling als oplossing

Een veelgebruikte oplossing is loss scaling: vermenigvuldig waarden vóór FP16-berekeningen zodat ze buiten het underflowgebied komen, en schaal ze daarna weer terug.

Waarom accumulatie met hogere precisie helpt

Tensor Cores accumuleren om een reden in FP32. Die bredere accumulator voorkomt dat duizenden kleine optellingen sterk gaan afwijken.

BF16 omzeilt bereikproblemen

Omdat BF16 de exponent van FP32 behoudt, treedt er zelden overflow of underflow op. De zwakte is een lagere precisie, niet een kleiner bereik.

Catastrofale annulering

Het aftrekken van twee bijna gelijke getallen wist de voorste cijfers uit; dit heet annulering. Een lage precisie maakt de overblijvende fout veel zichtbaarder.

Kritieke onderdelen in FP32 houden

Een veilige aanpak is gemengde precisie: voer de meeste vermenigvuldigingen uit in FP16 of BF16, maar houd gevoelige sommen, normen en updates in FP32.

Nauwkeurigheid altijd valideren

Ga er nooit van uit dat een snelle kernel correct is. Vergelijk deze met een FP32-referentie en controleer of de fout binnen een aanvaardbare tolerantie blijft.

De fout meten

Een eenvoudige controle is het absolute verschil met een betrouwbaar resultaat. Vergelijk deze fout met een kleine drempel die je zelf kiest.

float err = fabsf(gpu_result - cpu_result);

Snelle controle

Waarom accumuleren Tensor Cores gedeeltelijke sommen in FP32, zelfs bij FP16-invoer?

Samenvatting

Je hebt de afwegingen rond precisie geleerd: let op overflow en underflow in FP16, gebruik loss scaling en accumulatie in FP32, en valideer altijd met een referentie. 🎯

Gratis beginnen

Leer C++ met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
30
Lessen
120

Veelgestelde vragen

Is de les “Afwegingen rond numerieke stabiliteit” gratis?

Ja — de volledige tekst van “Afwegingen rond numerieke stabiliteit” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus CUDA Academy wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus CUDA Academy bevat in totaal 4 lessen.

Wat leer ik in “Afwegingen rond numerieke stabiliteit”?

Waar lagere precisie extra zorg vereist Je oefent met CUDA Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met CUDA Academy te beginnen?

Ervaring vooraf is niet nodig. CUDA Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 4 van 4.

Hoe lang duurt de les “Afwegingen rond numerieke stabiliteit”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over CUDA Academy?

Ja. Elke les over CUDA Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. Wat Tensor Cores berekenen
  2. Mixed precision: FP16, BF16, TF32
  3. De WMMA Fragment API
  4. Afwegingen rond numerieke stabiliteit
← Terug naar CUDA Academy